[Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade

Jim Klimov jimklimov+nut at gmail.com
Wed Nov 30 08:05:33 GMT 2022


FWIW, just checked: `git grep nut-client` does not return anything related
to systemd, so that typo gotta be Fedora's invention ;)

In-source there is only nut-common.tmpfiles handling.

Jim

On Wed, Nov 30, 2022 at 8:20 AM Simon Wilson via Nut-upsuser <
nut-upsuser at alioth-lists.debian.net> wrote:

> ----- Message from Bill Gee <bgee at campercaver.net> ---------
>     Date: Tue, 29 Nov 2022 19:25:19 -0600
>     From: Bill Gee <bgee at campercaver.net>
> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade
>       To: Jim Klimov <jimklimov+nut at gmail.com>
>       Cc: Arnaud Quette via Nut-upsuser <
> nut-upsuser at alioth-lists.debian.net>
>
>
> > 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.
> >
>
> Hi Bill,
>
> Drivers and upsd share defaults (see 'man nutupsdrv').
>
> Your original error message ("writepid: fopen
> /var/run/usbhid-ups-cyberpower.pid: Permission denied") would seem to
> indicate, same as the Red Hat bug, that your driver's default pid path
> is /var/run.
>
> The driver by default uses STATEPATH (which can be over-ridden in
> upsd.conf) to store pid files. The driver .service file is supposed to
> make sure that path exists by running the ExecStartPre line, which
> gets its instructions from the referenced ".conf" file from
> /usr/lib/tmpfiles.d. The .service file then calls 'upsdrvctl start' to
> start your usbhid-ups driver, as defined in ups.conf. Those all need
> to align...
>
> 2 x questions:
>
> 1. Without its comments, what are the active lines (as installed,
> without any changes) in /usr/lib/systemd/system/nut-driver at .service
> (or wherever that service file is located on your system)?
> 2. in your upsd.conf (also as installed, without any changes), what is
> the commented out STATEPATH you later mention uncommenting?
>
> > 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>
> >>
> >
> > _______________________________________________
> > Nut-upsuser mailing list
> > Nut-upsuser at alioth-lists.debian.net
> > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
>
>
> ----- End message from Bill Gee <bgee at campercaver.net> -----
>
>
>
> --
> Simon Wilson
> M: 0400 12 11 16
>
>
> _______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20221130/95e9381a/attachment-0001.htm>


More information about the Nut-upsuser mailing list