Strona główna
» LINUX
»
Jak skonfigurować automatyczne aktualizacje Debiana bez interfejsu użytkownika za pomocą funkcji Unattended-Upgrades
Jak skonfigurować automatyczne aktualizacje Debiana bez interfejsu użytkownika za pomocą funkcji Unattended-Upgrades
Co robi unattended-upgrades na serwerze Debian bez interfejsu graficznego
unattended-upgradesto pakiet Debiana do automatycznego pobierania i instalowania wybranych aktualizacji APT bez konieczności logowania. Na serwerze bezgłowym jest to przydatne do utrzymania bezpieczeństwa, gdy nie ma dostępnej sesji pulpitu i nikt nie jest zobowiązany do apt upgradecodziennego korzystania z niego.
Od października 2026 roku Debian 13 „trixie” jest stabilną wersją Debiana, a unattended-upgradespakietem stabilnym jest wersja 2.12. Pakiet jest przeznaczony do standardowych aktualizacji pakietów, w szczególności aktualizacji bezpieczeństwa i aktualizacji stabilnych. Nie zastępuje on oddzielnego, zaplanowanego procesu aktualizacji z jednej głównej wersji Debiana do innej.
Praktyczny model jest prosty: mechanizm APT okresowo odświeża indeksy pakietów, apt-daily-upgrade.serviceuruchamia program do aktualizacji bez nadzoru zgodnie z harmonogramem, a polityka decyduje, które źródła pakietów są dozwolone. Debian rejestruje wynik w pliku /var/log/unattended-upgrades/.
Instalację pakietu można bezpiecznie powtórzyć: APT po prostu zgłosi, że pakiet jest już zainstalowany, jeśli host już go posiada. Debian opisuje pakiet jako automatyczny instalator aktualizacji zabezpieczeń i innych aktualizacji wybranych przez politykę.
Przykładowy widok terminala do instalacji aktualizacji bez nadzoru. Nazwy repozytoriów i liczba pakietów różnią się w zależności od wydania Debiana i hosta.
W przypadku floty nie zakładaj, że każdy obraz ma ten sam domyślny stan. Niektóre instalacje Debiana zawierają już aktualizacje nienadzorowane; inne nie, a istniejąca konfiguracja mogła zostać wyłączona. Po instalacji sprawdź obowiązującą konfigurację, zamiast zakładać, że obecność pakietu oznacza aktywację żądanej polityki.
2. Włącz okresowe odświeżanie listy pakietów i uruchamianie bez nadzoru
W pliku README Debiana podano, że do ręcznej konfiguracji potrzebne są dwie okresowe wartości APT:
Okresowe ustawienia APT wymagające codziennego odświeżania listy pakietów i przeprowadzania aktualizacji bez nadzoru.
Nie należy tego interpretować jako obietnicy, że zadanie będzie uruchamiane dokładnie o północy każdego dnia. W systemach Debian opartych na SystemD, APT korzysta z jednostek timera i losowego harmonogramu. W przypadku operacji, należy zweryfikować rzeczywisty stan timera i następny wyzwalacz na hoście, zamiast projektować monitorowanie wokół zgadywanego czasu zegara.
3. Zdefiniuj, które repozytoria mogą automatycznie aktualizować pakiety
Polityka kluczy jest dostępna w Unattended-Upgrade::Origins-Patternstarszej Allowed-Originsformie. Dokumentacja Debiana 2.12 zaleca utworzenie lokalnego fragmentu APT, który sortuje według spakowanego 50unattended-upgradespliku, na przykład:
Jest to lepsze niż trwała edycja dostarczonego pliku, ponieważ aktualizacje pakietów mogą zastąpić konfigurację zarządzaną przez dostawcę lub powodować konflikty z nią. Przed zapisaniem wzorców należy sprawdzić metadane wydania, które APT faktycznie widzi:
apt-cache policy
W przypadku większości serwerów bezgłowych konserwatywną polityką jest ograniczenie automatycznych aktualizacji do standardowych stabilnych i bezpiecznych kanałów Debiana. Dokładne wzorce mogą różnić się w zależności od układu repozytorium, serwerów lustrzanych, dostawców zewnętrznych i reguł przypinania, dlatego należy traktować je apt-cache policyjako źródło prawdy w każdym środowisku.
Przykładowy widok edytora zasad. Dopasuj źródła do repozytoriów raportowanych przez zasady apt-cache na serwerze, zamiast kopiować etykiety bezmyślnie.
Opcjonalne elementy sterujące, które warto znać
Konfiguracja 2.12 obsługuje czarne i białe listy pakietów, automatyczne ponowne uruchamianie, raporty pocztowe, usuwanie nieużywanych zależności, limity przepustowości, ograniczenia dotyczące dni aktualizacji oraz dane wyjściowe syslog. Kilka opcji jest szczególnie istotnych na serwerach zdalnych:
Skonfiguruj pocztę tylko wtedy, gdy komputer ma działający transport pocztowy. Jeśli włączysz automatyczne ponowne uruchamianie, domyślne zachowanie Debiana będzie istotne: jeśli parametr Automatic-Rebootma wartość true i /var/run/reboot-requiredistnieje, host może się zrestartować bez potwierdzenia. Możesz ustawić Unattended-Upgrade::Automatic-Reboot-Timeharmonogram ponownego uruchamiania na czas konserwacji.
W przypadku wielu systemów produkcyjnych pozostawienie opcji automatycznego ponownego uruchamiania wyłączonej jest bezpieczniejsze, chyba że usługa jest zbędna, zdefiniowano okna konserwacyjne i zautomatyzowano kontrole stanu systemu po ponownym uruchomieniu.
4. Sprawdź timery systemd i przeprowadź test na sucho
W przypadku standardowej instalacji Debiana opartej na systemd, należy sprawdzić liczniki APT, zamiast szukać wymyślonej unattended-upgrades.timerjednostki:
systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer
apt-daily.timerjest powiązany z rutynową aktywnością pobierania/indeksowania pakietów, podczas gdy apt-daily-upgrade.timeruruchamia ścieżkę usługi uaktualniania/czyszczenia używaną przez nienadzorowane uaktualnienia.
Status timera Systemd dla codziennych zadań APT. Podane daty mają charakter poglądowy; użyj systemctl list-timers do sprawdzenia faktycznego następnego uruchomienia na hoście.
Następnie przetestuj zasady bez zmiany pakietów:
sudo unattended-upgrade --debug --dry-run
To najprzydatniejsze sprawdzenie przed lotem, ponieważ ocenia rzeczywistą konfigurację APT i rejestruje szczegóły debugowania. Przejrzyj dane wyjściowe pod kątem pakietów, które zostałyby wybrane lub wstrzymane, nieoczekiwanych źródeł zewnętrznych, problemów z zależnościami oraz monitów dotyczących plików konfiguracyjnych.
Jeśli próba nie wykryje niczego, może to być całkowicie normalne, gdy serwer jest aktualny. Sprawdź, czy istnieją oczekujące aktualizacje apt list --upgradable, a następnie porównaj ich źródła i zasady ze skonfigurowanymi wzorcami.
5. Monitoruj nienadzorowane aktualizacje i rozważnie zarządzaj ponownymi uruchomieniami
Pakiet zapisuje swój główny dziennik aktywności i dane wyjściowe programu dpkg w następującym miejscu:
sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades.log
sudo journalctl -u apt-daily-upgrade.service --since "7 days ago"
test -f /var/run/reboot-required && cat /var/run/reboot-required
W przypadku pojedynczego komputera w laboratorium domowym, okresowe przeglądanie logów może być wystarczające. W przypadku systemów biznesowych, należy przesyłać awarie do centralnego monitoringu lub sysloga, aby cichy błąd repozytorium, pełny system plików, uszkodzona zależność lub przerwany stan dpkg nie pozostały niezauważone.
Ustawienia referencyjne dla typowych zasad serwera
Scenariusz
Polityka
Notatka operacyjna
Serwer skoncentrowany na bezpieczeństwie
Zezwól na aktualizacje zabezpieczeń i stabilności Debiana; zachowaj instrukcję ponownego uruchamiania
Dobre rozwiązanie domyślne, gdy awaria jest bardziej kosztowna niż opóźniony restart
Węzeł bezstanowy lub redundantny
Zezwalaj na aktualizacje i zaplanowane automatyczne ponowne uruchamianie
Połącz z kontrolami kondycji i opróżnianiem modułu równoważenia obciążenia
Urządzenie wrażliwe na jądro
Używaj czarnej listy pakietów tylko w przypadku udokumentowanego procesu wyjątku
Umieszczenie na czarnej liście może spowodować, że znane luki w zabezpieczeniach pozostaną niezałatane
Serwer z repozytorium dostawcy
Nie zezwalaj na pochodzenie dostawcy, dopóki nie zostanie przejrzana jego polityka aktualizacji
Najpierw sprawdź zasady podpisywania, zasady wsparcia i oczekiwania dotyczące wycofania zmian
Krótki przewodnik rozwiązywania problemów
Timer jest aktywny, ale nie zainstalowano żadnych pakietów
Sprawdź, czy istnieją oczekujące aktualizacje, czy pochodzenie repozytorium jest zgodne z dozwoloną polityką i czy czarna lista lub ograniczenie zależności uniemożliwia wybór. Uruchom system sudo unattended-upgrade --debug --dry-runw celu uzyskania dowodów, zamiast zmieniać politykę losowo.
Serwer czeka na konfigurację pakietu
unattended-upgradesma na celu uniknięcie aktualizacji, które wymagałyby nierozwiązanych monitów konfiguracyjnych dpkg. Jeśli pakiet jest wielokrotnie wstrzymywany, sprawdź dziennik i zdecyduj, czy decyzja dotycząca pliku konfiguracyjnego powinna zostać podjęta ręcznie.
Aktualizacje nigdy nie są uruchamiane po sklonowaniu obrazu maszyny wirtualnej
Sprawdź, czy timery są włączone i aktywne, a następnie sprawdź apt-config dump. Obrazy Golden często zawierają lokalne fragmenty APT, maskowanie lub obejścia zasad, które różnią się od domyślnych ustawień pakietu.
Musisz zatrzymać automatyczne aktualizacje
Użyj ścieżki rekonfiguracji obsługiwanej przez Debian:
sudo dpkg-reconfigure -plow unattended-upgrades
Wyłączenie pakietu nie zastępuje normalnego zarządzania poprawkami; powoduje jedynie przeniesienie odpowiedzialności na ręczny lub zewnętrzny proces koordynacji.
Ostateczna lista kontrolna walidacji
unattended-upgradesjest instalowany z zaufanego repozytorium Debiana.
Włączono okresowe odświeżanie listy pakietów APT oraz nienadzorowaną aktualizację.
Polityka lokalna jest zapisywana w późniejszym pliku nadpisującym, takim jak 52unattended-upgrades-local.
Dozwolone pochodzenie zostało sprawdzone pod kątem apt-cache policy.