SSD Nodes Learn Hosting plans →
Przewodniki Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-08-13

Ubuntu 24.04: czy unattended-upgrades jest włączone?

Sprawdź, czy Ubuntu 24.04 automatycznie aktualizuje pakiety. Dowiedz się, jak działa plik 20auto-upgrades, dlaczego Automatic-Reboot jest wyłączone i jak wykonać testowy dry-run.

Dlaczego warto skonfigurować automatyczne aktualizacje bezpieczeństwa

Niezałatany serwer to najłatwiejszy cel w internecie. Większość włamań na małe serwery nie jest wyrafinowana; wynikają one ze znanych luk w starym oprogramowaniu, którego właściciel nigdy nie zaktualizował. Ubuntu dostarcza narzędzie, które samodzielnie eliminuje ten problem: unattended-upgrades instaluje aktualizacje bezpieczeństwa automatycznie, zgodnie z harmonogramem, bez konieczności logowania się. To najtańszy sposób na poprawę bezpieczeństwa na VPS, a w systemie Ubuntu konfiguracja zajmuje zaledwie kilka minut.

Narzędzie to jest celowo konserwatywne. Domyślnie stosuje tylko aktualizacje bezpieczeństwa, a nie wszystkie aktualizacje pakietów, ponieważ poprawka bezpieczeństwa wiąże się z niskim ryzykiem i warto ją wdrożyć bez sprawdzania, podczas gdy aktualizacja funkcji może zmienić zachowanie, na którym polegasz. To ustawienie domyślne jest właściwe dla większości serwerów i niniejszy przewodnik je zachowuje, wskazując jednocześnie kilka ustawień, które warto zmienić.

Krok 1: Instalacja i aktywacja

W systemie Ubuntu 24.04 pakiet jest często obecny, ale nie zawsze włączony. Zainstaluj go i uruchom:

sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Monit dpkg-reconfigure zada jedno pytanie typu tak/nie: czy automatycznie pobierać i instalować stabilne aktualizacje. Odpowiedz twierdząco. Spowoduje to zapisanie pliku, który aktywuje codzienne zadanie:

cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Pierwsza linia odświeża listę pakietów codziennie; druga uruchamia codzienną aktualizację bez nadzoru. Obie ustawione na 1 oznaczają, że maszyna sprawdza i stosuje aktualizacje bezpieczeństwa każdego dnia, korzystając z timera systemd, bez konieczności podejmowania przez Ciebie dalszych działań.

Krok 2: Decyzja o tym, co jest stosowane automatycznie

Polityka znajduje się w /etc/apt/apt.conf.d/50unattended-upgrades. Otwórz ten plik i spójrz na blok Allowed-Origins w górnej części:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    "${distro_id}ESMApps:${distro_codename}-apps-security";
    "${distro_id}ESM:${distro_codename}-infra-security";
};

Linie -security są kluczowe i domyślnie włączone. To właśnie ta konserwatywna polityka: aktualizacje bezpieczeństwa są instalowane, a zwykłe aktualizacje funkcji pozostają do ręcznego zastosowania w wybranym momencie. Możesz dodać linię pochodzenia "${distro_id}:${distro_codename}-updates", aby automatycznie stosować wszystkie aktualizacje, ale dla serwera hostującego ważne dane, automatyczne pobieranie tylko poprawek bezpieczeństwa jest bezpieczniejszym ustawieniem domyślnym. Pozostaw to bez zmian, chyba że masz konkretny powód, by postąpić inaczej.

Krok 3: Obsługa restartów

Niektóre aktualizacje, takie jak jądro systemu lub biblioteki podstawowe, wchodzą w życie dopiero po restarcie. unattended-upgrades nie zrestartuje serwera, dopóki nie wydasz takiego polecenia, co oznacza, że załatane jądro może pozostać nieużywane do momentu, aż sam zrestartujesz maszynę. Zdecyduj, jak chcesz tym zarządzać i ustaw to jawnie w 50unattended-upgrades:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

To polecenie zrestartuje serwer o czwartej nad ranem, wtedy i tylko wtedy, gdy aktualizacja tego wymaga. Na pojedynczym serwerze VPS bez klastra z przełączaniem awaryjnym, krótki restart wczesnym rankiem jest zazwyczaj właściwym kompromisem, aby zachować aktualność poprawek jądra. Jeśli serwer obsługuje usługi, które nigdy nie mogą zostać nieoczekiwanie zrestartowane, wyłącz restarty i wyrób w sobie nawyk samodzielnego restartowania po sprawdzeniu /var/run/reboot-required.

