09/2013

Unattended Upgrades: Paketmanager im Vergleich Titelthema Automatisch sauber Paketmanager

22 Manuelle Software-Updates begleiten Admins durch den Tag. Dabei versprechen die Paketmanager diese Ar- beit zu automatisieren. Der Artikel vergleicht die großen Distributionen und testet, wie viel Reinheit die mit

den Systemen gelieferten Tools wirklich bringen – und welche Gefahren dabei entstehen. Konstantin Agouros, Markus Feilner www.-magazin.de

Inhalt

22 Paketmanager Red Hat, Suse, Debian, Ubuntu: Wie genau kann der Admins automatische Updates konfigurieren? 30 Apt intern Apt erledigt viele Aufgaben bereits im Hintergrund: Ein Blick in den Maschinen- raum des Debian-Tools. 34 Nachhaltigkeit Kann Linux auch auf Dauer gut sein? Zwei freie Distributionen in einer Fünf- Jahres-Retrospektive. 38 Enterprise-Strategien Red Hat, Suse und Canonical: Update- Portale im Vergleich. 42 Kernelupdates Fluch oder Segen? Techniken für reibungs­lose Kernelupdates. 46 Embedded-Updates Hoffentlich! Mehr und bessere Aktuali-

© Alterfalter, Fotolia.com © Alterfalter, sierungen für Linux-Geräte.

In einem unterscheiden sich proprietäre alleine darum, brauche keine Hilfe und tungsbewusste Admin nicht herum, doch oder offene Betriebssysteme kaum – egal sei durchaus in der Lage, mit heiklen kann die dank Virtualisierung heutzutage ob der Anwender Windows, Mac OS oder Softwarepaketen umzugehen. in Form von virtuellen Maschinen auch das freie Linux einsetzt, stets ist er mit Doch ganz so einfach funktionieren Un- auf seinem Laptop laufen. immer mehr Updates und Patches in im- attended Updates und Upgrades in der Noch besser ist es jedoch, angesichts von mer kürzeren Abständen konfrontiert. Praxis selten, vor allem wenn eigene Kernelpatches und eventuellen proprie- Ob Bugfixes zu installieren, Sicherheits- oder exotische Software im Spiel ist. Aber tären Treibern, die Testsysteme aus iden- löcher zu stopfen sind oder die mit einer nicht nur dann ist es immer noch keine tischer Hardware aufzubauen wie die neuen Programmversion lange erwartete gute Idee, ein Produktivsystem, einen produktiven Maschinen – sonst könnte Funktion endlich kommt: In schöner Server oder gar eine ganze Rechnerfarm es passieren, dass zwar alle Updates sau- Regelmäßigkeit müssen Anwender und alleine, unbeaufsichtigt und vollautoma- ber durchlaufen, der Paketmanager keine Admins Updates einspielen, in vielen Fäl- tisch updaten oder upgraden zu lassen. Fehler meldet, aber das System einfach len sogar täglich. An einem Desktop, mit dem der Benutzer nicht mehr booten kann. Fehlermeldungen erhält und eingreifen Verführerische Versprechen oder den Admin anrufen kann, mag das Hardware in Gefahr anders aussehen. Einladend glänzen moderne Linux-Dis- Immer wieder tauchen Abhängigkeiten Das kann allerdings auch andere Gründe tributionen mit Schaltflächen, die wie auf, die das Update scheitern lassen und haben, so wie 2004, als Suse schlicht Waschmaschinen eine Vollautomatik so schlimmstenfalls für Produktions- beim Kernelupdate den XFS-Treiber feh- versprechen und den Anwender glauben ausfälle sorgen – nicht nur bei selbst lerhaft verbaut hatte [1], oder vor weni- lassen, der Rechner sei danach auf dem geschriebenen Applikationen. Um eine gen Wochen, als ein Bug in den Updates neuesten Stand, er kümmere sich ganz Testumgebung kommt der verantwor- von Systemd und Journald Fedora-19- 09/2013 Titelthema und -20-Systeme an den Rand eines Kol- Auf baugleicher Hardware und mit iden- Erfahrene Linux-Administratoren greifen lapses brachte [2]. tischen Setups kann der Admin solche gern zum Cronjob, doch gibt es bei al- Dabei geriet sogar Hardware in Gefahr: Fehler weitgehend ausschließen. Herstel- len Distributionen Spezialtools, die zwar Im Systemprotokoll landeten Unmengen lerpatches lassen sich ausprobieren, ohne letzten Endes auch nur Einträge in einer an alten Einträgen. So schnell es CPU und dass sie Schaden anrichten, bevor der Crontab oder im »cron.daily«-Verzeichnis I/​O des Systems eben hergaben, schrie- Admin sie zum Ausrollen freigibt. anlegen. Doch diese Werkzeuge bieten Paketmanager ben die Daemons Vierzeiler ins Log – und einfache Oberflächen und viele Funkti- trieben Festplatten- und CPU-Last an die Automatik erst nach Tests onen rund um das periodische » 23 Grenzen. Auf unüberwachten, lüfterlosen -y upgrade« (Listing 1) beziehungsweise Geräten war da schnell die Hardware an Dann ergibt ein Auto-Update auch mehr » -y upgrade« (Listing 2). Grenzen. Abhilfe schaffte nur ein ma- Sinn: Das Umbiegen der Repositories für Die beiden Listings zeigen einen auto-

