Control: tags -1 moreinfo unreproducible invalid Hi Chris,
Chris Stromsoe <[email protected]> ezt írta (időpont: 2021. okt. 20., Sze, 23:03): > > Package: unattended-upgrades > Version: 1.11.2 > > I recently started using unattended-upgrades to keep a machine up to date. > After installing, I've had a few instances where the machine restarted on > its own. I believe that unattended-upgrades rebooted my machine even > though Automatic-Reboot is set to False. > > Logged from syslog: > > Oct 20 12:15:43 potato systemd[1]: Started Unattended Upgrades Shutdown. This is just the unattended-upgrades.service starting. > From /etc/apt/apt.conf.d/50unattended-upgrades: > > Unattended-Upgrade::Automatic-Reboot "false"; > > > Looking at the source for /usr/bin/unattended-upgrade, reboots are handled > by reboot_if_requested_and_needed(). The check for Automatic-Reboot is on > lines 1336 and 1337. I believe the check is wrong. > > The test for False on line 1337 should be True, to indicate that if > Automatic-Reboot is not set to True in the configuration file, the > function should return without proceeding. > > 1331 def reboot_if_requested_and_needed(): > 1332 # type: () -> None > 1333 """auto-reboot (if required and the config for this is set)""" > 1334 if not os.path.exists(REBOOT_REQUIRED_FILE): > 1335 return > 1336 if not apt_pkg.config.find_b( > 1337 "Unattended-Upgrade::Automatic-Reboot", False): > 1338 return > 1339 # see if we need to check for logged in users > 1340 if not apt_pkg.config.find_b( > 1341 "Unattended-Upgrade::Automatic-Reboot-WithUsers", True): > 1342 users = logged_in_users() > 1343 if users: > 1344 msg = gettext.ngettext( > 1345 "Found %s, but not rebooting because %s is logged in." % > ( > 1346 REBOOT_REQUIRED_FILE, users), > 1347 "Found %s, but not rebooting because %s are logged in." > % ( > 1348 REBOOT_REQUIRED_FILE, users), > 1349 len(users)) > 1350 logging.warning(msg) > 1351 return > 1352 # reboot at the specified time > 1353 when = apt_pkg.config.find( > 1354 "Unattended-Upgrade::Automatic-Reboot-Time", "now") > 1355 logging.warning("Found %s, rebooting" % REBOOT_REQUIRED_FILE) > 1356 cmd = ["/sbin/shutdown", "-r", when] > 1357 try: > 1358 shutdown_msg = subprocess.check_output(cmd, > stderr=subprocess.STDOUT) > 1359 if shutdown_msg.strip(): > 1360 logging.warning("Shutdown msg: %s", shutdown_msg.strip()) > 1361 except Exception as e: > 1362 logging.error("Failed to issue shutdown: %s", e) > 1363 This seems to work OK according to your next email. I think something else restarted the system. Cheers, Balint

