Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Titelthema<br />
www.linux-magazin.de Paketmanager 09/2013<br />
24<br />
Die Unterschiede zwischen den Paketmanagern<br />
und ihren Tools liegen mittlerweile<br />
eher im Detail. Da kann Yum<br />
beispielsweise automatisch einen geeigneteren<br />
Repository-Server finden, während<br />
Apt standardmäßig nur seine eigene<br />
Liste verwendet. Yum setzt dafür auf<br />
Metadaten-Pakete und Delta-RPMs, dafür<br />
gibt’s bei Ubuntu beispielsweise ein<br />
simples Repository für Wagemutige, die<br />
die neuesten Kernel ausprobieren wollen<br />
(»kernel‐ppa/mainline«). Dort finden<br />
sich auch paketierte Release Candidates<br />
der nächsten Entwicklerkernel.<br />
Sieben Distributionen<br />
Dem folgenden Vergleich stellen mussten<br />
sich Centos, Debian, Fedora, Open Suse,<br />
RHEL, SLES und Ubuntu. Auch andere<br />
Distributionen bieten Auto-Update-Funktionen<br />
an, warnen aber wie Arch <strong>Linux</strong><br />
in der Regel davor, sie anzuwenden [3].<br />
Alle getesteten Distributionen kennen die<br />
Möglichkeit, Pakete von Upgrade oder<br />
Installation auszunehmen, etwa wenn<br />
Abhängigkeiten aufzulösen sind.<br />
Debian und Ubuntu fallen im Vergleich<br />
positiv auf, weil sich bei ihnen (fast) alles<br />
explizit und dediziert für die automatischen<br />
Upgrades konfigurieren lässt. So<br />
kann der Admin bei einem automatischen<br />
»apt‐get update« alles upgraden, aber zugleich<br />
verhindern, dass das System kritische<br />
Pakete ohne manuelles Eingreifen<br />
aktualisiert, die beispielsweise Neustarts<br />
von eigenen Diensten erfordern oder mit<br />
denen der Admin schlechte Erfahrungen<br />
gemacht hat. Die anderen Distributionen,<br />
abgesehen von RHEL, bieten derlei über<br />
Einstellungen in der Yum- oder Zypper-<br />
Konfiguration.<br />
Der Admin kann das eingangs beschrieben<br />
Vorgehen einer Staging-Umgebung<br />
und die daraus freigegebenen Patches bei<br />
allen Kandidaten mit den unbeaufsichtigten<br />
Techniken kombinieren, indem er die<br />
Patches, die die Tests bestanden haben,<br />
auf einen lokalen Server legt und allen<br />
Systemen mit automatischem Modus nur<br />
diesen Server als Repository-Master zuweist.<br />
Alternativ kann er natürlich auch<br />
Software wie Pulp [4] verwenden, um<br />
die Upgrades zentral anzustoßen, statt sie<br />
dezentral einsammeln zu lassen.<br />
E Centos<br />
Wer seine Centos-Installation mit automatischen<br />
Updates versehen will, muss<br />
das Paket »yum‐cron« installieren. Es<br />
besteht aus Konfigurationsdateien und<br />
einem Shellskript, das die dort konfigurierten<br />
Updates nach den Vorgaben des<br />
Admin einspielt. Als etwas eigentümlich<br />
dabei erweist sich, dass der Admin das<br />
Ganze über Initskripte und Services (de-)<br />
aktivieren muss. Die Startfunktion des<br />
Initskripts legt lediglich eine Lock-Datei<br />
an, und Cron ruft das eigentliche Skript<br />
auf. Das verrichtet seinen Dienst nur,<br />
wenn die Lock-Datei existiert.<br />
Listing 2: »yum ‐y update«<br />
01 Geladene Plugins: langpacks, refresh‐packagekit<br />
02 Abhängigkeiten werden aufgelöst<br />
03 ‐‐> Transaktionsprüfung wird ausgeführt<br />
04 ‐‐‐> Paket OpenImageIO.x86_64 0:1.1.10‐2.fc19 markiert, um aktualisiert<br />
zu werden<br />
05 [...]<br />
06 ‐‐‐> Paket kernel.x86_64 0:3.9.9‐301.fc19 markiert, um installiert zu<br />
werden<br />
07 ‐‐‐> Paket kernel‐devel.x86_64 0:3.9.9‐301.fc19 markiert, um installiert<br />
zu werden<br />
08 ‐‐‐> Paket kernel‐headers.x86_64 0:3.9.8‐300.fc19 markiert, um<br />
aktualisiert zu werden<br />
09 ‐‐‐> Paket kernel‐headers.x86_64 0:3.9.9‐301.fc19 markiert, um eine<br />
Aktualisierung zu werden<br />
10 [...]<br />
11 ‐‐‐> Paket xorg‐x11‐server‐common.x86_64 0:1.14.2‐1.fc19 markiert, um<br />
eine Aktualisierung zu werden<br />
12 ‐‐> Abhängigkeitsauflösung beendet<br />
13 ‐‐> Transaktionsprüfung wird ausgeführt<br />
14 ‐‐‐> Paket kernel.x86_64 0:3.9.2‐301.fc19 markiert, um gelöscht zu<br />
werden<br />
15 ‐‐‐> Paket kernel‐devel.x86_64 0:3.9.2‐301.fc19 markiert, um gelöscht<br />
zu werden<br />
16 ‐‐> Abhängigkeitsauflösung beendet<br />
17 <br />
18 Abhängigkeiten aufgelöst<br />
19 <br />
20 ==============================<br />
21 Package Arch Version Paketquelle Größe<br />
22 ==============================<br />
23 Installieren:<br />
24 kernel x86_64 3.9.9‐301.fc19 updates‐testing 29 M<br />
25 kernel‐devel x86_64 3.9.9‐301.fc19 updates‐testing 8.1 M<br />
26 Aktualisieren:<br />
27 OpenImageIO x86_64 1.1.13‐1.fc19 updates‐testing 1.1 M<br />
28 fedorautils noarch 3.0.8‐4.2 fedorautils 61 k<br />
29 [...]<br />
30 selinux‐policy noarch 3.12.1‐59.fc19 updates‐testing 271 k<br />
31 xorg‐x11‐server‐common x86_64 1.14.2‐1.fc19 updates‐testing 43 k<br />
32 <br />
33 Transaktionsübersicht<br />
34 ==============================<br />
35 Installieren 2 Pakete<br />
36 Aktualisieren 16 Pakete (+7 Abhängige Pakete)<br />
37 Entfernen 2 Pakete<br />
38 <br />
39 Gesamte Downloadgröße: 54 M<br />
40 Downloading packages:<br />
41 No Presto metadata available for fedorautils<br />
42 updates‐testing/19/x86_64/prestodelta | 661 kB 00:00:00<br />
43 Delta RPMs reduced 7.3 M of updates to 1.6 M (77% saved)<br />
44 (1/25): gpm‐libs‐1.20.6‐31.fc19_1.20.6‐33.fc19.x86_64.drpm | 23 kB<br />
00:00:00<br />
45 [...]<br />
46 (18/25): kernel‐headers‐3.9.9‐301.fc19.x86_64.rpm | 854 kB 00:00:01<br />
47 (19/25): kernel‐devel‐3.9.9‐301.fc19.x86_64.rpm | 8.1 MB 00:00:02<br />
48 [...]<br />
49 (25/25): kernel‐3.9.9‐301.fc19.x86_64.rpm | 29 MB 00:00:11<br />
50 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐<br />
51 Gesamt 3.7 MB/s | 48 MB 00:13<br />
52 Running transaction check<br />
53 Running transaction test<br />
54 Transaction test succeeded<br />
55 Running transaction