Lorsque unattended-upgrades
est installé, 9 arrêts/redémarrages sur 10 se bloquent lors du "démarrage de l'arrêt des mises à niveau sans surveillance". Ce blocage bloque le processus d'arrêt pendant 5 à 10 minutes.
Si je désactive les mises à niveau sans surveillance via le /etc/apt/apt.conf.d/20auto-upgrades and/or 50unattended-upgrades
, le problème se produit.
Si je résilie le service avant l’arrêt/le redémarrage (Sudo service unattended-upgrades stop
), le problème persiste.
Si je supprime le package (Sudo apt remove unattended-upgrades
), le problème ne se produit plus.
Cela se produit sur une version fraîchement installée de Ubuntu Server 16.04.1
(le unattended-upgrades
a été installé via l'interface graphique d'installation ou l'installation manuelle de mises à niveau sans assistance).
Kern.log & syslog
n'indique pas le processus d'arrêt (je crois parce que les systèmes de fichiers ont déjà été démontés)
Est-ce que quelqu'un d'autre a vu ou corrigé ce problème? Devenir fou en essayant de le résoudre.
Le problème semble être le script en cours d'exécution à l'arrêt.
J'ai identifié le fichier correspondant avec:
find /etc/systemd -name *unattended*
ce qui m'a donné le script systemd associé:
/etc/systemd/system/shutdown.target.wants/unattended-upgrades.service
qui m'a alors dit le script exécuté à l'arrêt:
/usr/share/unattended-upgrades/unattended-upgrade-shutdown
la ligne 120 de ce script contient une section liée à celle de /etc/apt/apt.conf.d/50unattended-upgrades -> Unattended-Upgrade :: InstallOnShutdown
Ligne 120 de/usr/share/unattended-upgrades/unattended-upgrade-shutdown:
if apt_pkg.config.find_b("Unattended-Upgrade::InstallOnShutdown", False):
Le problème: il attend le mot clé "False" alors que dans la conf de apt, nous devrions ajouter "false" (comparaison de chaîne exacte)!
J'ai pu résoudre/contourner le blocage de 3 manières différentes:
Ce paramètre est sécurisé lors de la mise à niveau jusqu'à ce qu'un correctif soit fourni, car le fichier que nous modifions ici n'est pas écrasé par une mise à jour des mises à niveau sans assistance. Problème: lorsque la cause première est résolue, cela entraîne un nouvel arrêt bloqué. Je suggère donc de combiner cela avec la solution de contournement B.
vim /etc/systemd/system/shutdown.target.wants/unattended-upgrades.service
[Service] Type = one shot ExecStart =/usr/share/mises à niveau sans surveillance/mise à niveau sans surveillance TimeoutStartSec = 15
Ce paramètre n'est PAS sûr pour la mise à niveau car le fichier que nous modifions ici risque d'être écrasé par une mise à jour des mises à niveau sans assistance. En plus de cela, il est vraiment loin de réparer quelque chose, mais cela garantira que votre système n’attendra pas plusieurs minutes lorsqu’il est arrêté. Gardez à l'esprit qu'après une mise à niveau des mises à niveau sans assistance, vous devrez peut-être configurer cette option à nouveau!
patcher/usr/share/unattended-upgrades/unattended-upgrade-shutdown:
---/tmp/unattended-upgrade-shutdown 2017-02-03 14: 53: 03.238103238 +0100 +++/tmp/unattended-upgrade-shutdown_fix 2017-02-03 14 : 53: 17.685589001 +0100 @@ -117,7 +117,7 @@ # Lancez-le P = Aucun Apt_pkg.init_config () - if apt_pkg.config.find_b ("Unattended-Upgrade :: InstallOnShutdown", False): + if apt_pkg.config.find_b ("Unattended-Upgrade :: InstallOnShutdown", false): env = copie.copie (os.environ) env ["UNATTENDED_UPGRADES_FORCE_INSTALL_ON_SHUTDOWN"] = "1" logging.debug ("démarrage inattendu des mises à jour en mode arrêt")
tbh seulement le dernier est une vraie solution. les deux autres options ne sont que des solutions de contournement jusqu'à la mise en œuvre du correctif réel.
Cela doit être fait en amont et cela affecte Debian (testé sur Debian Stretch) et Ubuntu (testé sur Ubuntu 16.04.1) pour les deux distributions.
J'ai ouvert un rapport de bogue ici: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1661611
Pour résoudre ce problème, j'utilise ce script pour résoudre ce problème:
#!/usr/bin/env bash
sed -i '/if apt_pkg.config.find_b/s/False/false/' /usr/share/unattended-upgrades/unattended-upgrade-shutdown
exit
Espérons que ce sera bientôt en amont.
Cela a été corrigé dans systemd
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/16546
(rapport original: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1661611 )