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:
- Melden Sie sich am Zielsystem mit einem Root verrechteten User an.
- Installieren Sie das Paket inkl. einem Zusatz:
apt update
apt install -y unattended-upgrades apt-config-auto-update - Prüfen Sie nach der Installation den Status des Dienstes: systemctl status unattended-upgrades
- Fügen Sie nun folgendes Command ein, um den Dienst nach einem Reboot automatisch starten zu lassen:
systemctl enable unattended-upgrades - Wechseln Sie in das Konfigurationsverzeichnis: cd /etc/apt/apt.conf.d/
Bei Default, finden Sie eine Config mit minimal Einschränkungen vor: 50unattended-upgrades - Öffnen Sie einen Editor (nano oder vi / vim) und editieren die Datei: nano -l ./50unattended-upgrades
- 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";
Speichern Sie die getätigten Anpassungen ab und schließen den Editor.
* setzen Sie den Wert nur, wenn sich kein User am System anmeldet.
Unattended-Upgrade::Automatic-Reboot-WithUsers "false"; -
Aktivieren Sie das automatische Update(n) mittels folgendem Command:
dpkg-reconfigure --priority=low unattended-upgrades
Bestätigen Sie den aufkommenden Dialog mit YES. -
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"; - 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. - 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