Zapobiegaj automatycznemu restartowi po aktualizacji Ubuntu Core 16.xx

8

Jak udokumentowano tutaj , jeśli jest aktualizacja podstawowa, komputer automatycznie się zaktualizuje, a następnie uruchomi się ponownie.

Chcę mieć włączone automatyczne aktualizacje, ale nie chcę, aby urządzenie automatycznie uruchomiło się ponownie. Czy jest na to sposób?

Magneon
źródło
1
Może być pomocny, jeśli „Jak tu udokumentowano” rzeczywiście był ważny
doug
To było, kiedy o to zapytano. Oto inne podobne pytanie: askubuntu.com/questions/886873/disable-ubuntu-core-autoupdate Wygląda na to, że nie można wyłączyć automatycznej aktualizacji.
Magneon,
@Magneon W twoim linku sugeruje ustawienie automatycznych aktualizacji w określonym oknie czasowym. Dlaczego nie uruchomić go o 3 nad ranem, kiedy ponowne uruchomienie nie będzie dla ciebie kłopotliwe? Możesz wyłączyć monitor i pozostawić włączony Raspberry Pi, ponieważ nie zużywałby dużo prądu.
WinEunuuchs2Unix
1
Ten przypadek użycia dotyczy robota przemysłowego, który może być uruchamiany według ustalonego harmonogramu wybranego przez klienta. Naprawdę nie ma dobrego ustalonego harmonogramu, w którym można ponownie uruchomić komputer. Idealnie byłoby, gdyby aktualizacje były wymieniane po włączeniu komputera lub po wyświetleniu monitu przez użytkownika.
Magneon
Na podstawie tej dyskusji wątpię możesz robić co chcesz atm, mogę się mylić .. forum.snapcraft.io/t/...
Doug

Odpowiedzi:

2

Próbowałem wyśledzić kod źródłowy Snappy Ubuntu Core, a najbliższe, jakie mogłem znaleźć, to ten, który ma zaakceptowaną odpowiedź, którą uważam za niedopuszczalną. Dzięki kodowi źródłowemu wielu programistów, którzy chcą wyłączyć automatyczne aktualizacje, może osiągnąć cel podobny do twojego.

Drugim najlepszym rozwiązaniem dla nich, a może i dla ciebie, jest znalezienie nazwy pliku binarnego, który wykonuje automatyczną aktualizację. Powiedzmy na przykład, że się nazywa a. Zmień nazwę na b. Zamień ana prosty program wyświetlający „Hello World”. Podczas uruchamiania systemu bw skryptach startowych.

Zasadniczo za każdym razem, gdy chcesz zaktualizować system operacyjny (lub „Store”, jak lubią to nazywać), po prostu uruchom ponownie komputer. Po aktualizacji uruchomi się ponownie. Przy drugim restarcie, gdy bjest nazywany, pierwszy restart już zaktualizował aplikacje (zwane „snapami”), dzięki czemu drugi restart uruchomiłby się bez aktualizacji.

Za każdym razem, gdy Ubuntu próbuje uruchomić automatyczne aktualizacje za twoimi plecami, po prostu uruchamia nowy program, do którego pisze „Hello World” /var/log/syslog.

Nie używam Raspberry Pi 2, więc nie mogę znaleźć nazwy programu do automatycznej aktualizacji, którego nazwę należy zmienić na „b”. Mam nadzieję, że ktoś inny z niego korzysta i może podać nazwę.

WinEunuuchs2Unix
źródło
Jest to dość kiepskie rozwiązanie, ale wydaje się, że jest to jak dotąd najlepszy sposób. Dla mnie oznacza to, że zgniatanego rdzenia nie można użyć w projekcie robotów osadzonych, który w innym przypadku mógłby w pełni wykorzystać tę technologię. Wolałbym nie walczyć z systemem o podstawową funkcjonalność (szczególnie, gdy aktualizacja kanoniczna mogłaby dość łatwo złamać tę poprawkę).
Magneon
Mam nadzieję, że programiści, którzy tego potrzebują, aby zapobiec ponownemu uruchamianiu aktualizacji, wezmą ten pomysł i dopracują funkcję. Nie mogłem zalogować się na ich stronie internetowej (w linku), aby im to zasugerować.
WinEunuuchs2Unix
0

O ile mi wiadomo, nie ma sposobu, aby zapobiec / lub pozwolić, aby Ubuntu nie uruchomił się ponownie po automatycznej aktualizacji.

Ale w celu obejścia tego problemu można włączyć rootpwflagę sudoers, aby przy sudo rebooturuchamianiu, który wyzwalacz pod koniec aktualizacji (chyba) poprosić o hasło root zamiast hasła użytkownika. otwórz to przezvisudo

Defaults rootpw

Lub jeśli proces aktualizacji działa w ten sposób upgrade && rebootjako przykład, poprosi cię o hasło do części polecenia aktualizacji i wykona następne polecenie z buforowanym hasłem. konieczne może być zresetowanie tego haczyka, aby poprosił o hasło ponownie, gdy drugi restart chce się uruchomić.

sudo -K

lub możesz ustawić timestamp_timeoutparametr, aby zezwolić na sudohasło dla każdej komendy wywoływanej przez sudo.

αғsнιη
źródło