Jak skonfigurować aktualizacje nienadzorowane w systemie Ubuntu 24.04, 22.04 lub 20.04

Ubuntu to jeden z najpopularniejszych systemów operacyjnych opartych na Linuksie, szeroko stosowany w serwerach, komputerach stacjonarnych i urządzeniach wbudowanych. Oferuje obszerną bibliotekę pakietów oprogramowania i narzędzi, które użytkownicy mogą instalować i konfigurować zgodnie ze swoimi potrzebami. Jednak utrzymanie aktualności i bezpieczeństwa systemu może być wyzwaniem w przypadku wielu pakietów i aktualizacji. W tym miejscu wkracza pakiet aktualizacji nienadzorowanych. W tym artykule wyjaśnimy, czym jest pakiet aktualizacji nienadzorowanych, jego zalety i funkcje, a także przeprowadzimy Cię przez proces konfigurowania aktualizacji nienadzorowanych w wersjach Ubuntu 24.04, 22.04 lub 20.04 LTS przy użyciu terminal wiersza poleceń.

Co to jest pakiet aktualizacji bez nadzoru?

Unattended Upgrades to pakiet automatyzujący instalowanie zabezpieczeń i innych aktualizacji w systemach Ubuntu. Działa cicho w tle i regularnie sprawdza dostępność nowych aktualizacji, pobierając i instalując je automatycznie, bez interwencji użytkownika. Pakiet Unattended Upgrades to niezbędne narzędzie zapewniające bezpieczeństwo i stabilność systemu poprzez aktualizację go za pomocą najnowszych aktualizacji i poprawek.

Korzyści i funkcje konfiguracji aktualizacji nienadzorowanych:

Oto niektóre korzyści i funkcje pakietu aktualizacji bez nadzoru w systemie Ubuntu:

  • Automatyczne aktualizacje: Pakiet aktualizacji nienadzorowanych automatyzuje pobieranie i instalowanie aktualizacji, oszczędzając czas i wysiłek użytkowników.
  • Większe bezpieczeństwo: Pakiet zapewnia, że ​​system jest zawsze na bieżąco z najnowszymi aktualizacjami i poprawkami zabezpieczeń, zmniejszając ryzyko ataków złośliwego oprogramowania i luk w zabezpieczeniach systemu.
  • Większa stabilność: Pakiet aktualizacji bez nadzoru zapewnia stabilność i niezawodność systemu, utrzymując go na bieżąco.
  • Konfigurowalne ustawienia: użytkownicy mogą dostosować ustawienia pakietu do swoich potrzeb, na przykład które aktualizacje mają być instalowane automatycznie, które należy ignorować i kiedy je instalować.
  • System powiadomień: Pakiet wysyła użytkownikom powiadomienia o zainstalowanych aktualizacjach, zapewniając przejrzystość i kontrolę nad aktualizacjami systemu.

Zaktualizuj Ubuntu

Przed zainstalowaniem i skonfigurowaniem pakietu aktualizacji nienadzorowanych należy zaktualizować system Ubuntu, aby uniknąć konfliktów. Aby zaktualizować system Ubuntu, otwórz terminal i wprowadź następujące polecenie:

sudo apt update && sudo apt upgrade

To polecenie zaktualizuje wszystkie zainstalowane pakiety i ich zależności do najnowszych wersji. W zależności od liczby aktualizacji dostępnych dla Twojego systemu, może to chwilę potrwać.

Zainstaluj pakiet aktualizacji nienadzorowanych

Aby zainstalować pakiet aktualizacji nienadzorowanych, otwórz terminal i wprowadź następujące polecenie:

sudo apt install unattended-upgrades

To polecenie zainstaluje pakiet i wszystkie jego zależności w systemie Ubuntu. Pakiet powinien zostać zainstalowany domyślnie. Jeśli jednak go usunąłeś, użyj powyższego polecenia, aby zainstalować go ponownie.

Musisz także zainstalować pakiet apt-config-auto-update, jeśli chcesz, aby system Ubuntu uruchomił się ponownie po zastosowaniu aktualizacji wymagających automatycznego ponownego uruchomienia systemu. Aby go zainstalować, użyj następującego polecenia:

sudo apt install apt-config-auto-update

Zaleca się również, aby użytkownicy laptopów zainstalowali pakiet powermgmt-base, aby móc korzystać z opcji baterii bez nadzoru. Aby zainstalować ten pakiet, otwórz terminal i wprowadź następujące polecenie:

sudo apt install powermgmt-base