nuelles »yum downgrade rsyslog«, ein Patches ist schließlich bei allen geprüften matischen Durchlauf durch ein regulä- www.linux-magazin.de Eintrag in die Blacklist (damit nicht das Distributionen möglich. Der Admin legt res Update inklusive eines Upgrade des nächste Update wieder den gleichen Feh- die von ihm getesteten und verifizierten Linux-Kernels. Die Ubuntu-Variante be- ler verursacht) – und dann warten, bis Updates auf einem eigenen Updateserver kommt dabei Kernel 3.8.0-26 verpasst, die Community den Bug behob. ab und geht so auf Nummer sicher. Fedora 19 schnappt sich 3.9.9.

Listing 1: »aptitude update && aptitude ‑y upgrade«

01 Treffer http://de.archive.ubuntu.com raring Release.gpg 33 Running depmod. 02 Holen: 1 http://de.archive.ubuntu.com raring‑updates Release.gpg [933 B] 34 update‑initramfs: deferring update (hook will be called later) 03 [...] 35 Examining /etc/kernel/postinst.d. 04 100% [28 Packages bzip2] [Warten auf Kopfzeilen] [Warten 36 run‑parts: executing /etc/kernel/postinst.d/‑auto‑removal 05 Ign http://security.ubuntu.com raring‑security/restricted 3.8.0‑26‑generic /boot/vmlinuz‑3.8.0‑26‑generic Translation‑de_DE 37 run‑parts: executing /etc/kernel/postinst.d/initramfs‑tools 06 Treffer http://de.archive.ubuntu.com raring‑updates/restricted 3.8.0‑26‑generic /boot/vmlinuz‑3.8.0‑26‑generic Translation‑en 38 update‑initramfs: Generating /boot/initrd.img‑3.8.0‑26‑generic 07 Ign http://de.archive.ubuntu.com raring‑backports/restricted 39 run‑parts: executing /etc/kernel/postinst.d/pm‑utils 3.8.0‑26‑generic Translation‑de /boot/vmlinuz‑3.8.0‑26‑generic 08 [...] 40 run‑parts: executing /etc/kernel/postinst.d/update‑notifier 09 889 kB wurden in 7 s heruntergeladen (116 kB/s) 3.8.0‑26‑generic /boot/vmlinuz‑3.8.0‑26‑generic 10  41 run‑parts: executing /etc/kernel/postinst.d/zz‑update‑grub 11 Auflösen der Abhängigkeiten ... 3.8.0‑26‑generic /boot/vmlinuz‑3.8.0‑26‑generic 12 Die folgenden NEUEN Pakete werden zusätzlich installiert: 42 grub.cfg wird erstellt ... 13  linux‑headers‑3.8.0‑26{a} 43 [...] 14  linux‑headers‑3.8.0‑26‑generic{a} 44 linux‑image‑extra‑3.8.0‑26‑generic (3.8.0‑26.38) wird eingerichtet ... 15  linux‑image‑3.8.0‑26‑generic{a} 45 Running depmod. 16  linux‑image‑extra‑3.8.0‑26‑generic{a} 46 update‑initramfs: deferring update (hook will be called later) 17 Die folgenden Pakete werden aktualisiert: 47 Examining /etc/kernel/postinst.d. 18  libdrm‑intel1 libdrm‑nouveau2 libdrm‑radeon1 48 run‑parts: executing /etc/kernel/postinst.d/apt‑auto‑removal 19  libdrm2 libkms1 linux‑generic 3.8.0‑26‑generic /boot/vmlinuz‑3.8.0‑26‑generic 20  linux‑headers‑generic linux‑image‑generic 49 run‑parts: executing /etc/kernel/postinst.d/initramfs‑tools 21 8 Pakete aktualisiert, 4 zusätzlich installiert, 0 werden entfernt und 3.8.0‑26‑generic /boot/vmlinuz‑3.8.0‑26‑generic 1 nicht aktualisiert. 50 update‑initramfs: Generating /boot/initrd.img‑3.8.0‑26‑generic 22 56,6 MB an Archiven müssen heruntergeladen werden. Nach dem Entpacken 51 run‑parts: executing /etc/kernel/postinst.d/pm‑utils 3.8.0‑26‑generic / werden 235 MB zusätzlich belegt sein. boot/vmlinuz‑3.8.0‑26‑generic 23 Holen: 1 http://de.archive.ubuntu.com/ubuntu/ raring‑updates/main 52 run‑parts: executing /etc/kernel/postinst.d/update‑notifier 3.8.0‑26‑ libdrm2 amd64 2.4.43‑0ubuntu1.1 [26,3 kB] generic /boot/vmlinuz‑3.8.0‑26‑generic 24 [...] 53 run‑parts: executing /etc/kernel/postinst.d/zz‑update‑grub 3.8.0‑26‑ 25 Holen: 12 http://de.archive.ubuntu.com/ubuntu/ raring‑updates/main generic /boot/vmlinuz‑3.8.0‑26‑generic linux‑headers‑generic amd64 3.8.0.26.44 [2.398 B] 54 grub.cfg wird erstellt ... 26 56,6 MB wurden in 10 s heruntergeladen (5.538 kB/s) 55 [...] 27 [...] 56 linux‑image‑generic (3.8.0.26.44) wird eingerichtet ... 28 Vormals nicht ausgewähltes Paket linux‑image‑3.8.0‑26‑generic wird 57 linux‑headers‑3.8.0‑26 (3.8.0‑26.38) wird eingerichtet ... gewählt. 58 linux‑headers‑3.8.0‑26‑generic (3.8.0‑26.38) wird eingerichtet ... 29 Entpacken von linux‑image‑3.8.0‑26‑generic (aus .../linux‑image‑ 59 linux‑headers‑generic (3.8.0.26.44) wird eingerichtet ... 3.8.0‑26‑generic_3.8.0‑26.38_amd64.) ... 60 linux‑generic (3.8.0.26.44) wird eingerichtet ... 30 Vormals nicht ausgewähltes Paket linux‑image‑extra‑3.8.0‑26‑generic 61 Trigger für libc‑bin werden verarbeitet ... wird gewählt. 62 ldconfig deferred processing now taking place 31 [...] 63  32 linux‑image‑3.8.0‑26‑generic (3.8.0‑26.38) wird eingerichtet ... 64 Aktueller Status: 1 aktualisierbares Paket [‑8]. 09/2013 Titelthema Die Unterschiede zwischen den Paket- Möglichkeit, Pakete von Upgrade oder auf einen lokalen Server legt und allen managern und ihren Tools liegen mitt- Installation auszunehmen, etwa wenn Systemen mit automatischem Modus nur lerweile eher im Detail. Da kann Yum Abhängigkeiten aufzulösen sind. diesen Server als Repository-Master zu- beispielsweise automatisch einen geeig- Debian und ​Ubuntu fallen im Vergleich weist. Alternativ kann er natürlich auch neteren Repository-Server finden, wäh- positiv auf, weil sich bei ihnen (fast) alles Software wie Pulp [4] verwenden, um Paketmanager rend Apt standardmäßig nur seine eigene explizit und dediziert für die automati- die Upgrades zentral anzustoßen, statt sie Liste verwendet. Yum setzt dafür auf schen Upgrades konfigurieren lässt. So dezentral einsammeln zu lassen. 24 Metadaten-Pakete und Delta-RPMs, da- kann der Admin bei einem automatischen für gibt’s bei Ubuntu beispielsweise ein »apt‑get update« alles upgraden, aber zu- E Centos simples Repository für Wagemutige, die gleich verhindern, dass das System kriti- die neuesten Kernel ausprobieren wol- sche Pakete ohne manuelles Eingreifen Wer seine Centos-Installation mit auto-

