wyłącz apt-listchanges (i inne interaktywne rzeczy) podczas aktualizacji (niezawodnie)

15

Muszę przyznać, że naprawdę nie znoszę apt-listchanges. Jeśli mam dokonać ogromnej aktualizacji, chcę po prostu zostawić komputer na kilka godzin. Pytający o to pytanie o błąd serwera miał na myśli podobny cel, ale po wdrożeniu wszystkich sugestii w tym poście nadal mnie to uderzyło apt-listchanges.

Dlaczego tak trudno jest osiągnąć brak interaktywności z aptinnym świetnym programem, skoro aspiruje do niego filozofia uniksowa?

Mam nadzieję, że zmiany, które wprowadziłem /etc/apt/listchanges.conf, pomogą, ale chcę sugestii, jak niezawodnie dokonywać aktualizacji bez jakiejkolwiek interakcji.

[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news

Oto polecenie, którego użyłem

DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade

Dodałem również następujące wiersze /etc/dpkg/dpkg.cfg

force-confold
force-confdef
ixtmixilix
źródło
2
Jeśli nie lubisz apt-listchanges, dlaczego go instalujesz?
Gilles „SO- przestań być zły”
3
Nie usuwasz go, żeby apt-get purge apt-listchangesci pomóc?
stokrotka
Warl0ck ma rację. Odinstaluj to. Cały czas używam apt-get bez interakcyjności.
bahamat
4
przyszedł fabrycznie zainstalowany z moim najnowszym debianem ... d'oh!
ixtmixilix
1
Tak, naprawdę nienawidzę tego, że wydaje się to domyślne.
UpTheCreek,

Odpowiedzi:

11

Jak znalazłeś i ustawiłeś w swojej konfiguracji, apt-listchangesnie powinieneś pytać, czy ustawiłeś frontend na none. Możesz także ustawić zmienną środowiskową, APT_LISTCHANGES_FRONTEND=noneaby osiągnąć to samo.

Wygląda na to, że naprawdę chcesz skorzystać z unattended-upgradespakietu. Obsługuje wszystko dla Ciebie: wyłączanie apt-listchanges, ustawianie interfejsu użytkownika noninteractive, sprawdzanie i unikanie podpowiedzi konffile itp. Jeśli nic więcej, zawartość skryptu Python /usr/bin/unattended-upgradespowinna odpowiedzieć na pytania dotyczące jego magii.

Jim Paris
źródło
W jaki sposób unika podpowiedzi conffile? Czy po prostu je ignoruje, zachowując konfigurację lub zastępując ją?
Natalie Adams,
Jeśli aptconfig zawiera --force-confoldlub --force-confneww DPkg::Options, zachowują się zgodnie z oczekiwaniami. W przeciwnym razie pakiet, który uruchomi monit o potwierdzenie, nie zostanie zaktualizowany, a wiadomość e-mail zostanie wysłana (jeśli wiadomość e-mail jest skonfigurowana unattended-upgrades). Jeśli wiadomość e-mail nie jest dostępna, jest zalogowana /var/log/unattended-upgrades.
Jim Paris