Ubuntu 18.10 - Unattended-upgrades-shutdown --wait-for-signal

22,214

Solution 1

It's a safety feature. Leave it alone.

Apt data (packages and metadata) can be corrupted if apt happens to be running when the system halts (shuts down). The unattended-updates-shutdown script temporarily inhibits a shutdown signal until apt finishes.

The script cannot prevent corruption due to a sudden power loss, or holding the power button, while apt happens to be running. Another reason to avoid those, and to keep regular backups.

The script is in Python, including the developer's comments. Feel free to read it and see for yourself.

Solution 2

I ran into this same issue recently as well, while checking for unattended-upgrades running in the background during my image baking process. Basically, I would wait for apt locks to be released, then proceed with my updates.

I used to run this:

while pgrep unattended; do sleep 10; done;

before executing any of my scripts as they would randomly fail at some odd intervals with unattended-upgrades running while me trying to do apt install/upgrade/update with a dpkg lock error.

So I asked for the right way to check for unattended upgrades working in the background and TJ- from IRC gave me a really elegant solution! Disable the u-u service whilst bootstrap scripts are busy. As in:

systemctl mask unattended-upgrades.service
systemctl stop unattended-upgrades.service

then re-enable after you finish your bake:

systemctl unmask unattended-upgrades.service
systemctl start unattended-upgrades.service

In addition, you can run this to make sure you don't kick off your process prematurely:

while systemctl is-active --quiet unattended-upgrades.service; do sleep 1; done

Probably not what you were looking for but this was extremely helpful for me. This might be related to: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1803137

Share:
22,214

Related videos on Youtube

Admin
Author by

Admin

Updated on September 18, 2022

Comments

  • Admin
    Admin over 1 year

    I have a process as listed in htop under Command stating the following:

    /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal

    Judging by the:

    --wait-for-signal

    and some researching about what unattended-upgrades is, it makes me think there's something else that needs to be updated so i tried shutting down the server a couple of times, running:

     sudo unattended-upgrade
    

    and following these steps but it's still there even though the system is up-to-date.

    Is it just there to check for when there's another upgrade to be done?

    Should i worry about it or just leave it be?

    Thanks in advance.

  • Andrey Vihrov
    Andrey Vihrov about 5 years
    Why doesn't unattended-updates inhibit shutdown only for the time the update is actually running instead of having a separate inhibitor process at all times?
  • tgkprog
    tgkprog almost 4 years
    I ran apt update. ITs been 5 minutes (fresh 20.04 install) its still running and the status file has : "Progress: 80.0 % (libnss3)" in file /var/run/unattended-upgrades.progress how long will it run?
  • Vincent Alex
    Vincent Alex about 3 years
    Why is it implemented in python? Takes 10MB of RAM, even on ARM Debian. Doesn't sound like an efficient linux approach, but something hack together.
  • user535733
    user535733 about 3 years
    @VincentAlex it's implemented in Python because the developer chose to implement in Python. It is open source software -- any participant (including you) is welcome to contribute real improvements.