Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Administracja Linux

Jak wyłączyć automatyczne aktualizacje w Ubuntu (Kompletny przewodnik)

Domyślnie Ubuntu automatycznie instaluje aktualizacje, aby utrzymać system bezpieczny i stabilny. Chociaż to zachowanie jest idealne dla większości użytkowników komputerów stacjonarnych, może być problematyczne w środowiskach produkcyjnych, serwerach testowych lub w każdej sytuacji, w której potrzebujesz precyzyjnej kontroli nad wersjami oprogramowania. Nieoczekiwane aktualizacje mogą przerwać zależności, przeszkodzić uruchomionym usługom lub wprowadzić regresje, które są trudne do zdiagnozowania pod presją.

Ten przewodnik przeprowadzi Cię przez każdą metodę wyłączenia automatycznych aktualizacji w Ubuntu — obejmując APT, Snap i czasomierze systemd — wraz z najlepszymi praktykami dotyczącymi bezpieczeństwa podczas ręcznego zarządzania aktualizacjami.

Dlaczego możesz chcieć wyłączyć aktualizacje automatyczne

Aktualizacje automatyczne to rozsądne ustawienie domyślne, ale istnieją uzasadnione powody, aby je wyłączyć:

  • Stabilność serwera: W środowisku VPS Hosting lub dedykowanego serwera niezaplanowana aktualizacja jądra lub restart usługi może spowodować nieoczekiwane przestoje.
  • Przypinanie wersji: Aplikacje ze ścisłymi wymaganiami zależności mogą się zepsuć, jeśli podstawowe pakiety zostaną dyskretnie uaktualnione.
  • Środowiska testowe: Powtarzalne środowiska testowe wymagają spójnych wersji pakietów w różnych przebiegach.
  • Kontrolowane potoki wdrażania: Przepływy pracy DevOps często zarządzają aktualizacjami za pośrednictwem potoków CI/CD, a nie samego systemu operacyjnego.
  • Ograniczenia zasobów: Automatyczne aktualizacje w tle zużywają CPU, RAM i przepustowość — zasoby, które mogą być krytyczne na zajętym serwerze.

Zrozumienie kompromisów jest niezbędne. Wyłączenie aktualizacji automatycznych całkowicie przenosi odpowiedzialność za łatanie bezpieczeństwa na Ciebie.

Główne mechanizmy automatycznych aktualizacji w Ubuntu

Zanim wyłączysz cokolwiek, warto zrozumieć, co dokładnie wyłączasz. Ubuntu używa czterech głównych mechanizmów automatycznych aktualizacji:

MechanizmCel
unattended-upgradesAutomatycznie instaluje aktualizacje bezpieczeństwa i inne aktualizacje
APT::PeriodicKontroluje, jak często APT sprawdza i pobiera aktualizacje
snapdAutomatycznie odświeża pakiety Snap
systemd timersPlanuje zadania aktualizacji APT w tle

Każdy z tych mechanizmów można wyłączyć niezależnie, co daje ci szczegółową kontrolę nad zachowaniem aktualizacji systemu.

Metoda 1: Wyłączenie automatycznych aktualizacji APT poprzez plik konfiguracyjny

To jest najczęstsze i zalecane podejście. Konfiguracja okresowa APT Ubuntu jest przechowywana w /etc/apt/apt.conf.d/20auto-upgrades.

Krok 1: Otwórz plik konfiguracyjny

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Krok 2: Zmodyfikuj wartości konfiguracyjne

Zazwyczaj zobaczysz coś takiego:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Zmień obie wartości na "0" aby wyłączyć automatyczne aktualizacje listy i nienadzorowane uaktualnienia:

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

Krok 3: Zapisz i wyjdź

Naciśnij Ctrl+O aby zapisać plik, a następnie Ctrl+X aby wyjść z edytora nano.

Opcjonalnie: Rozszerzone ustawienia APT Periodic

Aby uzyskać bardziej szczegółową kontrolę, możesz również edytować lub utworzyć /etc/apt/apt.conf.d/10periodic:

sudo nano /etc/apt/apt.conf.d/10periodic

Ustaw wszystkie wartości na "0":

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

Zapewnia to, że nie będzie żadnej aktywności APT w tle.

Metoda 2: Całkowite usunięcie pakietu unattended-upgrades

Jeśli wolisz bardziej ostateczne podejście, możesz całkowicie usunąć pakiet unattended-upgrades:

sudo apt remove unattended-upgrades -y

Aby również usunąć jego pliki konfiguracyjne:

sudo apt purge unattended-upgrades -y

To całkowicie eliminuje usługę odpowiedzialną za automatyczne aktualizacje bezpieczeństwa. Użyj tego podejścia tylko wtedy, gdy jesteś pewny swojego ręcznego przepływu pracy aktualizacji.

Metoda 3: Wyłączenie automatycznych aktualizacji Snap

Pakiety Snap są zarządzane przez snapd i aktualizują się niezależnie od APT. Istnieją dwa sposoby radzenia sobie z tym.

Opcja A: Zatrzymanie i wyłączenie usługi snapd

To jest najbardziej agresywne podejście i uniemożliwi całą funkcjonalność Snap:

sudo systemctl stop snapd.service
sudo systemctl disable snapd.service

> Uwaga: Wyłączenie snapd całkowicie uniemożliwi uruchamianie wszystkich pakietów Snap. Używaj tego tylko wtedy, gdy nie polegasz na żadnych aplikacjach opartych na Snap.

Opcja B: Modyfikacja harmonogramu odświeżania Snap (Zalecane)

Bezpieczniejszym podejściem jest ustawienie timera odświeżania na okno, które nigdy się nie pojawia, skutecznie blokując auto-aktualizacje przy jednoczesnym zachowaniu funkcjonalności Snap:

sudo snap set system refresh.timer=00:00-00:00

Alternatywnie możesz użyć systemctl edit do zastąpienia środowiska usługi:

sudo systemctl edit snapd.service

Dodaj następujący blok:

[Service]
Environment=SNAPD_REFRESH_TIMER=00:00-00:00

Zapisz i wyjdź. To blokuje Snap przed automatycznym odświeżaniem pakietów bez całkowitego wyłączania usługi.

Metoda 4: Wyłączenie timerów systemd dla APT

Ubuntu używa timerów systemd do planowania zadań aktualizacji APT. Te timery działają niezależnie od usługi unattended-upgrades i powinny być również wyłączone dla pełnej kontroli.

Wyłącz i zatrzymaj oba timery za pomocą jednego polecenia:

sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timer
  • apt-daily.timer — wyzwala codzienną aktualizację listy pakietów APT
  • apt-daily-upgrade.timer — wyzwala codzienny proces uaktualniania

Flaga --now zarówno wyłącza timer z uruchamiania się przy starcie, jak i zatrzymuje go natychmiast, jeśli jest aktualnie uruchomiony.

Jak sprawdzić, czy aktualizacje automatyczne są wyłączone

Po zastosowaniu powyższych zmian potwierdź, że wszystko jest prawidłowo wyłączone.

Sprawdź status timera systemd

systemctl status apt-daily.timer apt-daily-upgrade.timer

Oba timery powinny być zgłaszane jako inactive (dead). Jeśli którykolwiek pokazuje active, ponownie przejrzyj kroki wyłączania powyżej.

Zweryfikuj konfigurację APT

cat /etc/apt/apt.conf.d/20auto-upgrades

Oczekiwane wyjście:

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

Sprawdź status usługi unattended-upgrades

systemctl status unattended-upgrades

Jeśli usunąłeś pakiet, ta komenda zwróci błąd wskazujący, że usługa nie istnieje — co jest oczekiwanym wynikiem.

Ważne zagadnienia bezpieczeństwa po wyłączeniu aktualizacji automatycznych

Wyłączenie aktualizacji automatycznych to ważny wybór administracyjny, ale wiąże się z rzeczywistymi obowiązkami. Oto co musisz zrobić, aby utrzymać system w bezpiecznym stanie:

1. Aktualizuj ręcznie i regularnie

Uruchom następujące polecenia zgodnie z ustalonym harmonogramem — co najmniej raz w tygodniu:

sudo apt update && sudo apt upgrade -y

Aby przeprowadzić pełną aktualizację na poziomie dystrybucji:

sudo apt full-upgrade -y

2. Monitoruj porady dotyczące bezpieczeństwa

Subskrybuj listę mailingową Ubuntu Security Notices (USN) lub kanał RSS. Dzięki temu będziesz świadomy krytycznych luk w zabezpieczeniach zaraz po ich ujawnieniu.

3. Twórz migawki przed aktualizacją

Na serwerach produkcyjnych zawsze utwórz migawkę systemu lub kopię zapasową przed zastosowaniem aktualizacji. Jeśli korzystasz z Dedicated Server, użyj narzędzi do tworzenia migawek dostarczonych przez dostawcę lub rozwiązania takiego jak rsync, Timeshift lub migawki LVM, aby utworzyć punkt przywracania.

