Automatische Updates (Debian): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(8 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 | 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 == | == Debuggen == | ||
Testmöglichkeit für die Konfiguration | Testmöglichkeit für die Konfiguration | ||
unattended-upgrades -v --dry-run # Verbose + Dry Run | unattended-upgrades -v --dry-run # Verbose + Dry Run | ||
unattended-upgrades -d -v --dry-run # Debug + 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: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)