www.linux-magazin.de len (»kernel‑ppa/mainline«). Dort finden aktualisiert, die beispielsweise Neustarts matischen Updates versehen will, muss sich auch paketierte Release Candidates von eigenen Diensten erfordern oder mit das Paket »yum‑cron« installieren. Es der nächsten Entwicklerkernel. denen der Admin schlechte Erfahrungen besteht aus Konfigurationsdateien und gemacht hat. Die anderen Distributionen, einem Shellskript, das die dort konfigu- Sieben Distributionen abgesehen von RHEL, bieten derlei über rierten Updates nach den Vorgaben des Einstellungen in der Yum- oder Zypper- Admin einspielt. Als etwas eigentümlich Dem folgenden Vergleich stellen mussten Konfiguration. dabei erweist sich, dass der Admin das sich Centos, Debian, Fedora, Open Suse, Der Admin kann das eingangs beschrie- Ganze über Initskripte und Services (de-) RHEL, SLES und Ubuntu. Auch andere ben Vorgehen einer Staging-Umgebung aktivieren muss. Die Startfunktion des Distributionen bieten Auto-Update-Funk- und die daraus freigegebenen Patches bei Initskripts legt lediglich eine Lock-Datei tionen an, warnen aber wie allen Kandidaten mit den unbeaufsichtig- an, und Cron ruft das eigentliche Skript in der Regel davor, sie anzuwenden [3]. ten Techniken kombinieren, indem er die auf. Das verrichtet seinen Dienst nur, Alle getesteten Distributionen kennen die Patches, die die Tests bestanden haben, wenn die Lock-Datei existiert.

