Hddtemp (Русский)

From ArchWiki
Revision as of 01:25, 12 September 2019 by Masterslave (talk | contribs) (Sync with English version)
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, неоднозначны. Рекомендуется использовать явные пути.

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