「Hddtemp」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
imported>Masterslave
(added interlanguage link to Russian page)
 
(他言語へのリンクを追加)
 
(2人の利用者による、間の5版が非表示)
1行目: 1行目:
[[Category:状態監視と通知]]
+
[[Category:システムモニタ]]
 
[[en:Hddtemp]]
 
[[en:Hddtemp]]
  +
[[fr:Hddtemp]]
 
[[ru:Hddtemp]]
 
[[ru:Hddtemp]]
  +
[[zh-hans:Hddtemp]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related2|lm sensors|lm sensors}}
+
{{Related|lm sensors}}
 
{{Related articles end}}
 
{{Related articles end}}
[https://savannah.nongnu.org/projects/hddtemp/ hddtemp] は S.M.A.R.T. によって (この機能をサポートしているドライブで) ハードドライブの温度を得ることができる小さなユーティリティです (デーモン付き)
+
[https://savannah.nongnu.org/projects/hddtemp/ hddtemp] は [[S.M.A.R.T.]] によって (この機能をサポートしているドライブで) ハードドライブの温度を得ることができる小さなユーティリティです (デーモン付き)
  +
  +
{{Tip|ドライブの温度にアクセスするためのより汎用性の高いオプションは [[lm_sensors]] で、他のデータも処理します。}}
   
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]から {{Pkg|hddtemp}} を[[インストール]]して下さい。
+
{{Pkg|hddtemp}} パッケージを[[インストール]]して下さい。
   
 
== 使用方法 ==
 
== 使用方法 ==
   
Hddtemp は root 権限必要とします。{{ic|hddtemp}} コマンドには少なくとも1つのドライブの場所を指定する必要があり複数のディレクトリ指定するときはスペースで区切ます:
+
Hddtemp [[ユーザーとグループ#概要|Root user]] 権限必要す。{{ic|hddtemp}} コマンドの後には少なくとも 1 つのドライブの場所を指定する必要があります。複数のドライブをスペースで区切ってリストできます
   
# hddtemp /dev/sd''X1'' /dev/sd''X2'' ... /dev/sd''Xn''
+
# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sd''X2'' ... /dev/sd''Xn''
   
  +
{{Note|{{ic|/dev/sdX}} など、{{ic|/dev/}} のブロックデバイスの名前が一貫していません。詳細については、[[永続的なブロックデバイスの命名]] を参照してください。
== デーモン ==
 
  +
}}
   
  +
使用方法の詳細については、{{man|8|hddtemp}} を参照してください。
デーモンを実行することで TCP/IP を介して温度にアクセスすることができ、スクリプトなどで利用できます。
 
   
  +
== デーモン ==
このデーモンは {{ic|hddtemp.service}} で[[systemd#ユニットを使う|制御]]します。
 
   
  +
デーモンを実行すると、通常のユーザーとして TCP/IP 経由で温度情報にアクセスできるようになります。これは、スクリプトやシステムモニタリングに役立ちます。
{{Note|1={{ic|hddtemp}} への引数は {{ic|/usr/lib/systemd/system/hddtemp.service}} で直接指定します。デフォルトの設定では {{ic|/dev/sda}} しか監視しないので、複数のディスクがある場合に特に重要です。{{ic|ExecStart}} を変更して {{ic|hddtemp.service}} を[[Systemd#ユニットファイルの編集|上書き]]して下さい:
 
   
  +
デーモンは、{{ic|hddtemp.service}} で [[systemd#ユニットを使う|制御]] します。
* {{ic|/etc/systemd/system}} にディレクトリを作成:
 
# mkdir /etc/systemd/system/hddtemp.service.d
 
* その中に {{ic|customexec.conf}} を作成して監視したいドライブを追加、例:
 
{{hc|/etc/systemd/system/hddtemp.service.d/customexec.conf|2=
 
[Service]
 
ExecStart=
 
ExecStart=/usr/bin/hddtemp -dF /dev/sda /dev/sdb /dev/sdc
 
}}
 
[https://github.com/AndyCrowd/auto-generate-configuration-files/blob/master/gen-customexec.conf-hddtemp.sh auto-generate] スクリプトを使って {{Pkg|smartmontools}} により {{Pkg|hddtemp}} でサポートされているハードドライブを全て検出して標準出力で {{ic|customexec.conf}} パターンファイルを生成することもできます。
 
* systemd のユニットファイルを再読み込み:
 
# systemctl --system daemon-reload
 
* hddtemp サービスを再起動:
 
{{bc|# systemctl restart hddtemp}}
 
}}
 
   
温度を取得するには、ポート 7634 で待機しているデーモンに接続します。{{pkg|inetutils}} を使用:
+
温度を取得するには、ポート 7634 をリッスンするデーモンに接続します。
   
  +
{{pkg|inetutils}} を使用する場合:
 
$ telnet localhost 7634
 
$ telnet localhost 7634
   
{{pkg|gnu-netcat}} を使用:
+
{{pkg|gnu-netcat}} の場合:
 
 
$ nc localhost 7634
 
$ nc localhost 7634
   
どちらも同じような出力がされます:
+
どちらの出力次のようます
   
 
|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C|
 
|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C|
   
見た目が良い統計をるには:
+
統計をより見やすくするには:
   
 
{{hc|<nowiki>$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'</nowiki>|/dev/sda 32 C
 
{{hc|<nowiki>$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'</nowiki>|/dev/sda 32 C
 
/dev/sdb 36 C}}
 
/dev/sdb 36 C}}
   
  +
=== デフォルトのディスクを上書きする ===
詳しくは manpage を参照して下さい:
 
   
  +
デフォルトの Hddtemp デーモンは、{{ic|/dev/sda}} のみを監視します。複数のディスクがある場合は、それらを監視するためにデフォルトの設定を [[systemd#ユニットファイルの編集|上書き]] する必要があります。
$ man hddtemp
 
  +
  +
どのハードドライブが監視をサポートしているかを知る必要がある場合は、{{pkg|smartmontools}} で確認できます。{{ic|hddtemp.service}} を [[編集]] します:
  +
  +
[Service]
  +
ExecStart=
  +
ExecStart=/usr/bin/hddtemp --daemon --foreground /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdb --listen=127.0.0.1
  +
  +
デバイス名を監視したいデバイス名に変更します。
  +
  +
編集後、ファイルを保存してエディタを終了します。[[Systemd]] は変更を適用し、{{ic|hddtemp}} サービスを自動的にリロードします。
  +
  +
[https://github.com/AndyCrowd/auto-generate-configuration-files/blob/master/gen-customexec.conf-hddtemp.sh auto-generate] スクリプトを使用することもできます。これにより、{{pkg|smartmontools}} を使用してサポートされているハードドライブを検出し、stdout に出力することもできます。
   
 
== モニター ==
 
== モニター ==
   
Hddtemp は[[List_of_Applications#システム監視|システムモニター]]統合させることができます。
+
Hddtemp は [[アプリケーション一覧#システム監視|システムモニター]]統合できます。[[Conky]] には、デーモンモードでの Hddtemp のサポートが組み込まれています。{{ic|hddtemp.service}} を [[有効化]] して、Conky 設定ファイルに {{ic|$hddtemp °C}} を追加するだけです。
  +
  +
== ソリッドステートドライブ ==
  +
  +
通常 Hddtemp はドライブのスマートデータからフィールド {{ic|194}} を読み取ります。SSD では基本的に温度情報はフィールド {{ic|190}} に保存されています。この情報を取得するには、次のコマンドを実行します。:
  +
  +
# smartctl --all /dev/sd''x''
  +
または:
  +
# hddtemp --debug /dev/sd''x''
  +
  +
X はドライブ文字に置き換えてください (例: a,b,c...)。ドライブ文字は [[lsblk]] で確認できます。
  +
  +
また、{{ic|/usr/share/hddtemp/hddtemp.db}} に新しいエントリを追加することも可能です。例:
  +
  +
# echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db

2024年4月11日 (木) 00:20時点における最新版

関連記事

hddtempS.M.A.R.T. によって (この機能をサポートしているドライブで) ハードドライブの温度を得ることができる小さなユーティリティです (デーモン付き)

ヒント: ドライブの温度にアクセスするためのより汎用性の高いオプションは lm_sensors で、他のデータも処理します。

インストール

hddtemp パッケージをインストールして下さい。

使用方法

Hddtemp には Root user 権限が必要です。hddtemp コマンドの後には、少なくとも 1 つのドライブの場所を指定する必要があります。複数のドライブをスペースで区切ってリストできます。

# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdX2 ... /dev/sdXn
ノート: /dev/sdX など、/dev/ のブロックデバイスの名前が一貫していません。詳細については、永続的なブロックデバイスの命名 を参照してください。

使用方法の詳細については、hddtemp(8) を参照してください。

デーモン

デーモンを実行すると、通常のユーザーとして 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 で確認できます。hddtemp.service編集 します:

[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 を使用してサポートされているハードドライブを検出し、stdout に出力することもできます。

モニター

Hddtemp は システムモニター と統合できます。Conky には、デーモンモードでの Hddtemp のサポートが組み込まれています。hddtemp.service有効化 して、Conky 設定ファイルに $hddtemp °C を追加するだけです。

ソリッドステートドライブ

通常 Hddtemp はドライブのスマートデータからフィールド 194 を読み取ります。SSD では基本的に温度情報はフィールド 190 に保存されています。この情報を取得するには、次のコマンドを実行します。:

# smartctl --all /dev/sdx

または:

# hddtemp --debug /dev/sdx

X はドライブ文字に置き換えてください (例: a,b,c...)。ドライブ文字は lsblk で確認できます。

また、/usr/share/hddtemp/hddtemp.db に新しいエントリを追加することも可能です。例:

# echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db