Une fois unattended-upgrades
installé, 9 arrêts / redémarrages sur 10 se bloquent pendant le "démarrage de l'arrêt des mises à niveau sans assistance". Ce blocage bloque le processus d'arrêt pendant 5 à 10 minutes.
Si je désactive les mises à niveau sans assistance via le /etc/apt/apt.conf.d/20auto-upgrades and/or 50unattended-upgrades
, les problèmes se produisent.
Si j'arrête 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
(toutes deux unattended-upgrades
installées via une interface graphique d'installation ou une installation manuelle de mises à niveau sans assistance)
Les deux Kern.log & syslog
ne montrent pas le processus d'arrêt (je crois parce que les systèmes de fichiers ont déjà été démontés)
Quelqu'un d'autre a-t-il vu ou résolu ce problème? Devenir fou en essayant de le dépanner.
la source
unattended-upgrades
pendant l'arrêt.Réponses:
Regarder autour de soi pour se rapprocher de la cause profonde
Le problème semble être le script exécuté à l'arrêt.
J'ai identifié le fichier correspondant avec:
ce qui m'a donné le script systemd connexe:
qui m'a ensuite indiqué le script exécuté à l'arrêt:
Enquêter plus profondément pour trouver la cause profonde
dans ce script, il y a une section à la ligne 120 liée à la section dans /etc/apt/apt.conf.d/50unattended-upgrades -> Unattended-Upgrade :: InstallOnShutdown
Ligne 120 de / usr / share / unattended-upgrades / unattended-upgrade-shutdown:
Le problème: il attend le mot-clé "False" alors que dans la conf apt, nous devons ajouter "false" (comparaison exacte des chaînes)!
Solution
J'ai pu résoudre / contourner l'arrêt au point mort de 3 manières différentes:
Solution de contournement A
Ce paramètre est sûr pour la mise à niveau jusqu'à ce qu'un véritable correctif soit fourni car le fichier que nous modifions ici n'est pas remplacé par une mise à jour des mises à niveau sans assistance. Problème: Lorsque la cause première est corrigée, cela entraînera à nouveau un arrêt de décrochage, je suggère donc de combiner cela avec la solution de contournement B.
OU: solution de contournement B
vim /etc/systemd/system/shutdown.target.wants/unattended-upgrades.service
Ce paramètre n'est PAS sécurisé pour la mise à niveau car le fichier que nous modifions ici peut être remplacé 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 lors de l'arrêt. Gardez à l'esprit qu'après une mise à niveau des mises à niveau sans assistance, vous devrez peut-être le redéfinir!
OU: Correction C (à signaler en amont)
patcher / usr / share / unattended-upgrades / unattended-upgrade-shutdown:
Conclusion
tbh seul le dernier est un vrai correctif. les deux autres options ne sont que des solutions de contournement jusqu'à ce que le vrai correctif soit implémenté.
Cela doit être fait en amont et comme cela affecte à la fois 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
la source
Comme solution de contournement, j'utilise ce script pour le corriger:
Espérons que ce sera bientôt en amont.
la source
Cela a été corrigé dans systemd
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1654600
(rapport original: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1661611 )
la source