Debian proxmox unanttended update or upgrades

    • Offizieller Beitrag

    Die Frage ist wie bekomme ich es hin, dass wir unsere Linux rechner immer mit den letzten Sicherheitspatches versorgen und diese auch aktivieren. Eigentlich unter Linux nicht so ein Problem wie unter windows, wo ich mind einmal im Monat Zwecks patches rebooten muss, aber auch Linux braucht einen reboot wenn sich der kernel geändert hat. Ausnahme livekernel patching, was aber in der Regel kostenpflichtig ist.

    Code
    apt update geht immer
    apt dist-upgrade geht auch immer spuck aber manchmal die Meldung aus Kernel updated reboot recommened to active (oder so ähnlich)

    ist also die Frage wie erkenne ich das um dann und nur dann wenn nötig neu zu starten.

    Ich sehe zwei mehrere Optionen:

    1. Den output von dist-upgrade umleiten und dann zu parsen auf die Meldung reboot recommended (nicht besonders stabil, funktioniert nicht mehr wenn die Ausgabe geändert wird) -betrahcten wir nicht weiter
    2. Es soll wohl unter debian und ubuntu eine Datei ala "/var/run/reboot-required" exisiteren wenn ein reboot nötig ist. D.h. man könnte auf deren existenz prüfen und dann rebooten
    3. Man nutze das Paket unattended upgrades welches von debian und ubuntu zu Verfügunggestellt wird und konfiguriert das entsprechend. Sicherlich die flexibelste Option da, man einzelne Pakete ausschließen kann auch mail notification konfiguert werden können etc.

    zum zweiten Punkt könnte man so etwas nutzen

    Code
        if [ -f /var/run/reboot-required ]; then    
          shutdown -r +30;
        fi  

    oder so etwas in der crontab

    Code
    apt -y dist-upgrade; [ -e /var/run/reboot-required ] && shutdown -r +30

    Das scheint aber nach meiner Erfahrung zumindest unter debian pve nicht wirklich zu funktionieren - hilfreich ist hier das tool needrestart welches man einfach mit apt install needrestart installieren kann.

       

    Ganz klar ein restart wäre nötig um das zu aktivieren unter var/run steht aber nichts.

    ich nutze jetzt needrestart -b und grep auf EXP dann bekommt man eine Ausgabe für einen erwartete neuen Kernel, Microcode etc.

    wenn man sich dann so etwas als script in to crontab hängt

    Code
    # update packages first week of the month on thursday 12
    0  12  1-7  *   *    [ "$(date '+\%u')" = "4" ] && apt update;apt dist-upgrade -y
    # update packages second week of the month on friday 15 +30min
    0  15 8-14  *   *   [ "$(date '+\%u')" = "5" ] && /root/reboot_if_required.sh

    rebooted das system jeden zweiten Freitag des Monats, aber nur wenn notwendig. Updates selber werden eine Woche vorher schon installiert. Muss man sich eben anpassen wie man es haben möchte. Auch ob man das besser erst auf einer Testmaschine macht bevor man patches auf alle Maschinen ausrollt und man potentiell alles lahmlegt wenn die Patches buggy sindBug hat.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!