Po unattended-upgrades
zainstalowaniu 9 na 10 wyłączeń / restartów zawiesza się podczas „rozpoczynania zamykania instalacji nienadzorowanej”. To zawieszenie opóźnia proces wyłączania na 5-10 minut.
Jeśli wyłączę nienadzorowane aktualizacje za pośrednictwem /etc/apt/apt.conf.d/20auto-upgrades and/or 50unattended-upgrades
, pojawią się problemy.
Jeśli zakończę usługę przed zamknięciem / ponownym uruchomieniem ( sudo service unattended-upgrades stop
), problem nadal występuje.
Jeśli usunę pakiet ( sudo apt remove unattended-upgrades
), problem już nie występuje.
Dzieje się tak w świeżo zainstalowanej wersji Ubuntu Server 16.04.1
(obie unattended-upgrades
instalowane za pomocą instalacyjnego interfejsu GUI lub ręcznej instalacji nienadzorowanych aktualizacji)
Oba Kern.log & syslog
nie pokazują procesu zamykania (uważam, ponieważ systemy plików już odmontowały)
Czy ktoś jeszcze widział lub naprawił ten problem? Oszalałam, próbując go rozwiązać.
źródło
unattended-upgrades
podczas zamykania systemu.Odpowiedzi:
Rozglądając się, aby zbliżyć się do pierwotnej przyczyny
Problemem wydaje się być skrypt działający podczas zamykania systemu.
Zidentyfikowałem odpowiedni plik za pomocą:
co daje mi powiązany skrypt systemowy:
który następnie powiedział mi skrypt wykonywany przy zamykaniu:
Badanie głębsze, aby znaleźć podstawową przyczynę
w tym skrypcie znajduje się sekcja w wierszu 120 związana z sekcją w /etc/apt/apt.conf.d/50unattended-upgrades -> Unattended-Upgrade :: InstallOnShutdown
Wiersz 120 polecenia / usr / share / unattended-upgrade / unattended-upgrade-shutdown:
Problem: oczekuje słowa kluczowego „False”, podczas gdy w apt conf powinniśmy dodać „false” (dokładne porównanie ciągów)!
Rozwiązanie
Byłem w stanie naprawić / obejść wyłączenie przeciągania na 3 różne sposoby:
Obejście A
To ustawienie jest bezpieczne do uaktualnienia, dopóki nie zostanie dostarczona prawdziwa poprawka, ponieważ plik, który tu zmienimy, nie zostanie nadpisany przez aktualizację nienadzorowanych aktualizacji. Problem: Gdy podstawowa przyczyna zostanie naprawiona, spowoduje to ponowne wyłączenie utknięcia, więc sugeruję połączenie tego z obejściem B.
LUB: Obejście B
vim /etc/systemd/system/shutdown.target.wants/unattended-upgrades.service
To ustawienie NIE jest bezpieczne do uaktualnienia, ponieważ plik, który tu zmieniamy, może zostać zastąpiony przez aktualizację nienadzorowanych aktualizacji. Poza tym jest naprawdę daleki od naprawienia czegoś, ale zapewni, że twój system nie będzie czekał kilka minut po wyłączeniu. Pamiętaj, że po aktualizacji nienadzorowanej może być konieczne jej ponowne ustawienie!
LUB: Poprawka C (należy zgłosić wcześniej)
łatanie / usr / share / unattended-upgrade / unattended-upgrade-shutdown:
Wniosek
tbh tylko ostatnia jest prawdziwym rozwiązaniem. obie pozostałe opcje są tylko obejściami, dopóki nie zostanie zaimplementowana prawdziwa poprawka.
Należy to zrobić wcześniej, ponieważ wpływa to zarówno na Debiana (testowany na Debian Stretch), jak i Ubuntu (testowany na Ubuntu 16.04.1) dla obu dystrybucji.
Otworzyłem raport o błędzie tutaj: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1661611
źródło
Jako obejście tego problemu używam tego skryptu, aby go naprawić:
Mam nadzieję, że wkrótce zostanie upstream.
źródło
Zostało to naprawione w systemd
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1654600
(oryginalny raport: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1661611 )
źródło