Hddtemp (Русский)

From ArchWiki
Jump to: navigation, search

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

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

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

Установка

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

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

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

# hddtemp /dev/sda /dev/sdb ... /dev/sdz

Служба

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

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

Примечание: аргументы hddtemp указаны в файле юнита /usr/lib/systemd/system/hddtemp.service. Это особенно важно при использовании нескольких дисков,так как по умолчанию включено отслеживание только для /dev/sda. Измените ExecStart, отредактировав hddtemp.service:
  • Создайте каталог в /etc/systemd/system:
# mkdir /etc/systemd/system/hddtemp.service.d
  • Создайте файл customexec.conf, в котором понадобится указать физические диски для отслеживания, например:
/etc/systemd/system/hddtemp.service.d/customexec.conf
[Service]
ExecStart=
ExecStart=/usr/bin/hddtemp -dF /dev/sda /dev/sdb /dev/sdc

Вы также можете использовать скрипт автоматического создания, который при помощи smartmontools обнаруживает все жесткие диски, поддерживаемые hddtemp; в результате чего сгенерированный шаблон файла customexec.conf будет отображаться в стандартном выводе.

Чтобы получить информацию о температуре, подключитесь к серверу со включеной службой, которая прослушивает порт 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

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

$ man hddtemp

Мониторинг

Hddtemp может быть встроен в различные системы мониторинга.

Solid State Drives

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

$ smartctl -a /dev/sdX

или

$ hddtemp --debug /dev/sdX

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

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