Hddtemp - Arch Linux 中文维基

跳转到内容

# Hddtemp

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Hddtemp，最近一次同步于 2022-11-20，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- lm_sensors
- Conky

Hddtemp 是一个小工具（有守护进程），通过 S.M.A.R.T.（对于支持该功能的驱动器）提供硬盘温度。

提示：访问驱动器温度的一个更通用的选项是 Linux 监测传感器，因为它也处理其他数据。

## 安装

安装 hddtemp包。

## 使用

Hddtemp 需要根用户权限。命令 `hddtemp` 后面必须至少有一个驱动器的位置。你可以列出几个用空格分隔的驱动器。

    # hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdX2 ... /dev/sdXn

注意：`/dev/`下的块设备命名，如`/dev/sdX`，是不一致的。更多信息请参见持久化块设备命名。

更多使用信息见 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 脚本，它会使用 {{pkg|smartmontools} 检测支持的硬盘，并打印到标准输出文件。

## 监控器

Hddtemp 可以与系统监视器集成。Conky 在守护进程模式中已内置对 Hddtemp 的支持。只需启用 `hddtemp.service` 并将`$hddtemp ℃` 添加到 Conky 配置文件。

## 固态硬盘

Hddtemp 通常从驱动器的智能数据中读取字段`194`。在固态硬盘中，温度信息通常存储在`190`字段。要获取这些信息，可以运行：

    # smartctl --all /dev/sdx

或

    # hddtemp --debug /dev/sdx

其中 `/dev/sdx` 是驱动器（使用 lsblk 来检查）。

或者在 `/etc/hddtemp.db` 中添加新条目。例如：

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

分类：​

- 系统监视器

Hddtemp
添加话题