Hddtemp

De ArchwikiFR


Hddtemp est un petit utilitaire (il peut être démonisé) qui donne la température des disques durs par l'intermédiaire d'un attribut S.M.A.R.T. (le numéro 194). Toutefois attention, certains disques durs ne supportent pas le S.M.A.R.T., et il arrive que, même si le S.M.A.R.T. est disponible, il n'y ait pas de capteur de température.

Installation

Installation à partir des dépôts avec pacman :

pacman -S hddtemp

Utilisation

Hddtemp peut vous informer de la température de votre disque dur avec cette commande :

hddtemp /dev/sdX

X est la lettre du disque dur.

Ou pour afficher uniquement la température, sans afficher le modèle du disque dur :

hddtemp /dev/sdX -n

Service

Lancer le démon offre la possibilité d'accéder à la température via une requête TCP/IP, donc vous pouvez l'utiliser pour vérifier la température depuis l'extérieur, ou bien à partir d'un script.

Configuration de base avec systemd

Pour lancer le démon avec systemctl, il suffit de faire :

systemctl start hddtemp

On peut aussi automatiser le démarrage de ce démon avec :

systemctl enable hddtemp

Modification de la configuration du service

Attention : Le fichier de configuration /etc/conf.d/hddtemp n'est plus utilisé. Il doit être supprimé

Il est nécessaire de changer les paramètres qui seront appelés automatiquement par le service de hddtemp en modifiant ce dernier. On doit copier le service dans /etc/systemd/system/ :

cp /usr/lib/systemd/system/hddtemp.service /etc/systemd/system/

Puis le modifier, par exemple si l'on veut surveiller la température de /dev/sda et /dev/sdb

Fichier: /etc/systemd/system/hddtemp.service
[Unit]
Description=Hard drive temperature monitor daemon

[Service]
ExecStart=/usr/bin/hddtemp -d -F -u C /dev/sda /dev/sdb

[Install]
WantedBy=multi-user.target

Ou encore, si on désire changer de port :

ExecStart=/usr/bin/hddtemp -d -F -p XXXX -u C /dev/sda

XXXX est le port.

Pour plus de détail sur les arguments à passer à hddtemp

man hddtemp

Utilisation

Par défaut, le démon utilise le port 7634. On peut obtenir la température grâce à deux commandes :

Avec telnet :

telnet localhost 7634

Ou avec netcat :

netcat localhost 7634

La sortie ressemble à ceci pour un seul disque dur :

|/dev/sda|ST9500325AS|36|C|

Pour 2 disques durs :

|/dev/sda|NomDisqueDur1|36|C||/dev/sdb|NomDisqueDur2|37|C|

Pour plus d'informations, telles quels sont les disques durs supportés, etc... Vous pouvez voir la page du manuel avec la commande :

man hddtemp

Moniteurs système

Hddtemp peut être facilement intégré avec des moniteurs système comme : Conky; sensors-applet, pour le panel de GNOME; xfce4-sensors-plugin, pour le panel de Xcfe.

Astuce

L'inconvénient de telnet et netcat, c'est le formatage de la sortie. Il existe bien entendu des moyens de faire quelque chose à votre sauce, comme par exemple :

netcat localhost 7634 | sed -r "s#\|/dev/(sd[a-z])\|[^|]+\|([0-9NOS]+)\|[*C]\|#HDDTEMP_\\1=\\2\n#g"

Qui donne :

HDDTEMP_sda=36
HDDTEMP_sdb=37

Voir ce message sur le forum pour en savoir davantage.