Automatische Updates (Debian)

Aus MattWiki

Anleitung, um automatische Updates, z. B. Sicherheitsupdates, auf einem Debian-System zu installieren / aktivieren.

Quelle: https://wiki.debian.org/UnattendedUpgrades

Voraussetzungen

  • Debian 8 oder höher

Konzept

Paket Unattended-Upgrades kümmert sich um die Upgrades selbst.

Paket apt-listchanges kümmert sich um Benachrichtigungen, z. B. per Mail.

Installation

Softwarepakete installieren:

# apt-get install unattended-upgrades apt-listchanges

Konfiguration

Konfiguration anpassen:

# nano /etc/apt/apt.conf.d/50unattended-upgrades

In der Konfig-Datei beispielsweise folgende Zeilen aktivieren.

Wichtig: Jede Zeile ist ein Filter. Wenn nichts angegeben ist, wird also jedes Paket akzeptiert.

Unattended-Upgrade::Origins-Pattern {
  "o=Debian,n=jessie";                             # alle Updates
};

// Alternativ nur Sicherheitsupdates: Unattended-Upgrade::Origins-Pattern { "o=Debian,n=jessie,l=Debian-Security"; # Nur Sicherheitsupdates };
Unattended-Upgrade::Mail "root"; Acquire::http::Dl-Limit "1024";

Verfügbare Origins-Pattern können herausgefunden werde mit:

apt-cache policy    # Vgl. Notizen in /etc/apt/apt.conf.d/50unattended-upgrades

Aktivieren der automatischen Upgrades durch Erstellung einer Konfigdatei in /etc/apt/apt.conf.d/20auto-upgrades

Dies geht am einfachsten mit:

#dpkg-reconfigure -plow unattended-upgrades

Inhalt der Konfig-Datei:

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

Anpassung der /etc/apt/listchanges.conf

[apt]
frontend=pager                                     # Werte: pager|browser|text|mail|none -> Früher pager verwendet. Erstlelt unnütze E-Mails. none probieren?
email_address=root
confirm=1
save_seen=/var/lib/apt/listchanges.db
which=both                                         # Werte: news|changelogs|both -> Früher both verwendet. Erstellt unnütze E-Mails. news probieren?

E-Mails

Benachrichtigung einrichten

Voraussetzung ist grundsätzliche Einrichtung für Mailversand an externe Empfänger.

Danach /etc/apt/apt.conf.d/50unattended-upgrades bearbeiten:

Unattended-Upgrade::Mail "user1,user2";  

Mailbetreff ändern

Dies muss direkt in /usr/bin/unattended-upgrades (In Debian Link auf /usr/bin/unattended-upgrade) geändert werden.

Folgende Zeilen suchen und wunschgemäß anpassen:

    if os.path.isfile(REBOOT_REQUIRED_FILE):                                                    
        subject = _(                                                                            
            "[reboot required] unattended-upgrades result for '%s': %s") % (                    
            host(), res)                                                                        
    else:                                                                                       
        subject = _("unattended-upgrades result for '%s': '%s'") % (                            
            host(), res)

Debuggen

Testmöglichkeit für die Konfiguration

unattended-upgrades -v --dry-run    # Verbose + Dry Run
unattended-upgrades -d -v --dry-run # Debug + Verbose + Dry Run

Reboot

Wenn ein Reboot notwendig ist, und automatischer Reboot aktiviert ist, wird folgende Datei angelegt:

/var/run/reboot-required

Optional wird eine E-Mail an den Administrator gesendet mit dem Inhalt:

Shutdown scheduled for Wed 2016-07-06 02:00:00 CEST