Po zainstalowaniu pakietu należy go skonfigurować zgodnie ze swoimi potrzebami. Na przykład możesz dostosować, które aktualizacje mają być instalowane automatycznie, które należy ignorować i kiedy je instalować. Należy pamiętać, że pakiet aktualizacji nienadzorowanych wymaga uprawnień roota do uruchomienia. Dlatego wszystkie polecenia wymienione w tym przewodniku należy uruchomić za pomocą polecenia sudo.

Zalecane jest również sprawdzenie, czy pakiet aktualizacji nienadzorowanych działa poprawnie. Aby to zrobić, otwórz terminal i wprowadź następujące polecenie:

sudo unattended-upgrades --dry-run --debug

Ważne jest, aby zapoznać się z poleceniami systemctl dotyczącymi aktualizacji nienadzorowanych, ponieważ może zaistnieć potrzeba sprawdzenia statusu po wprowadzeniu zmian lub ponownym uruchomieniu. Aby sprawdzić status aktualizacji nienadzorowanych, użyj następującego polecenia:

systemctl status unattended-upgrades

Następujące polecenia systemctl umożliwiają uruchomienie, zatrzymanie, włączenie podczas rozruchu, wyłączenie podczas rozruchu lub ponowne uruchomienie usługi uaktualnień nienadzorowanych:

Uruchom usługi nienadzorowane:

sudo systemctl start unattended-upgrades

Zatrzymaj usługi nienadzorowane:

sudo systemctl stop unattended-upgrades

Włącz podczas uruchamiania usługi nienadzorowane:

sudo systemctl enable unattended-upgrades

Wyłącz podczas uruchamiania usługi nienadzorowane:

sudo systemctl disable unattended-upgrades

Uruchom ponownie usługi nienadzorowane:

sudo systemctl restart unattended-upgrades

Skonfiguruj aktualizacje nienadzorowane

W tej sekcji opisano konfigurowanie ustawień pakietu uaktualnień nienadzorowanych w pliku konfiguracyjnym za pomocą poleceń terminala. Należy pamiętać, że te ustawienia są opcjonalne i można je spersonalizować zgodnie z własnymi wymaganiami. Każde ustawienie zostanie szczegółowo wyjaśnione, aby pomóc Ci zrozumieć jego cel i funkcjonalność. Umożliwi to podejmowanie świadomych decyzji podczas konfigurowania pakietu aktualizacji bez nadzoru w systemie Ubuntu.

Zanim przejdziemy do pliku konfiguracyjnego, poniżej znajduje się podsumowanie wszystkich opcji CLI pakietu Unattended Upgrades wraz z objaśnieniami:

OpcjaOpis
-h, –pomocyWyświetla komunikat pomocy i kończy działanie
-d, –debugWłącza komunikaty debugowania
–apt-debugSprawia, że ​​apt/libapt drukuje szczegółowe komunikaty debugowania
-v, –pełneWłącza komunikaty informacyjne
-próbaSymuluje proces aktualizacji i pobierania, ale nie instaluje
–tylko do pobraniaPobiera tylko aktualizacje; nie próbuj ich instalować
–minimalne kroki aktualizacjiAktualizuje pakiety w minimalnych krokach (i umożliwia przerwanie za pomocą SIGTERM) – jest to zachowanie domyślne
–bez-minimalnych-kroków-aktualizacjiUaktualnia wszystkie pakiety razem, zamiast w mniejszych zestawach

Opcji tych można użyć podczas uruchamiania polecenia unattended-upgrade w terminalu w celu kontrolowania zachowania procesu automatycznej aktualizacji. Na przykład opcja –dry-run może pomóc w przetestowaniu procesu aktualizacji bez wprowadzania jakichkolwiek zmian w systemie, podczas gdy opcja –download-only może zostać użyta do pobrania aktualizacji bez ich instalowania.

Opcja –minimal-upgrade-steps jest domyślnym zachowaniem w przypadku aktualizacji nienadzorowanych, natomiast opcja –no-minimal-upgrade-steps aktualizuje wszystkie pakiety razem, a nie w mniejszych zestawach. Zrozumienie tych opcji podczas konfigurowania aktualizacji nienadzorowanych jest ważne, aby mieć pewność, że zachowanie będzie zgodne z Twoimi preferencjami i wymaganiami.

Edycja pliku konfiguracyjnego

