Automatische Updates (Debian): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:


== Voraussetzungen ==
== Voraussetzungen ==
* Debian 8 oder höher
* Debian 8 oder höher


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


Zeile 12: Zeile 14:


== Installation ==
== Installation ==
Softwarepakete installieren:
Softwarepakete installieren:
  # apt-get install unattended-upgrades apt-listchanges
  # apt-get install unattended-upgrades apt-listchanges


== Konfiguration ==
== Konfiguration ==
Konfiguration anpassen:
Konfiguration anpassen:
  # nano /etc/apt/apt.conf.d/50unattended-upgrades
  # nano /etc/apt/apt.conf.d/50unattended-upgrades


In der Konfig-Datei beispielsweise folgende Zeilen aktivieren.  
In der Konfig-Datei beispielsweise folgende Zeilen aktivieren.


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


  Unattended-Upgrade::Origins-Pattern {
  Unattended-Upgrade::Origins-Pattern {
   "o=Debian,n=jessie";                            # alle Updates                                              
   "o=Debian,n=jessie";                            # alle Updates
  };
  };
   
  <br>
  // Alternativ nur Sicherheitsupdates:
  // Alternativ nur Sicherheitsupdates:
  Unattended-Upgrade::Origins-Pattern {
  Unattended-Upgrade::Origins-Pattern {
Zeile 33: Zeile 37:
   
   
  Unattended-Upgrade::Mail "root";
  Unattended-Upgrade::Mail "root";
  Acquire::http::Dl-Limit "1024";    
// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "true"; 
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
Unattended-Upgrade::Automatic-Reboot-Time "02:00"; 
  Acquire::http::Dl-Limit "1024";


Verfügbare Origins-Pattern können herausgefunden werde mit:
Verfügbare Origins-Pattern können herausgefunden werde mit:
  apt-cache policy    # Vgl. Notizen in /etc/apt/apt.conf.d/50unattended-upgrades
  apt-cache policy    # Vgl. Notizen in /etc/apt/apt.conf.d/50unattended-upgrades


== Aktivieren der automatischen Updates ==


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


Dies geht am einfachsten mit:
Dies geht am einfachsten mit:
Zeile 47: Zeile 62:
  APT::Periodic::Update-Package-Lists "1";
  APT::Periodic::Update-Package-Lists "1";
  APT::Periodic::Unattended-Upgrade "1";
  APT::Periodic::Unattended-Upgrade "1";
== E-Mails ==


Anpassung der <code>/etc/apt/listchanges.conf</code>
Anpassung der <code>/etc/apt/listchanges.conf</code>
  [apt]
  [apt]
  frontend=pager
  frontend=pager                                     # Werte: pager|browser|text|mail|none -> Früher pager verwendet. Erstlelt unnütze E-Mails. none probieren?
  email_address=root
  email_address=root
  confirm=1
  confirm=1
  save_seen=/var/lib/apt/listchanges.db
  save_seen=/var/lib/apt/listchanges.db
  which=both
  which=both                                         # Werte: news|changelogs|both -> Früher both verwendet. Erstellt unnütze E-Mails. news probieren?
 
=== Benachrichtigung einrichten ===
Voraussetzung ist grundsätzliche Einrichtung für [[Exim als SMTP-Server (Debian)|Mailversand an externe Empfänger]] (?).
 
Danach <code>/etc/apt/apt.conf.d/50unattended-upgrades</code> bearbeiten:
Unattended-Upgrade::Mail "user1,user2"; 


=== Mailbetreff ändern ===
Dies muss direkt in <code>/usr/bin/unattended-upgrades</code> (In Debian Link auf <code>/usr/bin/unattended-upgrade</code>) geändert werden.
Folgende Zeilen suchen und wunschgemäß anpassen:<syntaxhighlight lang="python">
    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) 
</syntaxhighlight>
== Debuggen ==


== Konfiguration testen ==
Testmöglichkeit für die Konfiguration
Testmöglichkeit für die Konfiguration
   
 
  unattended-upgrades -v --dry-run
  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
 
== Ausführungszeitpunkt ==
Die Unattended-Upgrades werden mittels Daily-Cronjobs von Cron bzw. Anacron ausgeführt.
 
Wenn Anacron auf einem System installiert ist, wird Anacron zum Starten der Daily-Cronjobs genutzt per '''/etc/cron.d/anacron'''.
 
Ist dies nicht der Fall, werden die Daily-Cronjobs von Cron gestartet per /etc/crontab mit dem Job für das Verzeichnis '''/etc/cron.daily'''
 
Die Skripte der Unattended-Upgrades finden sich unter: '''/etc/cron.daily''' (?)
 
Details siehe [[Cronjob (Debian)]]




[[Category:Debian]]
[[Category:Linux]]
[[Category:Linux]]

Aktuelle Version vom 27. September 2020, 20:48 Uhr

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"; // Automatically reboot *WITHOUT CONFIRMATION* if // the file /var/run/reboot-required is found after the upgrade Unattended-Upgrade::Automatic-Reboot "true"; // If automatic reboot is enabled and needed, reboot at the specific // time instead of immediately // Default: "now" Unattended-Upgrade::Automatic-Reboot-Time "02:00";  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 Updates

Aktivieren der automatischen Updates 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";

E-Mails

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?

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

Ausführungszeitpunkt

Die Unattended-Upgrades werden mittels Daily-Cronjobs von Cron bzw. Anacron ausgeführt.

Wenn Anacron auf einem System installiert ist, wird Anacron zum Starten der Daily-Cronjobs genutzt per /etc/cron.d/anacron.

Ist dies nicht der Fall, werden die Daily-Cronjobs von Cron gestartet per /etc/crontab mit dem Job für das Verzeichnis /etc/cron.daily

Die Skripte der Unattended-Upgrades finden sich unter: /etc/cron.daily (?)

Details siehe Cronjob (Debian)