Listing 2: »yum ‑y update«

01 Geladene Plugins: langpacks, refresh‑ 25  kernel‑devel x86_64 3.9.9‑301.fc19 updates‑testing 8.1 M 02 Abhängigkeiten werden aufgelöst 26 Aktualisieren: 03 ‑‑> Transaktionsprüfung wird ausgeführt 27  OpenImageIO x86_64 1.1.13‑1.fc19 updates‑testing 1.1 M 04 ‑‑‑> Paket OpenImageIO.x86_64 0:1.1.10‑2.fc19 markiert, um aktualisiert 28  fedorautils noarch 3.0.8‑4.2 fedorautils 61 k zu werden 29 [...] 05 [...] 30  selinux‑policy noarch 3.12.1‑59.fc19 updates‑testing 271 k 06 ‑‑‑> Paket kernel.x86_64 0:3.9.9‑301.fc19 markiert, um installiert zu 31  xorg‑x11‑server‑common x86_64 1.14.2‑1.fc19 updates‑testing 43 k werden 32  07 ‑‑‑> Paket kernel‑devel.x86_64 0:3.9.9‑301.fc19 markiert, um installiert 33 Transaktionsübersicht zu werden 34 ======08 ‑‑‑> Paket kernel‑headers.x86_64 0:3.9.8‑300.fc19 markiert, um 35 Installieren 2 Pakete aktualisiert zu werden 36 Aktualisieren 16 Pakete (+7 Abhängige Pakete) 09 ‑‑‑> Paket kernel‑headers.x86_64 0:3.9.9‑301.fc19 markiert, um eine 37 Entfernen 2 Pakete Aktualisierung zu werden 38  10 [...] 39 Gesamte Downloadgröße: 54 M 11 ‑‑‑> Paket xorg‑x11‑server‑common.x86_64 0:1.14.2‑1.fc19 markiert, um 40 Downloading packages: eine Aktualisierung zu werden 41 No Presto metadata available for fedorautils 12 ‑‑> Abhängigkeitsauflösung beendet 42 updates‑testing/19/x86_64/prestodelta | 661 kB 00:00:00 13 ‑‑> Transaktionsprüfung wird ausgeführt 43 Delta RPMs reduced 7.3 M of updates to 1.6 M (77% saved) 14 ‑‑‑> Paket kernel.x86_64 0:3.9.2‑301.fc19 markiert, um gelöscht zu 44 (1/25): gpm‑libs‑1.20.6‑31.fc19_1.20.6‑33.fc19.x86_64.drpm | 23 kB werden 00:00:00 15 ‑‑‑> Paket kernel‑devel.x86_64 0:3.9.2‑301.fc19 markiert, um gelöscht 45 [...] zu werden 46 (18/25): kernel‑headers‑3.9.9‑301.fc19.x86_64.rpm | 854 kB 00:00:01 16 ‑‑> Abhängigkeitsauflösung beendet 47 (19/25): kernel‑devel‑3.9.9‑301.fc19.x86_64.rpm | 8.1 MB 00:00:02 17  48 [...] 18 Abhängigkeiten aufgelöst 49 (25/25): kernel‑3.9.9‑301.fc19.x86_64.rpm | 29 MB 00:00:11 19  50 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 20 ======51 Gesamt 3.7 MB/s | 48 MB 00:13 21  Package Arch Version Paketquelle Größe 52 Running transaction check 22 ======53 Running transaction test 23 Installieren: 54 Transaction test succeeded 24  kernel x86_64 3.9.9‑301.fc19 updates‑testing 29 M 55 Running transaction Die Konfiguration des Dienstes erfolgt Administrator ein Paket installieren, bei über die Datei »/etc/subsys/yum‑cron«. Debian heißt es »unattended‑upgrades«. Hier kann der Admin einstellen, dass Die Konfiguration erledigt er in mehre- Centos nur prüft, ob es neue Pakete gibt, ren Dateien im Verzeichnis »/etc/apt/apt. ob die Server erreichbar sind und ob das conf.d«, nachträglich aktivieren kann er System neue Pakete nur herunterladen, es mit »-reconfigure --plow unatten- aber nicht installieren soll – oder aber ded‑upgrades«. In der Datei »50unatten- beides. ded‑uprades« stellt er außerdem noch Außerdem finden sich in dieser Datei ein, aus welchen Quellen (dabei werden noch Parameter für Fehler-E-Mails und Patterns verwendet) Pakete stammen die Einstellungen, an welchen Tagen das müssen, damit das Unattended-Paket sie Update laufen soll. Standardmäßig aktu- verarbeitet. alisiert es alle Pakete, sollte ein Reboot In der Standardeinstellung akzeptiert das notwendig sein, beispielsweise bei Ker- Tool nur Debian-Pakete aus dem Stable- nelupdates, dann erfährt dies der Admi- Bereich mit Label »Debian‑Security« – nistrator nur, wenn er die Logdatei oder wohl eine sehr weise Entscheidung. In Statusmail liest und nachsieht, welche dieser Datei lassen sich kritische Pakete Updates eingespielt wurden. auch auf eine Blacklist setzen, was das automatische Update verhindert. E Debian Wie bei Centos kann der Administrator hier eine E-Mail-Adresse eintragen. Auch Debian-Systeme haben die wohl kom- die riskanten automatischen Neustarts plexeste Variante für unbeaufsichtigte oder Updates beim Shutdown statt im Updates. Zunächst muss auch hier der Hintergrund des laufenden Betriebs und

