Bruce Pleat
2024-Feb-19 03:18 UTC
[Nut-upsuser] Compile/Package / Config/Run 2.8.1 / Raspberry / UPS
I'm trying to Compile/Package and then (on a different box) Config/Run 2.8.1. Both boxes are Raspberry Pi 4b on Bullseye with a generic USB UPS. -- I'm trying to get nut running on my Raspberry (bullseye/11). (I'd also love to share a working 2.8.1 for Raspberry with the world, but...) I compiled the latest code from git: version 2.8.1-774-g963abbd87 I compiled it on one system that does NOT have a UPS, to "package" for my three other UPS-monitoring systems. Here's the general history/steps. (Note: In some places, I did repeat prior steps in different orders, but did not take detailed notes of every last diagnostic effort...) (Note: Anywhere I put a semicolon, I did each command separately, but am simplifying here) (Note: For each step, I can cite where I found it if desired) [The next four are just general info, not specific to this build] [Installed VS Code on my RPi 4 - 8GB if relevant] [Changed "disable-hardware-acceleration": true] [Git clone: https://github.com/networkupstools/nut/] [Installed a bunch of VS Code plugins/addins/whatevers] [Installed desired-feature prerequisites:] [Note: I did the "configure" step repeatedly, looked at errors, and then "apt-get install" for needed items, so I did run it several times...] apt-get install ccache time git python perl curl make autoconf automake libltdl-dev libtool valgrind cppcheck pkg-config gcc g++ clan libtool-bin libxml2-utils xsltproc asciidoc libusb-1.0-0-dev libusb-dev libsystemd-dev python3-systemd ./autogen.sh ./configure ./configure --enable-dependency-tracking --enable-strip --with-nutconf --with-usb --with-nut-monitor --with-nut-scanner --with-libsystemd --with-doc --enable-strip --with-ssl=NO --with-openssl=NO --with-user=ups --with-group=nut [Do I also need: "--enable-inplace-runtime"?] make DESTDIR=/tmp/package install make DESTDIR=/tmp/package install-conf [Not sure if needed for Package system, but I did:] mkdir -p /var/state/ups; chmod 0770 /var/state/ups; chown root:nut /var/state/ups make all; make; make check; make spellcheck [Then, since I realized that might not be sufficient for packaging, redid as follows:] make all; make DESTDIR=/tmp/package install; make DESTDIR=/tmp/package install-conf; cd conf; make DESTDIR=/tmp/package install; make DESTDIR=/tmp/package install-conf ; make install; cd ..; make; make check && make spellcheck [Then tar -compress- it up to move to my desired "run" system] [Then, of course tar -expand- on run system] [On the run system]: useradd ups; groupadd nut [Also added user "ups" to group "nut":] usermod -a -G nut ups] mkdir -p /var/state/ups chmod 0770 /var/state/ups chown root:nut /var/state/ups [Copied man pages and reindexed, though not relevant here] [Then copied / linked from my tar folder as follows] cp bin/* /bin ln -s /usr/local/ups/etc /etc/nut md /lib/ups; cp lib/* /lib/ups/ cp libexec/* /usr/libexec cp sbin /sbin/ ln -s /usr/local/ups/lib /lib/ups [Configuration details...] [Why reinvent the wheel and risk a problem?] nut-scanner -qUN > /etc/nut/ups.conf [Configuration of /etc/nut/ups.conf becomes:] [nutdev-usb1] driver = "usbhid-ups" port = "auto" vendorid = "0764" productid = "0501" product = "SL Series" vendor = "CPS" # bus = "001" # device = "049" # busport = "003" [Configuration of /etc/nut/nut.conf:] #MODE=netserver #2024-02-18 - too ambitious to start MODE=standalone #2024-02-18 ALLOW_NODEVICE=true #2024-02-18 export ALLOW_NO_DEVICE #2024-02-18 ALLOW_NOT_ALL_LISTENERS=true #2024-02-18 export ALLOW_NOT_ALL_LISTENERS #2024-02-18 [All seemed to be defaults in the .sample] [Configuration of /etc/nut/upsd.conf:] MAXAGE 15 TRACKINGDELAY 3600 ALLOW_NO_DEVICE true ALLOW_NOT_ALL_LISTENERS true STATEPATH /var/run/nut LISTEN 127.0.0.1 3493 [All but the last seemed to be defaults in the .sample] [Configuration of /etc/nut/upsd.users:] [admin] password = testpass actions = SET instcmds = ALL [actions and instcmds seemed to be admin examples in the .sample] [Configuration of /etc/nut/upsmon.conf:] RUN_AS_USER ups MONITOR nutdev-usb1 at localhost 1 admin testpass primary # MONITOR usbhid-ups at localhost 1 admin testpass primary MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG "/etc/killpower" OFFDURATION 30 RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5 [All but the first two seemed to be defaults in the .sample] /usr/libexec/nut-driver-enumerator.sh --daemon usbhid-ups -B -c reload-or-error [Creating the services - not sure how to autoconfigure these; From < https://networkupstools.org/docs/user-manual.chunked/ar01s05.html>] systemd-tmpfiles --create systemctl enable nut.target nut-driver.target \ nut-monitor nut-server nut-driver-enumerator.path \ nut-driver-enumerator.service { sudo systemctl restart udev || true ; } && \ sudo systemctl restart nut-driver-enumerator.service \ nut-monitor nut-server upsdrvsvcctl resync <<Results...>> Service instance 'nut-driver at nutdev.service' did not have a device recorded into properties, setting to 'nutdev' OK Mon 19 Feb 2024 02:22:13 AM UTC : OK: No changes to reconcile between systemd service instances and device configurations in '/usr/local/ups/etc/ups.conf' <<Question: When I run this multiple times, the result is identical, shouldn't the first line NOT repeat???>> [I try..] upsdrvctl -D -d -B start <<Results...>> Network UPS Tools - UPS driver controller 2.8.1-774-g963abbd87 0.000000 [D1] upsdrvctl commanding all drivers (1 found): (null) 0.000050 [D1] Starting UPS: nutdev Network UPS Tools - Generic HID driver 0.52 (2.8.1-774-g963abbd87) USB communication driver (libusb 1.0) 0.46 0.019078 Driver failed to start (exit status=1) 0.019218 [D1] upsdrvctl: got some errors with preceding operations, exiting with failure now 0.019298 [D1] Completed the job of upsdrvctl tool, cleaning up and exiting now 0.019322 [D1] Completed the job of upsdrvctl tool, clean-up finished, exiting now <<The driver fails to start... how do I fix that? >> systemctl daemon-reload <<no output/errors> [[Ran this once...]] upsdrvsvcctl reconfigure <<Results...>> Dropping old systemd service instance for power device [nutdev] to reconfigure the service unit... Removing instance: 'nut-driver at nutdev' ... Error reading the list of systemd service instances for UPS drivers, or none are defined - after dropping Adding new systemd service instance for power device [nutdev]... Created symlink /etc/systemd/system/nut-driver.target.wants/nut-driver at nutdev.service ? /lib/systemd/system/nut-driver at nutdev.service. Enabled instance: 'nut-driver at nutdev' for NUT configuration section 'nutdev' Adding 'Wants'+After dependency for 'nutdev' on 'systemd-udev.service systemd-udev-settle.service'... OK OK OK Started instance: 'nut-driver at nutdev' for NUT configuration section 'nutdev' OK === The currently defined service instances are: nutdev === The currently defined configurations in '/usr/local/ups/etc/ups.conf' are: nutdev Reloading or restarting NUT data server to make sure it knows new configuration... Mon 19 Feb 2024 03:06:21 AM UTC : OK: No more changes to reconcile between systemd service instances and device configurations in '/usr/local/ups/etc/ups.conf' << The "Error" - Is this an issue? If so, how do I diagnose? >> [Ran it again...] upsdrvsvcctl reconfigure <<Results...> Dropping old systemd service instance for power device [nutdev] to reconfigure the service unit... Removing instance: 'nut-driver at nutdev' ... Removed /etc/systemd/system/nut-driver.target.wants/nut-driver at nutdev.service. Failed to reset failed state of unit nut-driver at nutdev.service: Unit nut-driver at nutdev.service not loaded. Error reading the list of systemd service instances for UPS drivers, or none are defined - after dropping Adding new systemd service instance for power device [nutdev]... Created symlink /etc/systemd/system/nut-driver.target.wants/nut-driver at nutdev.service ? /lib/systemd/system/nut-driver at nutdev.service. Enabled instance: 'nut-driver at nutdev' for NUT configuration section 'nutdev' Adding 'Wants'+After dependency for 'nutdev' on 'systemd-udev.service systemd-udev-settle.service'... OK OK OK Started instance: 'nut-driver at nutdev' for NUT configuration section 'nutdev' OK === The currently defined service instances are: nutdev === The currently defined configurations in '/usr/local/ups/etc/ups.conf' are: nutdev Reloading or restarting NUT data server to make sure it knows new configuration... (timestamp purged) OK: No more changes to reconcile between systemd service instances and device configurations in '/usr/local/ups/etc/ups.conf' <<Again, how do I diagnose/resolve "Failed" and "Error"?>> [Tried from some random page] systemctl start nut-driver-enumerator.service [no response - assume good] [More diagnostic tries and errors...] upsdrvctl start [First time saw a few errors in journalctl so fixed them and retried all...] md /var/run/nut #not sure why this was not created chmod o-rwx /etc/upsd.conf #so not world readable [Then reran] upsdrvctl start <<Response...>> Network UPS Tools - UPS driver controller 2.8.1-774-g963abbd87 Network UPS Tools - Generic HID driver 0.52 (2.8.1-774-g963abbd87) USB communication driver (libusb 1.0) 0.46 Driver failed to start (exit status=1) journalctl -xe <<Results... x is the PID and I strripped before "usbhid-ups">> usbhid-ups[x]: No matching HID UPS found usbhid-ups[x]: [D5] send_to_all: SETINFO driver.state "cleanup.exit" usbhid-ups[x]: upsnotify: notify about state 4 with libsystemd: was requested, but not running as a service unit now, will not spam more about it usbhid-ups[x]: upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it [I then repeated from upsdrvsvcctl reconfigure but no difference] [Also I tried...] upsdrvctl start "nutdev-usb1" <<Results...>> Network UPS Tools - UPS driver controller 2.8.1-774-g963abbd87 UPS nutdev-usb1 not found in ups.conf <<...which doesn't make sense to me since, again, here's my ups.conf...>> [nutdev-usb1] driver = "usbhid-ups" port = "auto" vendorid = "0764" productid = "0501" product = "SL Series" vendor = "CPS" # bus = "001" # device = "049" # busport = "003" #### Okay, how can I further diagnose or change anything or do anything different? Thank you (both for making it this far and for any ideas)! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20240218/8b21da13/attachment.htm>
Jim Klimov
2024-Feb-19 08:18 UTC
[Nut-upsuser] Compile/Package / Config/Run 2.8.1 / Raspberry / UPS
Hello, and thanks for the detailed report. Regarding /var/run/nut - I think `systemd-tmpfiles --create` should have taken care of this. Can you check if your tarball "package" actually shipped a /usr/lib/tmpfiles.d/nut-common-tmpfiles.conf file, and does it list (/var)/run/nut among the items it tracks? On the build system, would `grep PATH= config.log` reveal anything? (I suspect the PIDPATH could be defaulted as `(/var)/run` without the `.../nut` suffix) Regarding run-time configurations, you did not specify a `--sysconfdir=/etc/nut` so it defaults to using an `etc` dir under the `--prefix` which is also defaulted in your case: nut-scanner -qUN > /etc/nut/ups.conf ... Mon 19 Feb 2024 03:06:21 AM UTC : OK: No more changes to reconcile between systemd service instances and device configurations in '/usr/local/ups/etc/ups.conf' I wonder how it finds *something* to claim a "nutdev" configuration, though. Is there something actually written into /usr/local/ups/etc/ups.conf or is NUT hallucinating (sounds trendy this year, maybe it grew an AI too?) :)> [Do I also need: "--enable-inplace-runtime"?]If you had a previous installation of NUT, perhaps a package, this option helps the `configure` script auto-detect other options like paths and user names for your new build to be a functional replacement of the old one. In particular, this helps with testing of new program iterations right from the build workspace using the same system-wide configs. Jim On Mon, Feb 19, 2024 at 4:51?AM Bruce Pleat via Nut-upsuser < nut-upsuser at alioth-lists.debian.net> wrote:> I'm trying to Compile/Package and then (on a different box) Config/Run > 2.8.1. Both boxes are Raspberry Pi 4b on Bullseye with a generic USB UPS. > > -- > > I'm trying to get nut running on my Raspberry (bullseye/11). (I'd also > love to share a working 2.8.1 for Raspberry with the world, but...) > > I compiled the latest code from git: version 2.8.1-774-g963abbd87 > I compiled it on one system that does NOT have a UPS, to "package" for my > three other UPS-monitoring systems. > > Here's the general history/steps. > > (Note: In some places, I did repeat prior steps in different orders, but > did not take detailed notes of every last diagnostic effort...) > > (Note: Anywhere I put a semicolon, I did each command separately, but am > simplifying here) > (Note: For each step, I can cite where I found it if desired) > > [The next four are just general info, not specific to this build] > [Installed VS Code on my RPi 4 - 8GB if relevant] > [Changed "disable-hardware-acceleration": true] > [Git clone: https://github.com/networkupstools/nut/] > [Installed a bunch of VS Code plugins/addins/whatevers] > > [Installed desired-feature prerequisites:] [Note: I did the "configure" > step repeatedly, looked at errors, and then "apt-get install" for needed > items, so I did run it several times...] > apt-get install ccache time git python perl curl make autoconf automake > libltdl-dev libtool valgrind cppcheck pkg-config gcc g++ clan libtool-bin > libxml2-utils xsltproc asciidoc libusb-1.0-0-dev libusb-dev libsystemd-dev > python3-systemd > ./autogen.sh > ./configure > ./configure --enable-dependency-tracking --enable-strip --with-nutconf > --with-usb --with-nut-monitor --with-nut-scanner --with-libsystemd > --with-doc --enable-strip --with-ssl=NO --with-openssl=NO --with-user=ups > --with-group=nut > [Do I also need: "--enable-inplace-runtime"?] > make DESTDIR=/tmp/package install > make DESTDIR=/tmp/package install-conf > [Not sure if needed for Package system, but I did:] mkdir -p > /var/state/ups; chmod 0770 /var/state/ups; chown root:nut /var/state/ups > make all; make; make check; make spellcheck > [Then, since I realized that might not be sufficient for packaging, redid > as follows:] > make all; make DESTDIR=/tmp/package install; make DESTDIR=/tmp/package > install-conf; cd conf; make DESTDIR=/tmp/package install; make > DESTDIR=/tmp/package install-conf ; make install; cd ..; make; make check > && make spellcheck > [Then tar -compress- it up to move to my desired "run" system] > > [Then, of course tar -expand- on run system] > [On the run system]: > useradd ups; groupadd nut > [Also added user "ups" to group "nut":] usermod -a -G nut ups] > > > mkdir -p /var/state/ups > chmod 0770 /var/state/ups > chown root:nut /var/state/ups > > [Copied man pages and reindexed, though not relevant here] > > [Then copied / linked from my tar folder as follows] > cp bin/* /bin > ln -s /usr/local/ups/etc /etc/nut > md /lib/ups; cp lib/* /lib/ups/ > cp libexec/* /usr/libexec > cp sbin /sbin/ > ln -s /usr/local/ups/lib /lib/ups > > [Configuration details...] > > [Why reinvent the wheel and risk a problem?] > nut-scanner -qUN > /etc/nut/ups.conf > > [Configuration of /etc/nut/ups.conf becomes:] > [nutdev-usb1] > driver = "usbhid-ups" > port = "auto" > vendorid = "0764" > productid = "0501" > product = "SL Series" > vendor = "CPS" > # bus = "001" > # device = "049" > # busport = "003" > > [Configuration of /etc/nut/nut.conf:] > #MODE=netserver #2024-02-18 - too ambitious to start > MODE=standalone #2024-02-18 > ALLOW_NODEVICE=true #2024-02-18 > export ALLOW_NO_DEVICE #2024-02-18 > ALLOW_NOT_ALL_LISTENERS=true #2024-02-18 > export ALLOW_NOT_ALL_LISTENERS #2024-02-18 > [All seemed to be defaults in the .sample] > > > [Configuration of /etc/nut/upsd.conf:] > MAXAGE 15 > TRACKINGDELAY 3600 > ALLOW_NO_DEVICE true > ALLOW_NOT_ALL_LISTENERS true > STATEPATH /var/run/nut > LISTEN 127.0.0.1 3493 > [All but the last seemed to be defaults in the .sample] > > [Configuration of /etc/nut/upsd.users:] > [admin] > password = testpass > actions = SET > instcmds = ALL > [actions and instcmds seemed to be admin examples in the .sample] > > > > [Configuration of /etc/nut/upsmon.conf:] > RUN_AS_USER ups > MONITOR nutdev-usb1 at localhost 1 admin testpass primary > # MONITOR usbhid-ups at localhost 1 admin testpass primary > MINSUPPLIES 1 > SHUTDOWNCMD "/sbin/shutdown -h +0" > POLLFREQ 5 > POLLFREQALERT 5 > HOSTSYNC 15 > DEADTIME 15 > POWERDOWNFLAG "/etc/killpower" > OFFDURATION 30 > RBWARNTIME 43200 > NOCOMMWARNTIME 300 > FINALDELAY 5 > [All but the first two seemed to be defaults in the .sample] > > /usr/libexec/nut-driver-enumerator.sh --daemon > usbhid-ups -B -c reload-or-error > > [Creating the services - not sure how to autoconfigure these; From < > https://networkupstools.org/docs/user-manual.chunked/ar01s05.html>] > > systemd-tmpfiles --create > systemctl enable nut.target nut-driver.target \ > nut-monitor nut-server nut-driver-enumerator.path \ > nut-driver-enumerator.service > { sudo systemctl restart udev || true ; } && \ > sudo systemctl restart nut-driver-enumerator.service \ > nut-monitor nut-server > > upsdrvsvcctl resync > <<Results...>> > Service instance 'nut-driver at nutdev.service' did not have a device > recorded into properties, setting to 'nutdev' > OK > Mon 19 Feb 2024 02:22:13 AM UTC : OK: No changes to reconcile between > systemd service instances and device configurations in > '/usr/local/ups/etc/ups.conf' > <<Question: When I run this multiple times, the result is identical, > shouldn't the first line NOT repeat???>> > > [I try..] > upsdrvctl -D -d -B start > <<Results...>> > Network UPS Tools - UPS driver controller 2.8.1-774-g963abbd87 > 0.000000 [D1] upsdrvctl commanding all drivers (1 found): (null) > 0.000050 [D1] Starting UPS: nutdev > Network UPS Tools - Generic HID driver 0.52 (2.8.1-774-g963abbd87) > USB communication driver (libusb 1.0) 0.46 > 0.019078 Driver failed to start (exit status=1) > 0.019218 [D1] upsdrvctl: got some errors with preceding operations, > exiting with failure now > 0.019298 [D1] Completed the job of upsdrvctl tool, cleaning up and > exiting now > 0.019322 [D1] Completed the job of upsdrvctl tool, clean-up finished, > exiting now > <<The driver fails to start... how do I fix that? >> > > systemctl daemon-reload > <<no output/errors> > > [[Ran this once...]] > upsdrvsvcctl reconfigure > <<Results...>> > Dropping old systemd service instance for power device [nutdev] to > reconfigure the service unit... > Removing instance: 'nut-driver at nutdev' ... > Error reading the list of systemd service instances for UPS drivers, or > none are defined - after dropping > Adding new systemd service instance for power device [nutdev]... > Created symlink > /etc/systemd/system/nut-driver.target.wants/nut-driver at nutdev.service ? > /lib/systemd/system/nut-driver at nutdev.service. > Enabled instance: 'nut-driver at nutdev' for NUT configuration section > 'nutdev' > Adding 'Wants'+After dependency for 'nutdev' on 'systemd-udev.service > systemd-udev-settle.service'... > OK > OK > OK > Started instance: 'nut-driver at nutdev' for NUT configuration section > 'nutdev' > OK > === The currently defined service instances are: > nutdev > === The currently defined configurations in '/usr/local/ups/etc/ups.conf' > are: > nutdev > Reloading or restarting NUT data server to make sure it knows new > configuration... > Mon 19 Feb 2024 03:06:21 AM UTC : OK: No more changes to reconcile between > systemd service instances and device configurations in > '/usr/local/ups/etc/ups.conf' > << The "Error" - Is this an issue? If so, how do I diagnose? >> > > [Ran it again...] > upsdrvsvcctl reconfigure > <<Results...> > Dropping old systemd service instance for power device [nutdev] to > reconfigure the service unit... > Removing instance: 'nut-driver at nutdev' ... > Removed > /etc/systemd/system/nut-driver.target.wants/nut-driver at nutdev.service. > Failed to reset failed state of unit nut-driver at nutdev.service: Unit > nut-driver at nutdev.service not loaded. > Error reading the list of systemd service instances for UPS drivers, or > none are defined - after dropping > Adding new systemd service instance for power device [nutdev]... > Created symlink > /etc/systemd/system/nut-driver.target.wants/nut-driver at nutdev.service ? > /lib/systemd/system/nut-driver at nutdev.service. > Enabled instance: 'nut-driver at nutdev' for NUT configuration section > 'nutdev' > Adding 'Wants'+After dependency for 'nutdev' on 'systemd-udev.service > systemd-udev-settle.service'... > OK > OK > OK > Started instance: 'nut-driver at nutdev' for NUT configuration section > 'nutdev' > OK > === The currently defined service instances are: > nutdev > === The currently defined configurations in '/usr/local/ups/etc/ups.conf' > are: > nutdev > Reloading or restarting NUT data server to make sure it knows new > configuration... > (timestamp purged) OK: No more changes to reconcile between systemd > service instances and device configurations in '/usr/local/ups/etc/ups.conf' > <<Again, how do I diagnose/resolve "Failed" and "Error"?>> > > > [Tried from some random page] > systemctl start nut-driver-enumerator.service > [no response - assume good] > > [More diagnostic tries and errors...] > upsdrvctl start > [First time saw a few errors in journalctl so fixed them and retried > all...] > md /var/run/nut #not sure why this was not created > chmod o-rwx /etc/upsd.conf #so not world readable > [Then reran] > upsdrvctl start > <<Response...>> > Network UPS Tools - UPS driver controller 2.8.1-774-g963abbd87 > Network UPS Tools - Generic HID driver 0.52 (2.8.1-774-g963abbd87) > USB communication driver (libusb 1.0) 0.46 > Driver failed to start (exit status=1) > > journalctl -xe > <<Results... x is the PID and I strripped before "usbhid-ups">> > usbhid-ups[x]: No matching HID UPS found > usbhid-ups[x]: [D5] send_to_all: SETINFO driver.state "cleanup.exit" > usbhid-ups[x]: upsnotify: notify about state 4 with libsystemd: was > requested, but not running as a service unit now, will not spam more about > it > usbhid-ups[x]: upsnotify: failed to notify about state 4: no notification > tech defined, will not spam more about it > > [I then repeated from upsdrvsvcctl reconfigure but no difference] > > [Also I tried...] > upsdrvctl start "nutdev-usb1" > <<Results...>> > Network UPS Tools - UPS driver controller 2.8.1-774-g963abbd87 > UPS nutdev-usb1 not found in ups.conf > <<...which doesn't make sense to me since, again, here's my ups.conf...>> > [nutdev-usb1] > driver = "usbhid-ups" > port = "auto" > vendorid = "0764" > productid = "0501" > product = "SL Series" > vendor = "CPS" > # bus = "001" > # device = "049" > # busport = "003" > > #### > > Okay, how can I further diagnose or change anything or do anything > different? > > Thank you (both for making it this far and for any ideas)! > > > _______________________________________________ > 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/20240219/de3825be/attachment-0001.htm>
Possibly Parallel Threads
- failed after upgrade - upscode2: Missing UPCL after UPCL
- failed after upgrade - upscode2: Missing UPCL after UPCL
- Simplest way to fully Disable NUT without uninstalling
- failed after upgrade - upscode2: Missing UPCL after UPCL
- failed after upgrade - upscode2: Missing UPCL after UPCL