7

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.

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.

| improve this answer | |
  • 1
    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? – Andrey Vihrov Feb 17 '19 at 10:09
5

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

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.