Czy istnieje sposób na wykonanie apt-get dist-upgrade
w Debianie odpowiedzi, która nie tylko automatycznie odpowie „tak” na wszystkie zadane pytania, ale także zastosuje rozsądne wartości domyślne jako odpowiedzi na pytania, które są na tyle skomplikowane, że wymagają wyskakujących okienek z interaktywnymi oknami dialogowymi? Myślę tutaj o mapach klawiszy, które pojawiają się podczas aktualizacji libc6
, oraz o wyborze obrazu jądra.
Chodzi o to, aby móc zdalnie zainicjować dość dużą dist-upgrade
- nawet w przypadku maszyny, która jest bardzo opóźniona - i nie musieć opiekować się nią w ogóle, chyba że coś jest po prostu strasznie, katastrofalnie złe.
Czy to możliwe?
Z góry dziękuję!
Odpowiedzi:
Jeśli ustawisz
DEBIAN_FRONTEND=noninteractive
(aby zatrzymać wyświetlanie monitów debconf) i dodaszforce-confold
orazforce-confdef
do swojego/etc/dpkg/dpkg.cfg
pliku, powinieneś mieć całkowicie nieinteraktywną instalację pakietu. Każdy pakiet, który wciąż prosi o podanie informacji, zawiera błąd krytyczny dla wydania (i mówię, że zarówno jako ćpun automatyzacji, jak i jako deweloper Debiana).źródło
apt-listchanges
został otwarty przezless
.Florian Lohoff opublikował sposób, aby uzyskać sugestię womble w jednym poleceniu:
Oczywiście możesz także użyć
-o Dpkg::Options::="--force-confnew --force-confdef"
(wyszukaj na stronie podręcznika dpkg w poszukiwaniu informacji). Nie jestem jednak pewien, w jakich przypadkach miałoby to znaczenie. Osobiście potrzebuję nieinteraktywnego uaktualnienia, aby zaktualizować obrazy waniliowe, w takim przypadku przypuszczam, że zawsze wybranie nowego pliku konfiguracyjnego (bez--force-confdef
) jest rozsądną rzeczą.źródło
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Chociaż powyższa odpowiedź womble jest ogólnie dobra, nie zadziałała dla mnie i musiałem przeprowadzić dodatkowe badania, aby przejść w 100% bez nadzoru. Pomyślałem, że podzielę się rezultatem w zwięzły sposób, aby ułatwić przyszłym użytkownikom.
Poniżej znajduje się skrypt, który będzie działał zgodnie z zaleceniami aktualizacji informacji o wersji debian 8 (głównie) wraz z flagami i zmiennymi środowiskowymi, które spowodują, że będzie on bezobsługowy. (
echo
są tylko do debugowania i mogą zostać usunięte - chociaż zalecam ich przechowywanie, więc jeśli skrypt utknie, będziesz wiedział, gdzie)źródło
> = Apt 1.1
Jeśli używasz Apt 1,1 lub powyżej,
--force-yes
została zaniechana , więc masz do korzystania z opcji zaczynając--allow
zamiast, na przykład--allow-downgrades
,--allow-remove-essential
,--allow-change-held-packages
.Zatem polecenie brzmi:
Uwaga: Użyj,
--force-confold
aby zachować stare i--force-confnew
zachować nowe konfiguracje.Źródło: CFE-2360: Uczyń wersję modułu pakietu apt_get świadomą .
Związane z:
źródło
Ze strony podręcznika
apt-get(8)
:Dla porównania,
-y
opcja działayum(8)
również na.źródło