在Fedora老版本上配置了NUT,每次开机后NUT服务均能正常与UPS连接;但在将系统更新至Fedora 37后,开机后NUT服务提示无法连接UPS,会周期性在终端广播报错,如果通过upsc
指令查询UPS状态就会报错,如题图所示。
这个原因是因为在新版的nut
软件包中,对于nut-driver服务的systemd配置文件发生了变化,旧的nut-driver.service
被移除了[1],取而代之的是nut-driver-enumerator.service
,后者再去启动nut-driver@<ups_name>.service
(其中<ups_name>
为配置文件中的UPS名称)[2]。
由于原本配置时enable的是nut-driver.service
,现已不存在,而更新后nut-driver-enumerator.service
并未被enable,因此nut-driver服务没有启动,导致nut-server、upsd和upsc等组件无法连接UPS。
解决方法也很简单,执行以下命令把nut-driver-enumerator.service
启用即可:
systemctl enable --now nut-driver-enumerator.service
不得不说这个更新有点坑,但这也是系统跨版本更新时没办法的事情。
[1] https://packages.fedoraproject.org/pkgs/nut/nut/fedora-36.html
[2] https://packages.fedoraproject.org/pkgs/nut/nut/fedora-37.html