[Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade
Bill Gee
bgee at campercaver.net
Wed Nov 30 01:25:19 GMT 2022
I got it to run, but what a mess ...
Yes, I am running systemctl daemon-reload and systemctl restart
nut-server after each change I make.
I created /usr/lib/tmpfiles.d/nut-client.conf The owner is root:root
and permissions are 0644. The contents are
# State file (e.g. upsd to driver) and pidfile location for NUT:
D /var/run/nut 0770 root nut - -
X /var/run/nut
I uncommented the STATEPATH line in /etc/ups/upsd.conf.
I created a directory /var/state/ups, set to 777 permissions. Changed
the STATEPATH line in upsd.conf. No success.
I looked at /usr/lib/systemd/system/nut-driver at .service but could not
see any changes to be made. The bug report at RedHat mentions that a
file identified in ExecStartPre does not exist, but I could not duplicate.
I tried running this as root:
NUT_STATEPATH=/var/state/ups NUT_ALTPIDPATH=/var/state/ups
/usr/sbin/usbhid-ups -u nut -g nut -s cyberpower -x port=auto
And it works. I tried it with only one or the other of the two
environment variables, but did not work. It has to have both.
===============
Bill Gee
On 11/29/22 17:43, Jim Klimov wrote:
> As recently noted in the lists, this was tracked
> down to a Fedora 37 packaging bug:
> https://bugzilla.redhat.com/show_bug.cgi
> <https://bugzilla.redhat.com/show_bug.cgi>?id=2127269
>
> > The nut user does not have write permissions at /run.
> Note that /run is linked as /var/run and the nut user DOES have write
> permissions there.
>
> These two statements do not fit together :) Permissions on symlink do
> not matter, only the ultimate object's rights do (root-owned /run). The
> packaging error is that (/var)/run/nut should have been used for drivers
> and upsd, or /var/state/ups as it should also exist and be accessible to
> these. For a quick fix you can set
> Environment=NUT_ALTPIDPATH=/var/state/ups for their systemd units or
> respective custom drop-in files.
>
> Jim
>
> On Tue, Nov 29, 2022, 14:06 Bill Gee <bgee at campercaver.net
> <mailto:bgee at campercaver.net>> wrote:
>
> Yesterday I upgraded one of my systems from Fedora 36 to Fedora 37.
> NUT
> was upgraded to version 2.8.0. It no longer runs.
>
> At first I thought it was because of the XFCE Power Manager program.
> That program finds the UPS with no problem. I thought maybe the two
> programs were competing for the UPS port. I shut down the XFCE power
> manager, but that did not help NUT.
>
> Based on the diagnostics given below, I think this is a permissions
> problem at /run. The nut user does not have write permissions at /run.
> Note that /run is linked as /var/run and the nut user DOES have write
> permissions there.
>
> How can I correct this?
>
> =======================================
> [root at mythtv ups]# systemctl status nut-server
> nut-server.service - Network UPS Tools - power devices information
> server
> Loaded: loaded (/usr/lib/systemd/system/nut-server.service;
> enabled; preset: disabled)
> Active: active (running) since Tue 2022-11-29 06:18:13 CST;
> 19min ago
> Main PID: 11908 (upsd)
> Tasks: 1 (limit: 9482)
> Memory: 736.0K
> CPU: 27ms
> CGroup: /system.slice/nut-server.service
> └─11908 /usr/sbin/upsd -F
>
> Nov 29 06:18:13 mythtv.billgee.local upsd[11908]: Can't connect to UPS
> [cyberpower] (usbhid-ups-cyberpower): No such fi>
> Nov 29 06:18:13 mythtv.billgee.local nut-server[11908]: Can't
> connect to
> UPS [cyberpower] (usbhid-ups-cyberpower): No s>
> Nov 29 06:18:13 mythtv.billgee.local nut-server[11908]: Running as
> foreground process, not saving a PID file
> Nov 29 06:18:13 mythtv.billgee.local upsd[11908]: Running as foreground
> process, not saving a PID file
> Nov 29 06:23:13 mythtv.billgee.local nut-server[11908]: Can't
> connect to
> UPS [cyberpower] (usbhid-ups-cyberpower): No such file or directory>
> Nov 29 06:23:13 mythtv.billgee.local upsd[11908]: Can't connect to UPS
> [cyberpower] (usbhid-ups-cyberpower): No such file or directory>
>
> [root at mythtv ups]# usbhid-ups -a cyberpower
> Network UPS Tools - Generic HID driver 0.47 (2.8.0)
> USB communication driver (libusb 1.0) 0.43
> writepid: fopen /var/run/usbhid-ups-cyberpower.pid: Permission denied
> Using subdriver: CyberPower HID 0.6
> cps_adjust_battery_scale: battery readings will be scaled by 2/3
>
> Fatal error: unable to create listener socket
>
> bind /var/run/usbhid-ups-cyberpower failed: Permission denied
>
> Exiting.
>
> [root at mythtv ups]# ll /var/run/usb*
> ls: cannot access '/var/run/usb*': No such file or directory
>
> [root at mythtv ups]# ll -d /var/run
> lrwxrwxrwx. 1 root root 6 Aug 31 2014 /var/run -> ../run
>
> [root at mythtv ups]# ll -d /run
> drwxr-xr-x 55 root root 1500 Nov 28 08:22 /run
>
> [root at mythtv ups]# tail /etc/ups/ups.conf
> [cyberpower]
> driver=usbhid-ups
> desc="CyberPower CP1500"
> port=auto
> vendorid=0764
> ==================================================
>
>
> Thanks!
> --
> ===============
> Bill Gee
>
> _______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at alioth-lists.debian.net
> <mailto:Nut-upsuser at alioth-lists.debian.net>
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
> <https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser>
>
More information about the Nut-upsuser
mailing list