Cron-apt - Debian oder Ubuntu automatisch Aktualisieren
Will man entweder über mögliche Updates auf einem System per Mail informiert werden, oder aber sogar, das wichtige Security Updates automatisch eingespielt werden, dann kann man auf das Tool cron-apt
zurückgreifen. Dieses kleine Tool kann auf Debian oder Ubuntu Linux Systemen einfach aus dem Repository installiert werden. Mittels Konfiguration kann ich dann mehrere Szenarien schaffen:
- Nur Mailbenachrichtigung inkl. Download der Update Pakete
- Installation aller Updates
- Installation nur sicherheitsrelevanter Updates oder von bestimmten SOURCE Listen.
Installation
Die Installation erfolgt einfach mittels Paketmanager:
apt install cron-apt
Konfiguration
Um cron-apt
legt automatisch eine cron Datei in cron.d
an, die den cron-apt
täglich um 4 Uhr startet:
/etc/cron.d/cron-apt
# # Regular cron jobs for the cron-apt package # # Every night at 4 o'clock. 0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt # Every hour. # 0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2 # Every five minutes. # */5 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
Nur Mailbenachrichtigung
will man nur bei Änderungen, also anstehenden Updates benachrichtigt werden, kann dies durch folgende Konfiguration gemacht werden.
/etc/cron-apt/config
APTCOMMAND="/usr/bin/apt-get" MAILON="changes"
/etc/cron-apt/action.d/9-notify
-q -q --no-act upgrade
Installation aller Updates
zusätzlich die folgende Datei anlegen:
/etc/cron-apt/action.d/4-upgrade
autoclean -y dist-upgrade -y -o APT::Get::Show-Upgraded=true
Update nur sicherheitsrelevanter Patches
Will man nur sicherheitsrelevante Updates automatisch einspielen lassen, kann dies durch ein anlegen einer eigenen sources.list
geschehen, welche dann cron-apt
als Parameter übergeben wird. Dafür die folgende Zeile der Konfigurationsdateien mitgeben:
/etc/cron-apt/config
OPTIONS="-q -o Dir::Etc::SourceList=/etc/apt/security-sources.list"
und natürlich die /etc/apt/security-sources.list
anlegen und mit den gewünschten Repositorys füttern:
Beispiel Ubuntu:
deb http://security.ubuntu.com/ubuntu precise-security main restricted multiverse universe deb-src http://security.ubuntu.com/ubuntu precise-security restricted main multiverse universe
Beispiel Debian Linux
deb http://security.debian.org/debian-security buster/updates main contrib non-free
Testen
Einmaliges ausführen mit Output geschieht dann so:
cron-apt -s