Listing 2: »yum ‑y update«

56  Aktualisieren : selinux‑policy‑3.12.1‑59.fc19.noarch 1/50 57 [...] 58  Aktualisieren : fedorautils‑3.0.8‑4.2.noarch 22/50 59  Installieren : kernel‑devel‑3.9.9‑301.fc19.x86_64 23/50 60  Aktualisieren : ibus‑typing‑booster‑1.2.1‑1.fc19.noarch 24/50 61  Installieren : kernel‑3.9.9‑301.fc19.x86_64 25/50 62 [...] 63  Aufräumen : kernel‑3.9.2‑301.fc19.x86_64 34/50 64  Aufräumen : kernel‑headers‑3.9.8‑300.fc19.x86_64 35/50 65 [...] 66  Überprüfung läuft: selinux‑policy‑targeted‑3.12.1‑59.fc19.noarch 12/50 67  Überprüfung läuft: kernel‑3.9.9‑301.fc19.x86_64 13/50 68 [...] 69 Entfernt: 70  kernel.x86_64 0:3.9.2‑301.fc19 kernel‑devel.x86_64 0:3.9.2‑301.fc19 71  72 Installiert: 73  kernel.x86_64 0:3.9.9‑301.fc19 kernel‑devel.x86_64 0:3.9.9‑301.fc19 74  75 Aktualisiert: 76  OpenImageIO.x86_64 0:1.1.13‑1.fc19 77  [...] 78  kernel‑headers.x86_64 0:3.9.9‑301.fc19 79 [...] 80  xorg‑x11‑server‑Xorg.x86_64 0:1.14.2‑1.fc19 81 Abhängigkeit aktualisiert: 82  libdrm.x86_64 0:2.4.46‑1.fc19 83  [...] 84  selinux‑policy.noarch 0:3.12.1‑59.fc19 85  xorg‑x11‑server‑common.x86_64 0:1.14.2‑1.fc19 86  87 Komplett! 09/2013 Titelthema Paketmanager

