Jak skonfigurować automatyczną aktualizację pakietów?

Jak skonfigurować automatyczną aktualizację pakietów?

W tym artykule omówię konfigurację automatycznych aktualizacji zabezpieczeń w Ubuntu 22.04 LTS.

Ubuntu często wydaje aktualizacje oprogramowania, poprawki zabezpieczeń i inne krytyczne aktualizacje a manualne sprawdzanie aktualizacji i aktualizowanie systemu jest żmudnym procesem. Szczególnie w przypadku zarządzania większą ilością maszyn. Dodatkowo istnieje ryzyko pominięcia istotnych aktualizacji. Dlatego warto upewnić się że w Twoim środowisku maszyny z systemem Linux są zaktualizowane o najnowsze „aktualizacje zabezpieczeń”.

Żeby zmienić ustawienia aktualizacji musisz posiadać konto z uprawnieniami administracyjnymi.

1. Zaktualizuj pakiety

W pierwszej kolejności zaktualizuj repozytorium pakietów.

sudo apt update

2. Zainstaluj pakiet unattended-upgrades

Zainstaluj pakiet unattended-upgrades. Możliwe jest że pakiet jest już zainstalowany w Twoim systemie.

sudo apt install unattended-upgrades

3. Uruchom usługę

Po instalacji usługa może być wyłączona.

Niezbędne będzie włączenie żeby uruchamiała się po restarcie systemu, oraz uruchomienie w tym momencie celem dalszej konfiguracji:

sudo systemctl enable unattended-upgrades.service
sudo systemctl start unattended-upgrades.service

4. Konfiguracja

Należy skonfigurować i włączyć usługę poprzez wykonanie poniższego polecenia i zaznaczenie opcji YES.

sudo dpkg-reconfigure --priority=low unattended-upgrades

Zostanie utworzony plik /etc/apt/apt.conf.d/20auto-upgrades z konfiguracją jako poniżej:

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

Należy skonfigurować opcję dotyczące aktualizacji, dostępne w pliku /etc/apt/apt.conf.d/50unattended-upgrades:

// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

Powyższa konfiguracja to konfiguracja standardowa dotycząca aktualizacji związanych z bezpieczeństwem. W dalszych krokach pokazałem na co jeszcze warto zwrócić uwagę.

5. Automatyczny restart

Warto zwrócić uwagę na kwestię automatycznych restartów. Włączenie tej opcji może spowodować poważne konsekwencje, jeśli będzie to dotyczyć środowisk z systemem Linux które są używane produkcyjnie. Stąd należy upewnić się że poniższa linia w pliku /etc/apt/apt.conf.d/50unattended-upgrades wygląda jak poniżej:

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

6. Instalacja pozostałych aktualizacji

Istnieje możliwość takiej konfiguracji żeby aktualizację nie związane z bezpieczeństwem również były instalowane. Należy wtedy w pliku /etc/apt/apt.conf.d/50unattended-upgrades zamienić linię:

//      "${distro_id}:${distro_codename}-updates";

na

      "${distro_id}:${distro_codename}-updates";

Należy zwrócić uwagę że instalowanie wszystkich pakietów może nieść ze sobą skutki uboczne związane ze stabilnością systemu i usług które są na tym systemie udostępnione.

7. Harmonogram

Warto ustawić harmonogram, tak żeby aktualizacje były instalowane w zdefiniowanym przez administratora systemu czasie. Służy do tego narzędzie cron. Parametry ustawia się za pomocą polecenia:

sudo crontab -e

Dodaj wpis który uruchomi aktualizacje automatyczne, w tym przypadku codziennie o 22:00

00 22 * * * sudo /usr/bin/unattended-upgrade -v

Poniższa konfiguracja to instalacja aktualizacji raz dziennie, o godzinie 22:00.

Taka mała podpowiedź, zmianę standardowego edytora crontab można wykonać za pomocą polecenia:

sudo select-editor

Podsumowanie

W systemie Ubuntu 22.04, istnieje możliwość automatycznego pobierania i instalowania aktualizacji. Można instalować wszystkie aktualizacje, lub te związane z bezpieczeństwem. Wybór zależy od indywidualnych preferencji administratora systemu i środowiska w jakim uruchomiony jest system. W przypadku środowisk produkcyjnych instalowanie wszystkich poprawek bez nadzoru może mieć negatywny wpływ na stabilność środowiska.

Tutaj możesz obejrzeć film z konfiguracją unattended-upgrade Ubuntu 22.04 LTS, oraz informację jak potwierdzić że poprawki zostały zainstalowane.

Jeden komentarz do „Jak skonfigurować automatyczną aktualizację pakietów?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *