Linux automatisch aktualisieren
Einleitung
In diesem Beitrag gehe ich drauf ein, wie wir mithilfe des Paketes cron-apt unseren Debian Server automatisch aktualisieren. Damit kökönnen wir sicherstellen, dass wenn wir im Urlaub oder nicht anwesend sind, unser Server immer auf dem aktuellen Stand ist.
Installation des Paketes
Dazu mümüssen wir zuerst die Paketquellen aktualisieren und gegebenenfalls Updates installieren, wenn diese vorhanden sind.
sudo apt update && sudo apt upgrade -y
Im nänächsten Schritt installieren wir jetzt das Paket cron-apt.
Dazu geben wir folgenden Befehl in die Konsole ein.
sudo apt install cron-apt -y
Konfiguration von cron-apt
Um unsere Updates automatisch installieren zu lassen, mümüssen wir cron-apt jetzt nur noch konfigurieren. Damit wird dann das Skript jeden Morgen um 4 Uhr Morgens gestartet, und spielt die Updates ein. (Die Uhrzeit kann noch geägeändert werden).
Wir ööffnen zuerst die Standardkonfiguration. Wir ööffnen die Datei 3-download mit einem Editor unserer Wahl. Ich verwende hier nano.
sudo nano /etc/cron-apt/action.d/3-download
In dieser Datei befindet sich schon ein Befehl. Dieser Befehl wird automatisch ausgefüausgeführt, wenn, cron-apt gestartet wird. Dies geschieht dann automatisch, wenn die festgelegte Uhrzeit erreicht wird, oder wenn wir den Befehl sudo cron-apt -s
eingeben.
Die Datei sollte folgenden Inhalt haben:
autoclean -y
dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
Bei diesem Befehl werden die allgemeinen Updates nur heruntergeladen, aber nicht installiert! Wenn wir mömöchten, dass die Updates automatisch installiert werden, mümüssen wir nur den Parameter -d entfernen. Dieser gibt an, dass die Updates nur heruntergeladen werden, und wir die Installation selbst in die Hand nehmen mümüssen.
Wenn die Updates automatisch installiert werden sollen, und man darüdarüber wegsieht, dass es dann zu Problemen kommen kann, durch beispielsweise zurüzurückgezogene Pakete, kann man den nachstehenden Befehl anstelle des vorhandenen verwenden.
autoclean -y
dist-upgrade -y -o APT::Get::Show-Upgraded=true
Wenn wir beispielsweise wollen, dass die normalen Updates nicht automatisch installiert werden, aber Security Updates automatisch installiert werden sollen, kökönnen wir die DurchläDurchläufe durch eigene Skripte anpassen. Dazu mümüssen wir nur in demselben Verzeichnis eine Datei mit einer fortlaufenden Nummer und einer Beschreibung erstellen.
sudo nano /etc/cron-apt/action.d/10-securityupdates
In der Datei füfügen wir folgenden Inhalt ein:
upgrade -y -o APT::Get::Show-Upgraded=true
Damit jetzt unsere Datei auch verwendet wird, wenn cron-apt startet, mümüssen wir noch eine Konfigurationsdatei anlegen. Dazu legen wir wieder eine Datei mit dem Namen unser vorherigen angelegten Datei an. Dabei veräverändert sich nur der Ordner, in dem die Datei angelegt wird.
sudo nano /etc/cron-apt/config.d/10-securityupdates
Dort füfügen wir folgenden Code ein. Dabei mümüssen wir aber die entsprechenden Pfade zu den Paketquellen Listen angeben.
OPTIONS="-q -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""
AusfüAusführungszeit äändern
MöMöchten wir jetzt zuletzt noch äändern, wann cron-apt ausgefüausgeführt wird, mümüssen wir die entsprechende Konfigurationsdatei ööffnen. Dazu verwenden wir den folgenden Befehl:
sudo nano /etc/cron.d/cron-apt
Wir kökönnen dort jetzt die Zeit angebenangeben, wann cron-apt ausgefüausgeführt werden soll. Die Zeit geben wir üüber Syntax der Crontabs / Cronjobs an.
Wenn wir jetzt überprüüberprüfen wollen, ob unser Programm sauber durchlädurchläuft, kökönnen wir es manuell starten, mit dem folgenden Befehl.
sudo cron-apt -s
Im Weiteren legt das Programm auch Logfiles ab. Diese kökönnen wir unter /var/log/cron-apt
einsehen.