26 www.linux-magazin.de

Abbildung 1: GUI-Konfiguration des Paketmanagements unter KDE auf Fedora 19: Abbildung 2: … steht dem Admin aber auch als Stand-alone-Applikation zur integriert sich in die Systemsteuerungen … Seite, wenn er sie von der Kommandozeile aus startet.

viele andere nützliche Settings darf er dienen dem Shellskript »/etc/cron.daily/ angeben kann. Bei Syslog darf er Facility hier konfigurieren. apt« dazu, einmal täglich (getriggert von und Level spezifizieren. Ob die Einstellung, Updates beim He- Cron) gemäß den Einstellungen die an- Wurde der Yum-updatesd-Dienst gestar- runterfahren einzuspielen, sinnvoll ist, stehenden Aufgaben zu absolvieren. Im tet, dann heißt es warten, bis das Intervall muss jeder Admin selbst entscheiden. Verzeichnis »/var/log/unattended‑up- vorbei ist. Je nach gewählter Benachrich- Microsoft-Anwendern ist das vertraut, grades« findet sich die Datei »unatten- tigungsart bekommt der Administrator doch nicht jedem liegt die Vorstellung, ded‑upgrades.log«, die den Statusbericht eine Email oder findet die Informationen beim unter Linux doch deutlich seltene- der täglichen Abläufe enthält. Installiert über die Updates im Syslogfile. Und wer ren Reboot erst minutenlang warten zu das Skript tatsächlich Upgrades, so legt es das Desktop-Red-Hat am Arbeitsplatz müssen. In der Regel klappen die Up- Extradateien an, die detaillierte Ausgaben einsetzt, konfiguriert die Updates über dates jedoch deutlich schneller als bei der Installation aufnehmen. Apper (Abbildungen 1 und 2). Windows 7, wo sich schwachbrüstige PCs bei umfangreichen Aktualisierungen E Fedora E Open Suse und ​SLES schon mal eine halbe Stunde für den Neustart genehmigen. Fedora verwendet optional das Python- Offene und kommerzielle Variante der Der zweite Teil der Konfiguration steckt Skript »yum‑updatesd«. Dessen Konfi- beiden Suse-Distributionen unterschei- im selben Verzeichnis in der Datei »02pe- guration wird in der Datei »/etc/yum/ den sich bekanntlich nur in der Regist- riodic«. Dort stellt der Administrator ein, yum‑updatesd.conf« festgelegt. Listing rierung, die bei SLES erforderlich wird ob überhaupt automatische Updates 3 zeigt die Konfiguration für automa- und die den Anspruch auf offiziellen durchzuführen sind, wann das System tische Updates. Wahlweise verteilt das Support aktiviert. Wie beim Chamäleon die Paketlisten aktualisiert, ob es die Pa- Skript Update-Benachrichtigungen übers üblich, konfiguriert der Admin automati- kete nur herunterladen oder auch gleich Dbus-System oder via Syslog und stellt sche Updates in Yast: Im Modul »Software installieren soll und wann es alte Pakete sie natürlich auch per E-Mail zur Ver- | Online Update Configuration« (Abbil- aus dem Cache löscht. fügung, wobei der Administrator beim dungen 3 und 4) kann er die folgenden, Die Funktionsweise der Auto-Updates E-Mail-Verfahren die Sende- und Emp- vergleichsweise bescheidenen Parameter unter Debian ist simpel: Alle Parameter fangsadresse sowie den Mailserver direkt eingestellen: n Automatische Updates überhaupt ak- Listing 3: »yum‑updatesd.conf« tivieren?

