26.02.2014 Aufrufe

Linux-Magazin Clean Linux (Vorschau)

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!