Krok 4: Weryfikacja działania

Nie czekaj dzień, aby sprawdzić, czy zadanie działa. Uruchom symulację, która pokaże dokładnie, co zostałoby zastosowane, bez wprowadzania żadnych zmian:

sudo unattended-upgrade --dry-run --debug

Dane wyjściowe zawierają listę pakietów, które są brane pod uwagę, oraz ich źródła, dzięki czemu możesz zobaczyć politykę w działaniu. Po co najmniej jednym uruchomieniu właściwego zadania, jego historia znajduje się tutaj:

cat /var/log/unattended-upgrades/unattended-upgrades.log

Ten dziennik jest odpowiedzią na pytanie "czy mój serwer faktycznie się aktualizuje". Jeśli pokazuje instalację pakietów bezpieczeństwa zgodnie z harmonogramem, zadanie działa poprawnie.

Miejsce tego rozwiązania w architekturze

Automatyczne aktualizacje to jedna z warstw zabezpieczeń serwera, a nie całość. Zapobiegają one utrzymywaniu się znanych błędów, ale nie rozwiązują kwestii tego, kto może się zalogować ani co jest wystawione na zewnątrz. Połącz je z utwardzaniem SSH przy użyciu wyłącznie kluczy, aby uniemożliwić ataki brute-force na wejście, zaporą UFW z domyślną polityką odmowy, aby dostępny był tylko wybrany ruch, oraz nieuprzywilejowanymi użytkownikami usług, aby w razie włamania do aplikacji nie przejęto całego systemu. Hostowane aplikacje wymagają dodatkowej ochrony, więc jeśli na serwerze działa własny magazyn haseł, utwardzanie Vaultwarden zabezpieczy token administratora i plik kopii zapasowej, których żadna aktualizacja apt nie ochroni. Łatanie zamyka znane luki; pozostałe warstwy ograniczają szkody wynikające z tych, o których jeszcze nie wiesz.

FAQ

Czy unattended-upgrades stosuje każdą aktualizację, czy tylko te dotyczące bezpieczeństwa?

Domyślnie tylko aktualizacje bezpieczeństwa. Blok Allowed-Origins w /etc/apt/apt.conf.d/50unattended-upgrades włącza źródła -security i pozostawia zwykłe aktualizacje funkcji do ręcznego zastosowania. Jest to działanie celowe: poprawki bezpieczeństwa wiążą się z niskim ryzykiem i warto je stosować automatycznie, podczas gdy aktualizacje funkcji mogą zmienić zachowanie systemu, dlatego większość serwerów powinna zachować konserwatywne ustawienia domyślne.

Czy automatyczne aktualizacje zrestartują mój serwer?

Tylko jeśli je do tego skonfigurujesz. Ustaw Unattended-Upgrade::Automatic-Reboot "true" oraz Automatic-Reboot-Time w pliku konfiguracyjnym, a serwer zrestartuje się o tej godzinie, jeśli aktualizacja będzie tego wymagać, na przykład po poprawce jądra. Jeśli opcja jest wyłączona, załatane jądro czeka na Twój ręczny restart; sprawdzaj /var/run/reboot-required, aby wiedzieć, kiedy jest on wymagany.

Jak sprawdzić, czy automatyczne aktualizacje faktycznie działają?

Uruchom sudo unattended-upgrade --dry-run --debug, aby zobaczyć, co zostałoby zastosowane w tej chwili bez wprowadzania zmian, oraz przeczytaj /var/log/unattended-upgrades/unattended-upgrades.log, aby przejrzeć historię poprzednich uruchomień; każda automatyczna instalacja jest również zapisywana w /var/log/apt/history.log. Jeśli dziennik pokazuje pakiety bezpieczeństwa instalowane zgodnie z codziennym harmonogramem, timer działa. Jeśli symulacja wyświetla No packages found that can be upgraded unattended, oznacza to, że albo wszystko jest już aktualne, albo dozwolone źródła są zbyt wąskie, aby dopasować się do repozytorium bezpieczeństwa.

Czy unattended-upgrades wystarczy, aby zabezpieczyć mój serwer?

Nie, ale jest to niezbędna warstwa. Zapobiega utrzymywaniu się znanych luk, co powstrzymuje najczęstszy rodzaj włamań, ale nie kontroluje dostępu ani ekspozycji usług. Połącz to z utwardzaniem SSH, zaporą z domyślną odmową ruchu oraz użytkownikami usług o minimalnych uprawnieniach, aby uzyskać serwer, do którego włamanie jest rzeczywiście trudne.