Hddtemp (Русский)

From ArchWiki
Jump to navigation Jump to search
Состояние перевода: На этой странице представлен перевод статьи 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, неоднозначны. См. статью Persistent block device naming (Русский) для получения информации об использовании постоянных путей устройств.

Для получения дополнительной информации смотрите 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.

Твердотельные накопители

Для получения значения температуры 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