01 [main] 09 emit_via = dbus n Wie häufig soll geprüft werden (täg- 02 # how often to check for new updates (in 10 # should we listen via dbus to give out update lich, wöchentlich, monatlich)? seconds) 11 # information/check for new updates n Interaktive Patches auch einspielen? 03 run_interval = 3600 12 dbus_listener = yes n Soll das System allen Lizenzbestim- 04 13  mungen zustimmen? 05 # how often to allow checking on request (in 14 # automatically install updates n Sollen auch empfohlene Patches ein- seconds) 15 do_update = yes gespielt werden? 06 updaterefresh = 600 16 # automatically download updates Schließlich kann der Administrator noch 07  17 do_download = yes aus einer Liste von Kategorien (Security, 08 # how to send notifications (valid: dbus, 18 # automatically download deps of updates Empfohlen, ...) auswählen, sodass nur email, syslog) 19 do_download_deps = yes Pakete, die einer diesen Kategorien ent- 09/2013 Titelthema sprechen, beim automatischen Update zum Zuge kommen. Mit wenigen Mausklicks ist die Konfigu- ration abgeschlossen und der Adminis- trator kann in »/var/log/zypp/history« nachprüfen, was das System wann instal- Paketmanager liert hat. Wer lieber Textdateien editiert, findet die Parameter in dem Verzeichnis 27 »/etc/sysconfig«. E Red Hat Enterprise

Linux www.linux-magazin.de

RHEL besitzt schon lange sein eigenes Modell, mit dem Admins ihre Systeme dazu anweisen, automatische Updates herunterzuladen und zu installieren. Die Rothüte haben Yum um ein Plugin für das Red Hat Network (RHN) erweitert, von dem jeder Server profitiert, der über eine Abbildung 3: Online-Updates unter Suse konfigurieren kann der Anwender auch am Desktop – dank Yast. gültige Subskription und einen Account verfügt. Damit kann der Administrator über die Weboberfläche Installationen oder Upgrades anstoßen. Auf den Sys- temen arbeitet anschließend der »rhn«- Daemon die Aufgaben ab. Dabei schickt das RHN E-Mails an die Admins, wenn Updates anstehen. Der Rhnsd prüft in Intervallen (einstell- bar in »/etc/sysconfig/rhn/rhnsd«), ob es für ihn etwas zu tun gibt. Auf den Web­oberflächen der Systeme kann der Admin konfigurieren, ob Updates auto-

Listing 4: »/etc/apt.conf.d/ 10periodic«

01 APT::Periodic::Update‑Package‑Lists "1"; 02 APT::Periodic::Download‑Upgradeable‑Packages "1"; Abbildung 4: Yast bietet deutlich weniger Parameter als Debian-Systeme, dafür ein schickes GUI. Die Einstel- 03 APT::Periodic::AutocleanInterval "7"; lungen landen unter »/etc/sysconfig«. 09/2013 Titelthema Paketmanager

28 www.linux-magazin.de Abbildung 6: Am Desktop kein Problem: So wie hier Fedora informieren alle Systeme den Benutzer. Abbildung 5: Unter »Software & Aktualisierungen« konfiguriert der Anwender am Ubuntu-Desktop Updates. Das schaut unter KDE und Gnome/​Unity gleich aus und integriert sich in die Systemsteuerungen, hier KDE. gen Ausnahmen überschrieben werden. Trotzdem sollte ein sicherheitsbewusster matisch und ohne Bestätigung einzu- ders, hier hilft aber der Blick in die Man- Admin bei produktiven Systemen lieber spielen sind, dabei lässt sich das GUI page weiter. auf eine Download-only-Strategie setzen, aber leider nicht näher darüber aus, was Es empfiehlt sich, nur eine der beiden Va- zumindest wenn er keine Testumgebung „relevant“ bedeutet. rianten aktiv zu halten, damit das System vorhalten will. So muss er beim Upgrade Über den Status der durchgeführten Up- weniger oft die Updateserver abfragt und nicht lange warten, hat aber trotzdem grades informiert das RHN den Adminis- die beiden Prozesse nicht beim Down- noch alle Fäden in der Hand, falls etwas trator ebenfalls per E-Mail. Mehr Details load miteinander konkurrieren. Bei der schiefläuft. n zu den Enterprise-Distributionen und den Installation kümmert sich Apt ja um den verbundenen Implikationen bietet ein ei- Zugriff auf die Paketdatenbank. Ubuntu gener Artikel in diesem Schwerpunkt. meldet übrigens über die Datei »/etc/is- Infos sue«, wenn nach automatischen Updates [1] Marcel Hilzinger, „Suse Linux 9.1 Special E Ubuntu beispielsweise ein neuer Kernel einen Re- Edition“: Linux-Magazin 11/​04 boot verlangt (Listing 5). [2] Markus Feilner, „Fedora 19/​20: Logfile- Wie Debian setzt auch Ubuntu auf das Explosion dank Systemd-Syslog und Paket »unattended‑upgrades«. Das Sys- Nie ohne Testumgebung Journald“: [http://​­www.​­linux‑magazin.​­de/​ tem verhält sich genau so, wie im De- ­NEWS/​­Fedora‑19‑20‑Logfile‑Explosion‑dank bian-Abschnitt oben beschrieben, bringt Tabelle 1 fasst die Ergebnisse des Tests ‑Systemd‑Syslog‑und‑Journald] aber eigene GUIs mit (Abbildung 5). Out zusammen. Die höchste Flexibilität bie- [3] Arch-Auto-Update-Disclaimer: of the Box kommt auch der »update‑noti- tet definitiv Debians Paketmanagement. [https://​­wiki.​­archlinux.​­org/​­index.​­php/​ fer‑common« auf die Platte, der ebenfalls Durch die Möglichkeit, automatische und ­Update_packages_from_crontab] unter »/etc/apt/apt.conf.d« eine Datei manuelle Updates getrennt zu behan- [4] Konstantin Agourous, „Filmreif ausrollen“: »10periodic« anlegt (Listing 4). deln, kann der Administrator hier auch Linux-Magazin 05/​12, S. 28 Diese versteht im Prinzip die gleichen Pakete, die er als gefahrlos einstuft, au- Parameter wie die ebenfalls oben schon tomatisch aktualisieren lassen, während Der Autor beschriebene »02periodic« bei »unatten- er problematischere Software gesondert Konstantin Agouros arbeitet ded‑upgrades«, allerdings funktionieren behandelt. bei der N.runs AG als Bera- die Parameter, beispielsweise »APT::Pe­ Bei den anderen Distributionen muss ter für Netzwerksicherheit. riodic::Unattended‑Upgrade«, etwas an- er dieses Verhalten mit den entspre- Dabei liegt sein Schwer- chenden Optionen der Paketwerkzeuge punkt im Bereich Telekom- Listing 5: Reboot erforderlich erzwingen, was aber in der Regel den munikationsanbieter und Nachteil mit sich bringt, dass bei einem SIEM Technologien. Sein Buch „DNS/DHCP“​ ist 01 # ssh root@ubuntu1304 02 Welcome to Ubuntu 13.04 (GNU/Linux manuellen Upgrade die allgemeingülti- bei Open Source Press erschienen. 3.9.4‑030904‑generic x86_64) 03  Tabelle 1: Distributionen im Vergleich 04  * Documentation: https://help.ubuntu.com/ Centos Debian Fedora Open Suse RHEL Ubuntu 05  und SLES 06 *** Neustart des Systems erforderlich *** Download only ja ja ja nein nein ja 07 Last login: Mon Jul 1 15:56:30 2013 from Allgemeine Filter ja ja ja ja nein ja 95‑91‑235‑245‑dynip.superkabel.de Spezifische Filter für nein ja nein nein nein ja 08 # reboot Unattended-Modus