4. Użyj środowiska przejściowego

Przetestuj aktualizacje w środowisku przejściowym lub deweloperskim przed zastosowaniem ich w produkcji. Jest to szczególnie ważne dla serwerów uruchamiających złożone stosy.

5. Okresowo audytuj zainstalowane pakiety

apt list --upgradable

Pokazuje to wszystkie pakiety z dostępnymi aktualizacjami, umożliwiając selektywne stosowanie poprawek na podstawie priorytetu.

Jak ponownie włączyć aktualizacje automatyczne

Jeśli zdecydujesz się przywrócić zachowanie automatycznych aktualizacji, proces jest prosty.

Ponowne włączenie za pośrednictwem pliku konfiguracyjnego

Edytuj /etc/apt/apt.conf.d/20auto-upgrades i ustaw wartości z powrotem na "1":

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Ponowna instalacja unattended-upgrades

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

Ponowne włączenie timerów systemd

sudo systemctl enable --now apt-daily.timer
sudo systemctl enable --now apt-daily-upgrade.timer

Ponowne włączenie automatycznego odświeżania Snap

sudo snap set system refresh.timer=00:00~24:00/4

To przywraca domyślny harmonogram odświeżania Snap (cztery razy dziennie w losowych odstępach czasu).

Wybór odpowiedniego środowiska hostingowego do ręcznej kontroli aktualizacji

Jeśli zarządzasz aktualizacjami ręcznie, typ używanego środowiska hostingowego ma znaczenie. Pełny dostęp root jest niezbędny dla poziomu kontroli opisanego w tym przewodniku.

  • VPS Hosting — Idealny dla deweloperów i administratorów systemów, którzy potrzebują pełnej kontroli nad swoim środowiskiem Ubuntu, w tym zarządzania aktualizacjami, konfiguracji jądra i planowania usług.
  • Serwery dedykowane — Najlepszy wybór dla obciążeń produkcyjnych o wysokim ruchu, gdzie czas aktualizacji, użycie zasobów i stabilność są krytyczne dla biznesu.
  • VPS z cPanel — Dobra opcja, jeśli chcesz dostęp na poziomie root w połączeniu z graficznym interfejsem do zarządzania ustawieniami serwera i hostowanymi stronami internetowymi.

Środowiska hostingu współdzielonego zwykle nie zapewniają dostępu na poziomie systemu operacyjnego wymaganego do modyfikacji konfiguracji APT lub systemd.

Szybki Przewodnik: Wszystkie Polecenia na Pierwszy Rzut Oka

# Disable APT auto-updates via config
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
# Set both values to "0"

# Remove unattended-upgrades package
sudo apt remove unattended-upgrades -y

# Disable Snap auto-refresh (safe method)
sudo snap set system refresh.timer=00:00-00:00

# Disable Snap service entirely (aggressive)
sudo systemctl stop snapd.service
sudo systemctl disable snapd.service

# Disable systemd APT timers
sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timer

# Verify timer status
systemctl status apt-daily.timer apt-daily-upgrade.timer

# Manual update command
sudo apt update && sudo apt upgrade -y

Podsumowanie

Wyłączenie automatycznych aktualizacji w Ubuntu daje ci precyzyjną kontrolę nad tym, kiedy i jak zmiany są stosowane do twojego systemu. Jest to szczególnie cenne w środowiskach serwerowych, potokach CI/CD i każdym kontekście, w którym stabilność i przewidywalność mają priorytet nad szybkością.

Proces obejmuje cztery kluczowe obszary: konfigurację okresową APT, pakiet unattended-upgrades, mechanizm odświeżania Snap i czasomierze systemd. Zajęcie się wszystkimi czterema zapewnia, że żaden proces aktualizacji w tle nie może modyfikować twojego systemu bez twojego wyraźnego działania.

Jednak ta kontrola wiąże się z odpowiedzialnością. Musisz zobowiązać się do regularnego harmonogramu ręcznych aktualizacji, monitorować doradztwo bezpieczeństwa i utrzymywać kopie zapasowe przed zastosowaniem zmian. Dobrze zarządzany serwer z ręcznymi aktualizacjami jest bezpieczny — zaniedbany nie jest.

Niezależnie od tego, czy uruchamiasz środowisko programistyczne, serwer aplikacji produkcyjnych czy specjalistyczne obciążenie na GPU Hosting, zrozumienie i kontrolowanie strategii aktualizacji jest fundamentalną częścią profesjonalnej administracji systemem.