Difference between revisions of "Hddtemp (Русский)"

From ArchWiki
Jump to navigation Jump to search
m (change category)
(Sync with English version)
Line 5: Line 5:
 
{{Related articles start (Русский)}}
 
{{Related articles start (Русский)}}
 
{{Related|lm sensors (Русский)}}
 
{{Related|lm sensors (Русский)}}
 +
{{Related|Conky (Русский)}}
 
{{Related articles end}}
 
{{Related articles end}}
 +
{{TranslationStatus (Русский)|Hddtemp|12 сентября 2019|582016}}
 
{{Unmaintained (Русский)}}
 
{{Unmaintained (Русский)}}
[https://savannah.nongnu.org/projects/hddtemp/ hddtemp] это небольшая утилита (включающая в состав службу), позволяющая узнать температуру жесткого диска посредством S.M.A.R.T. (для устройств, поддерживающих эту технологию).
+
[https://savannah.nongnu.org/projects/hddtemp/ hddtemp] это небольшая утилита (включающая в состав службу), позволяющая узнать температуру жесткого диска посредством [[S.M.A.R.T.]] (для дисков, поддерживающих эту технологию).
  
 
== Установка ==
 
== Установка ==
  
[[Установите]] пакет {{Pkg|hddtemp}}, доступный в [[официальных репозиториях]].
+
[[Установите]] пакет {{Pkg|hddtemp}}, который доступен в [[официальных репозиториях]].
  
 
== Использование ==
 
== Использование ==
  
Hddtemp требует привилегий суперпользователя. Команда {{ic|hddtemp}} должна сопровождаться указанием как минимум одного физического устройства или нескольких, разделяемых пробелами. Например:
+
Hddtemp требует привилегий суперпользователя. Команда {{ic|hddtemp}} требует указания как минимум одного физического устройства или нескольких, разделённых пробелами. Например:
  
  # hddtemp /dev/sd''a'' /dev/sd''b'' ... /dev/sd''z''
+
  # hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sd''X2'' ... /dev/sd''Xn''
  
== Служба ==
+
{{Примечание| Названия блочных устройств в {{ic|/dev/}}, подобно {{ic|/dev/sdX}}, неоднозначны. Рекомендуется использовать [[Persistent block device naming (Русский)| явные пути]].
 +
}}
 +
 
 +
Для получения дополнительной информации смотрите man-страницу:
  
Запуск службы позволит получить информацию о температуре по TCP/IP, использовать, например, со скриптами.
+
$ man hddtemp
  
Эта служба [[Systemd (Русский)#Использование юнитов|контролируется]] {{ic|hddtemp.service}}.
+
== Служба ==
  
{{Примечание|1=аргументы {{ic|hddtemp}} указаны в файле юнита {{ic|/usr/lib/systemd/system/hddtemp.service}}. Это особенно важно при использовании нескольких дисков,так как по умолчанию включено отслеживание только для {{ic|/dev/sda}}. Измените {{ic|ExecStart}}, [[Systemd (Русский)#Редактирование предоставленных пакетами файлов юнитов|отредактировав]] {{ic|hddtemp.service}}:
+
Запуск службы позволит получать информацию о температуре по TCP/IP обычному пользователю. Это может быть полезно для использования скриптов или систем мониторинга.
  
* Создайте каталог в {{ic|/etc/systemd/system}}:
+
Служба [[Systemd (Русский)#Использование юнитов|контролируется]] {{ic|hddtemp.service}}.
# mkdir /etc/systemd/system/hddtemp.service.d
 
* Создайте файл {{ic|customexec.conf}}, в котором понадобится указать физические диски для отслеживания, например:
 
{{hc|/etc/systemd/system/hddtemp.service.d/customexec.conf|2=
 
[Service]
 
ExecStart=
 
ExecStart=/usr/bin/hddtemp -dF /dev/sda /dev/sdb /dev/sdc
 
}}
 
Вы также можете использовать [https://github.com/AndyCrowd/auto-generate-configuration-files/blob/master/gen-customexec.conf-hddtemp.sh скрипт автоматического создания], который при помощи {{Pkg|smartmontools}} обнаруживает все жесткие диски, поддерживаемые {{Pkg|hddtemp}}; в результате чего сгенерированный шаблон файла {{ic|customexec.conf}} будет отображаться в стандартном выводе.
 
* [[Перезагрузите systemd]].
 
* [[Перезапустите]] службу {{ic|hddtemp}}.
 
}}
 
  
 
Чтобы получить информацию о температуре, подключитесь к серверу со включеной службой, которая прослушивает порт 7634.
 
Чтобы получить информацию о температуре, подключитесь к серверу со включеной службой, которая прослушивает порт 7634.
  
Посредством {{pkg|inetutils}}:
+
С помощью {{pkg|inetutils}}:
  
 
  $ telnet localhost 7634
 
  $ telnet localhost 7634
  
Посредством {{pkg|gnu-netcat}}:
+
С помощью {{pkg|gnu-netcat}}:
  
 
  $ nc localhost 7634
 
  $ nc localhost 7634
Line 59: Line 53:
 
/dev/sdb 36 C}}
 
/dev/sdb 36 C}}
  
Для получения дополнительной информации смотрите man-страницу:
+
=== Изменить предопредёленный диск ===
 +
 
 +
По умолчанию служба hddtemp отслеживает только {{ic|/dev/sda}}. Если у вас несколько дисков, то вам потребуется [[Systemd_(Русский)#Редактирование предоставленных пакетами файлов юнитов|переопределить]] стандартную конфигурацию мониторинга.
 +
 
 +
Необходимо предварительно узнать, какие жесткие дискаи поддерживают мониторинг. Для этого вы можете воспользоваться {{Pkg|smartmontools}}.
 +
 
 +
Сначала запустите команду ниже, которая откроет ваш стандартный текстовый редактор:
 +
# systemctl edit hddtemp.service
 +
 
 +
Добавьте следующий текст:
 +
{{hc|/etc/systemd/system/hddtemp.service.d/<temp file>|2=
 +
[Service]
 +
ExecStart=
 +
ExecStart=/usr/bin/hddtemp --daemon --foreground /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdb --listen=127.0.0.1
 +
}}
 +
 
 +
Измените название устройств, которые вы хотите отслеживать.
 +
 
 +
После редактирования сохранитесь и выйдите из текстового редактора. ''systemd'' автоматически применит изменения и перезагрузит службу {{ic|hddtemp}}.
  
$ man hddtemp
+
Вы также можете использовать скрипт [https://github.com/AndyCrowd/auto-generate-configuration-files/blob/master/gen-customexec.conf-hddtemp.sh auto-generate], который определит поддерживаемые жесткие диски с помощью {{Pkg|smartmontools}} и напечатает результат в стандартный поток вывода.
  
 
== Мониторинг ==
 
== Мониторинг ==
  
Hddtemp может быть встроен в [[List_of_applications (Русский)#Состояние системы|различные системы мониторинга]].
+
Hddtemp может быть встроен в [[List_of_applications (Русский)#Состояние системы|различные системы мониторинга]]. [[Conky_(Русский)|Conky]] также собран с поддержкой hddtemp в режиме демона. Вам нужно просто добавить {{ic|$hddtemp °C}} в ваш конфигурационный файл conky.
  
 
== Solid State Drives ==
 
== Solid State Drives ==
  
Для получения значения температуры Hddtemp обычно считывает поле {{ic|194}} данных S.M.A.R.T. жесткого диска. В SSD накопителях информация о температуре обычно хранится в поле {{ic|190}}. Можно посмотреть этот параметр, выполнив следующие команды:
+
Для получения значения температуры hddtemp обычно считывает поле {{ic|194}} данных S.M.A.R.T. жесткого диска. В SSD накопителях информация о температуре обычно хранится в поле {{ic|190}}. Можно посмотреть этот параметр, выполнив следующие команды:
  
 
  $ smartctl -a /dev/sdX
 
  $ smartctl -a /dev/sdX
Line 75: Line 87:
 
  $ hddtemp --debug /dev/sdX
 
  $ hddtemp --debug /dev/sdX
  
Другой способ - вручную обновить базу данных hddtemp, указав требуемый накопитель с параметрами поля и единицы измерения в {{ic|/usr/share/hddtemp/hddtemp.db}}. Например:
+
где X - буква диска (например a,b,c...). Воспользуйтесь {{ic|lsblk}} для проверки.
 +
 
 +
Другой способ - внести запись в базу данных hddtemp, указав требуемый накопитель с параметрами поля и единицы измерения в {{ic|/usr/share/hddtemp/hddtemp.db}}. Например:
  
 
  $ echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /usr/share/hddtemp/hddtemp.db
 
  $ echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /usr/share/hddtemp/hddtemp.db

Revision as of 01:25, 12 September 2019

Состояние перевода: На этой странице представлен перевод статьи Hddtemp. Дата последней синхронизации: 12 сентября 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

hddtemp это небольшая утилита (включающая в состав службу), позволяющая узнать температуру жесткого диска посредством S.M.A.R.T. (для дисков, поддерживающих эту технологию).

Установка

Установите пакет hddtemp, который доступен в официальных репозиториях.

Использование

Hddtemp требует привилегий суперпользователя. Команда hddtemp требует указания как минимум одного физического устройства или нескольких, разделённых пробелами. Например:

# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdX2 ... /dev/sdXn
Примечание: Названия блочных устройств в /dev/, подобно /dev/sdX, неоднозначны. Рекомендуется использовать явные пути.

Для получения дополнительной информации смотрите man-страницу:

$ man hddtemp

Служба

Запуск службы позволит получать информацию о температуре по TCP/IP обычному пользователю. Это может быть полезно для использования скриптов или систем мониторинга.

Служба контролируется hddtemp.service.

Чтобы получить информацию о температуре, подключитесь к серверу со включеной службой, которая прослушивает порт 7634.

С помощью inetutils:

$ telnet localhost 7634

С помощью gnu-netcat:

$ nc localhost 7634

Вывод будет примерно следующий:

|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C|

Более читаемый вариант:

$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'
/dev/sda 32 C 
/dev/sdb 36 C

Изменить предопредёленный диск

По умолчанию служба hddtemp отслеживает только /dev/sda. Если у вас несколько дисков, то вам потребуется переопределить стандартную конфигурацию мониторинга.

Необходимо предварительно узнать, какие жесткие дискаи поддерживают мониторинг. Для этого вы можете воспользоваться smartmontools.

Сначала запустите команду ниже, которая откроет ваш стандартный текстовый редактор:

# systemctl edit hddtemp.service

Добавьте следующий текст:

/etc/systemd/system/hddtemp.service.d/<temp file>
[Service]
ExecStart=
ExecStart=/usr/bin/hddtemp --daemon --foreground /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdb --listen=127.0.0.1

Измените название устройств, которые вы хотите отслеживать.

После редактирования сохранитесь и выйдите из текстового редактора. systemd автоматически применит изменения и перезагрузит службу hddtemp.

Вы также можете использовать скрипт auto-generate, который определит поддерживаемые жесткие диски с помощью smartmontools и напечатает результат в стандартный поток вывода.

Мониторинг

Hddtemp может быть встроен в различные системы мониторинга. Conky также собран с поддержкой hddtemp в режиме демона. Вам нужно просто добавить $hddtemp °C в ваш конфигурационный файл conky.

Solid State Drives

Для получения значения температуры hddtemp обычно считывает поле 194 данных S.M.A.R.T. жесткого диска. В SSD накопителях информация о температуре обычно хранится в поле 190. Можно посмотреть этот параметр, выполнив следующие команды:

$ smartctl -a /dev/sdX

или

$ hddtemp --debug /dev/sdX

где X - буква диска (например a,b,c...). Воспользуйтесь lsblk для проверки.

Другой способ - внести запись в базу данных hddtemp, указав требуемый накопитель с параметрами поля и единицы измерения в /usr/share/hddtemp/hddtemp.db. Например:

$ echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /usr/share/hddtemp/hddtemp.db