Cron-apt - Debian oder Ubuntu automatisch Aktualisieren

Aus Laub-Home Wiki

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

Quellen