ドライブデータベース
SMARTの温度データの属性IDは、ストレージによって異なります。もし温度が取得できない場合は、ドライブデータベースを編集することで温度を取得できるようになります。
現在のドライブデータベースを表示する
端末から以下のコマンドを実行します。sudo hddtemp -b
ドライブデータベースについて
ドライブデータベースは「/etc/hddtemp.db」です。中身はテキストファイルなので、テキストエディターで開いて編集することができます。
各行は4つの要素で成り立っており、以下のフォーマットになっています。
"ストレージのモデル名" SMARTの属性ID 温度の単位 "ストレージ名"
ストレージのモデル名
ストレージのモデル名を正規表現で指定します。SMARTの属性ID
SMARTの属性IDを指定します。SMARTの属性IDはストレージのデータシートを参照すると良いでしょう。
0を指定すると、温度情報の取得をサポートしていないという意味になります。
温度の単位
温度の単位です。C(摂氏)かF(華氏)を指定します。
ストレージ名
分かりやすいストレージ名を入力しておくと良いでしょう。hddtempデーモン
hddtempはデーモンとして動作させることができ、ネットワーク経由で温度情報の受け渡しが可能になります。hddtempデーモンから情報を取得する
hddtempデーモンから情報を取得してみます。hddtempデーモンの設定は、インストール時にデフォルトで設定しています。
端末を起動し、以下のコマンドを実行します。
netcat localhost 7634
以下のように表示されます。
|/dev/sda|WDC WD20EARS-00MVWB0|14|C||/dev/sdb|ST9160821AS|16|C||/dev/sdc|WDC WD20EARS-00MVWB0|18|C||/dev/sdd|ST9160821AS|16|C|
見ての通り各項目は「|」によって区切られています。
デーモンの設定ファイル
デーモンの設定ファイルは、「/etc/default/hddtemp」です。区切り文字を指定する
デフォルトの区切り文字は「|」ですが、設定ファイルで「-s」オプションを指定すると区切り文字を指定することができます。以下のように記述してみます。
# Other options to pass to hddtemp
OPTIONS="-s ;"
以下のように区切り文字が「;」に変更されます。
;/dev/sda;WDC WD20EARS-00MVWB0;15;C;;/dev/sdb;ST9160821AS;15;C;;/dev/sdc;WDC WD20EARS-00MVWB0;18;C;;/dev/sdd;ST9160821AS;16;C;
ただし、「|」を前提としているアプリがあり、区切り文字を変更すると動作しなくなるため注意が必要です。