Beschreibung

diese Kurzbeschreibung soll die Schritte darstellen, wie Sie unter Debian ein automatisches Update mittels unattended-upgrades einrichten können.

Hintergrund: An einem Testsystem soll(en) anhand von Kategorien festgelegt werden, automatische Updates nach einem gewissen Schema zu installieren.

Für Tests und zur Erstellung dieser Anleitung wurde eine VM und ein Pi verwendet.

 

Schritte:

  1. Melden Sie sich am Zielsystem mit einem Root verrechteten User an.
  2. Installieren Sie das Paket inkl. einem Zusatz:

    apt update
    apt install -y unattended-upgrades apt-config-auto-update


  3. Prüfen Sie nach der Installation den Status des Dienstes: systemctl status unattended-upgrades
  4. Fügen Sie nun folgendes Command ein, um den Dienst nach einem Reboot automatisch starten zu lassen:

    systemctl enable unattended-upgrades

  5. Wechseln Sie in das Konfigurationsverzeichnis: cd /etc/apt/apt.conf.d/

    Bei Default, finden Sie eine Config mit minimal Einschränkungen vor: 50unattended-upgrades

  6. Öffnen Sie einen Editor (nano oder vi / vim) und editieren die Datei: nano -l ./50unattended-upgrades

  7. Entfernen Sie bei folgenden Zeilen die // Zeichen, um Optionen und Features zu aktivieren.
    Für das Testsystem wurden folgende Parameter gesetzt:

    "origin=Debian,codename=${distro_codename}-updates";
    "origin=Debian,codename=${distro_codename}-proposed-updates";
    "origin=Debian,codename=${distro_codename},label=Debian";
    "origin=Debian,codename=${distro_codename},label=Debian-Security";
    "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";

    [Optional] Unattended-Upgrade::Mail "<IhreMailAdresse>";

    [Optional] Unattended-Upgrade::MailReport "only-on-error";

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

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

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

    [ACHTUNG*] Unattended-Upgrade::Automatic-Reboot "true";

    * setzen Sie den Wert nur, wenn sich kein User am System anmeldet.
    Unattended-Upgrade::Automatic-Reboot-WithUsers "false";

    Speichern Sie die getätigten Anpassungen ab und schließen den Editor.

  8. Aktivieren Sie das automatische Update(n) mittels folgendem Command:

    dpkg-reconfigure --priority=low unattended-upgrades

    Bestätigen Sie den aufkommenden Dialog mit YES.

  9. Editieren Sie im folgenden Verzeichnis die folgende Datei:

    cd /etc/apt/apt.conf.d/

    nano -l ./20auto-upgrades

    Hier sollten folgende Zeilen vorhanden sein:

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

  10. Erstellen Sie einen CronJob, der den Zeitpunkt der automatischen Updates festlegt:

    sudo crontab -e
    5 2 25 * * /usr/bin/unattended-upgrade -v > /dev/null 2>&1

    Hiermit wird jeden 25'ten des Monats um 02:05 Uhr (engl. AM) nach Updates gesucht.

  11. Prüfen Sie mittels folgendem Command Ihre gesetzen Einstellungen:

    unattended-upgrades --dry-run --debug

 

Wenn Sie die oben genannten Schritte umgesetzt haben, wurde an diesem System mittels CronJob und den Vorgaben in der Config, das automatische Update des Servers festgelegt.

 

Wenn Sie sich einen Ablauf im Detail ansehen möchten, finden Sie die LogFiles im folgenden Bereich:

cd /var/log/unattended-upgrades/

  unattended-upgrades-dpkg.log
  unattended-upgrades-shutdown.log
  unattended-upgrades.log

 


Quelle: UnattendedUpgrades - Debian Wiki

Info 1: https://linuxiac.com/how-to-set-up-automatic-updates-on-debian

Info 2: Install/Enable & Configure Unattended-Upgrades on Debian 11 - LinuxCapable

Info 3: Debian 11 Unattended Automatic Update System - SoByte

Info 4: Manage Debian unattended-upgrades (linuxhint.com)

Info 5: Crontab.guru - The cron schedule expression editor