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 apt
innym ś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
apt-listchanges
, dlaczego go instalujesz?apt-get purge apt-listchanges
ci pomóc?Odpowiedzi:
Jak znalazłeś i ustawiłeś w swojej konfiguracji,
apt-listchanges
nie powinieneś pytać, czy ustawiłeś frontend nanone
. Możesz także ustawić zmienną środowiskową,APT_LISTCHANGES_FRONTEND=none
aby osiągnąć to samo.Wygląda na to, że naprawdę chcesz skorzystać z
unattended-upgrades
pakietu. Obsługuje wszystko dla Ciebie: wyłączanieapt-listchanges
, ustawianie interfejsu użytkownikanoninteractive
, sprawdzanie i unikanie podpowiedzi konffile itp. Jeśli nic więcej, zawartość skryptu Python/usr/bin/unattended-upgrades
powinna odpowiedzieć na pytania dotyczące jego magii.źródło
apt
config zawiera--force-confold
lub--force-confnew
wDPkg::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 skonfigurowanaunattended-upgrades
). Jeśli wiadomość e-mail nie jest dostępna, jest zalogowana/var/log/unattended-upgrades
.