Do edycji pliku konfiguracyjnego zaleca się użycie edytora tekstu z uprawnieniami roota, np. nano. Aby otworzyć plik za pomocą nano, uruchom następujące polecenie:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Spowoduje to otwarcie pliku konfiguracyjnego w edytorze nano. W tym miejscu możesz modyfikować różne opcje wymienione powyżej. Pamiętaj, aby usunąć wszelkie komentarze (linie zaczynające się od „//” lub „#”) z pliku, aby aktywować opcje.

Po zakończeniu edycji pliku zapisz i wyjdź, naciskając „Ctrl+X”, następnie „Y”, a następnie „Enter”.

Dozwolone pochodzenie

Ta opcja określa źródła, z których powinny być instalowane aktualizacje. Domyślnie dozwolone są tylko repozytoria zabezpieczeń i aktualizacji. Możesz dodać do listy kolejne repozytoria, odkomentując tę ​​opcję i dodając żądane repozytoria, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Allowed-Origins {
      "${distro_id}:${distro_codename}";
      "${distro_id}:${distro_codename}-security";
      "${distro_id}:${distro_codename}-updates";
      "${distro_id}:${distro_codename}-proposed";
      "${distro_id}:${distro_codename}-backports";
};

Czarna lista pakietów

Ta opcja pozwala określić pakiety, które powinny być wykluczone z automatycznych aktualizacji. Aby wykluczyć pakiety, odkomentuj tę opcję i dodaj żądane pakiety, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Package-Blacklist {
      "my-package";
      "my-other-package";
};

Automatyczna naprawa przerwana Dpkg

Ta opcja określa, czy system powinien automatycznie naprawiać przerwane instalacje „dpkg”. Aby włączyć automatyczne naprawianie, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::AutoFixInterruptedDpkg "true";

Wersja deweloperska „automatyczna”

Ta opcja określa, czy automatycznie przeprowadzić aktualizację do wersji rozwojowej. Domyślnie ta opcja jest wyłączona. Aby włączyć automatyczne aktualizacje do wersji rozwojowej, ustaw wartość na „auto”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::DevRelease "auto";

Minimalne kroki „prawda”

Ta opcja określa, czy podczas aktualizacji należy wykonać minimalną liczbę kroków. Domyślnie ta opcja jest włączona. Aby wyłączyć minimalne kroki, ustaw wartość na „false”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::MinimalSteps "false";

ZainstalujOnShutdown „false”

Ta opcja określa, czy instalować uaktualnienia przy zamykaniu systemu. Domyślnie ta opcja jest wyłączona. Aby umożliwić instalację przy zamykaniu, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::InstallOnShutdown "true";

Poczta

Opcja ta określa adres e-mail, na który mają być wysyłane powiadomienia. Domyślnie powiadomienia nie są wysyłane. Aby określić adres e-mail, dodaj go jako wartość ciągu, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Mail "example@mail.com";

MailReport „w przypadku zmiany”

Ta opcja określa, kiedy wysyłać powiadomienia e-mail. Domyślnie powiadomienia są wysyłane tylko wtedy, gdy nastąpi zmiana. Aby wysyłać powiadomienia za każdym razem, ustaw wartość na „przy uruchomieniu”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::MailReport "on-start";

Usuń nieużywane pakiety jądra

Ta opcja określa, czy po aktualizacji usunąć nieużywane pakiety jądra. Domyślnie ta opcja jest włączona. Aby wyłączyć usuwanie nieużywanych pakietów jądra, ustaw wartość na „false”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Remove-Unused-Kernel-Packages "false";

Usuń-nowe-nieużywane-zależności

To ustawienie kontroluje usuwanie nowych zależności, których system nie jest już potrzebny po aktualizacji pakietów. To ustawienie jest domyślnie włączone, a wszelkie nowe zależności, które nie są już potrzebne, zostaną automatycznie usunięte z systemu. Aby włączyć to ustawienie, użyj następującego polecenia:

Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

Jeśli wolisz zachować te nowe zależności, możesz wyłączyć to ustawienie, zmieniając wartość na „false”. Należy jednak pamiętać, że może to spowodować nagromadzenie się w systemie niewykorzystanych zależności i zajęcie cennego miejsca na dysku.

Usuń nieużywane zależności

Ta opcja określa, czy po aktualizacji usunąć nieużywane zależności. Domyślnie ta opcja jest wyłączona. Aby umożliwić usunięcie nieużywanych zależności, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Remove-Unused-Dependencies "true";

Automatyczne ponowne uruchomienie

Ta opcja określa, czy system ma być automatycznie ponownie uruchamiany po aktualizacji. Domyślnie ta opcja jest wyłączona. Aby włączyć automatyczne ponowne uruchamianie, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Automatic-Reboot "true";

Automatyczne ponowne uruchomienie z użytkownikami

Ta opcja określa, czy system ma zostać ponownie uruchomiony, gdy użytkownicy będą logowani automatycznie. Domyślnie ta opcja jest włączona. Aby wyłączyć automatyczne ponowne uruchamianie, gdy użytkownicy są zalogowani, ustaw wartość na „false”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Automatic-Reboot-WithUsers "false";

Czas automatycznego ponownego uruchomienia

Ta opcja określa czas, o którym system powinien automatycznie uruchomić się ponownie po aktualizacji. Domyślnie ta opcja jest ustawiona na „02:00”. Aby zmienić czas ponownego uruchomienia, zmodyfikuj wartość jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Automatic-Reboot-Time "03:00";

Nabyć::http::Dl-Limit

Ta opcja określa maksymalną prędkość pobierania pakietów w kilobajtach na sekundę. Domyślnie ta opcja jest wyłączona. Aby włączyć ograniczenie prędkości pobierania, ustaw wartość na żądaną prędkość, jak pokazano w poniższym przykładzie:

Acquire::http::Dl-Limit "100";

Włącz Syslog

Ta opcja określa, czy zdarzenia aktualizacji mają być rejestrowane w dzienniku systemowym. Domyślnie ta opcja jest włączona. Aby wyłączyć rejestrowanie, ustaw wartość na „false”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::SyslogEnable "false";

Narzędzie Syslog

Ta opcja określa obiekt, w którym powinny być rejestrowane zdarzenia aktualizacji. Domyślnie zdarzenia są rejestrowane w narzędziu „demon”. Aby rejestrować zdarzenia w innym obiekcie, zmodyfikuj wartość jak pokazano w poniższym przykładzie:

Unattended-Upgrade::SyslogFacility "local7";

Tylko na ACPower

Ta opcja określa, czy aktualizacje mają być przeprowadzane tylko wtedy, gdy system jest podłączony do zasilania sieciowego. Domyślnie ta opcja jest wyłączona. Aby włączyć aktualizacje wyłącznie przy zasilaniu sieciowym, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::SyslogFacility "local7";

Pomiń aktualizacje w przypadku połączeń taryfowych

Ta opcja określa, czy pominąć aktualizacje, gdy system jest podłączony do połączenia taryfowego. Domyślnie ta opcja jest włączona. Aby pobrać aktualizacje dla połączeń taryfowych, ustaw wartość na „false”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";

Gadatliwy

Ta opcja określa, czy wyświetlać szczegółowe informacje o aktualizacji. Domyślnie ta opcja jest wyłączona. Aby włączyć szczegółowe wyjście, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Verbose "true";

Odpluskwić

Ta opcja określa, czy podczas aktualizacji mają być wyświetlane informacje debugowania. Domyślnie ta opcja jest wyłączona. Aby włączyć wyjście debugowania, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Debug "true";

Zezwól na obniżenie wersji

Ta opcja określa, czy zezwolić na obniżenie wersji pakietów podczas aktualizacji. Domyślnie ta opcja jest wyłączona. Aby zezwolić na niższą wersję, ustaw wartość na „true”, jak pokazano w poniższym przykładzie:

Unattended-Upgrade::Allow-downgrade "true";

Pamiętaj, że zezwolenie na niższą wersję może być niebezpieczne i prowadzić do niestabilności systemu lub luk w zabezpieczeniach. Zaleca się włączenie tej opcji tylko wtedy, gdy jest to konieczne i dokładne rozważenie związanego z tym ryzyka.

Testowanie i stosowanie zmian

Po dokonaniu jakichkolwiek zmian w pliku konfiguracyjnym ważne jest uruchomienie następującego polecenia, aby upewnić się, że zmiany zostaną zastosowane:

sudo unattended-upgrades --dry-run --debug

To polecenie symuluje przebieg aktualizacji i wyświetla wszelkie błędy lub ostrzeżenia, które mogą wystąpić w wyniku zmian wprowadzonych w pliku konfiguracyjnym. Jeśli wszystko wygląda dobrze, możesz uruchomić poniższe polecenie, aby przeprowadzić faktyczną aktualizację:

sudo unattended-upgrades

To polecenie automatycznie sprawdzi i zainstaluje dostępne aktualizacje w oparciu o ustawienia konfiguracyjne.

Wykonując powyższe kroki, powinieneś lepiej zrozumieć, jak skonfigurować i zmodyfikować pakiet Unattended-Upgrades w systemie Ubuntu.

Planowanie automatycznych aktualizacji za pomocą zadania Cron

Aby zaplanować automatyczne, nienadzorowane aktualizacje systemu Ubuntu, możesz użyć zadania cron. Zadanie cron to harmonogram zadań oparty na czasie w systemie Linux, który umożliwia automatyczne uruchamianie poleceń lub skryptów w określonych godzinach lub odstępach czasu.

Aby utworzyć zadanie cron dla aktualizacji nienadzorowanych, wykonaj poniższe czynności:

Otwórz plik konfiguracyjny crontab, uruchamiając następującą komendę:

sudo crontab -e

Spowoduje to otwarcie pliku crontab w edytorze nano. Dodaj następujący wiersz na dole pliku:

0 0 * * * /usr/bin/unattended-upgrade -d

Ta linia określa, że ​​polecenie aktualizacji bez nadzoru powinno być uruchamiane codziennie o północy (0 0 * * *). Zapisz i wyjdź z pliku, naciskając „Ctrl+X”, następnie „Y”, a następnie „Enter”.

Powyższe zadanie cron będzie uruchamiać polecenie unattended-upgrade codziennie o północy, sprawdza dostępność aktualizacji i instaluje je automatycznie w oparciu o ustawienia konfiguracyjne.

Automatyczne aktualizacje należy planować tylko wtedy, gdy system nie jest używany, ponieważ aktualizacje mogą wymagać ponownego uruchomienia lub spowodować ponowne uruchomienie aplikacji.

Sprawdzanie dzienników nienadzorowanych aktualizacji

Pakiet Unattended-Upgrades domyślnie rejestruje wszystkie działania związane z aktualizacją w syslog. Dzienniki znajdują się w pliku /var/log/syslog i innych dziennikach systemowych.

Aby sprawdzić dzienniki aktualizacji nienadzorowanych, możesz użyć następującego polecenia:

sudo grep unattended-upgrades /var/log/syslog

To polecenie przeszuka plik syslog w poszukiwaniu wpisów zawierających słowo kluczowe „unattended-upgrades” i wyświetli je na ekranie. Możesz także użyć następującego polecenia, aby wyświetlić ostatnie 50 wpisów w pliku syslog:

sudo tail -n 50 /var/log/syslog | grep unattended-upgrades

To polecenie wyświetli ostatnie 50 wpisów w pliku syslog, które zawierają słowo kluczowe „unattended-upgrades”.

Oprócz powyższych poleceń możesz użyć różnych opcji grep, aby filtrować logi na podstawie określonych kryteriów. Na przykład, aby filtrować logi według daty i godziny, możesz użyć następującego polecenia:

sudo grep "unattended-upgrades.*YYYY-MM-DD" /var/log/syslog

Zastąp „RRRR-MM-DD” żądaną datą w formacie rok-miesiąc-dzień. To polecenie wyświetli wszystkie wpisy dziennika zawierające słowo kluczowe „unattended-upgrades” i odpowiadające określonej dacie.

Możesz także użyć następującego polecenia, aby filtrować dzienniki według nazwy pakietu:

sudo grep "unattended-upgrades.*<package_name>" /var/log/syslog

Zastępować " ” z nazwą pakietu, który chcesz wyszukać. To polecenie wyświetli wszystkie wpisy dziennika zawierające słowo kluczowe „unattended-upgrades” i pasujące do określonej nazwy pakietu.

Za pomocą powyższych poleceń możesz łatwo sprawdzać i filtrować dzienniki aktualizacji nienadzorowanych w systemie Ubuntu i rozwiązywać wszelkie problemy, które mogą pojawić się podczas procesu aktualizacji.

Wniosek

Podsumowując, skonfigurowanie aktualizacji nienadzorowanych w systemie Ubuntu może znacznie poprawić jego bezpieczeństwo i stabilność. Automatycznie instalując aktualizacje i poprawki zabezpieczeń, możesz mieć pewność, że Twój system będzie zawsze na bieżąco z najnowszymi poprawkami zabezpieczeń, bez konieczności ręcznego sprawdzania dostępności aktualizacji i ich instalowania.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

3 komentarze do “How to Configure Unattended Upgrades on Ubuntu 24.04, 22.04 or 20.04”

  1. Cześć, w tym wierszu jest literówka, w słowie enable brakuje litery L. Dzięki za przewodnik!

    Włącz podczas uruchamiania usługi nienadzorowane:
    sudo systemctl enab unattended-upgrades

    Odpowiedz

Dodaj komentarz