Update

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Dieser Artikel ist Teil der HOWTO Sammlung

Inhaltsverzeichnis

Was sind Updates?

Updates (oder zu Deutsch: Aktualisierungen) sind neue Versionen von Paketen, die z.B. neue Programmversionen mitbringen oder Sicherheitslücken schließen. Bei Fedora gibt es drei Kategorien für Updates:

  • Enhancements: Diese sind neue Programmversionen eines schon bestehenden Paketes. Aber auch in Fedora neu aufgenommene Pakete werden in dieser Kategorie geführt.
  • Bugfix: Diese Updates beheben Probleme mit dem bestehenden Paket. Oftmals ist dem ein enstprechender Bugreport im Bugzilla vorhergegangen.
  • Security: Diese Updates schließen Sicherheitslücken. Bei ihnen sind die entsprechenden Lücken als CVE und ____ genannt.

Fedora ist eine Distribution, die auch innerhalb der Lebenszeit eines Releases die meisten Komponenten/Pakete noch aktualisiert (andere Distributionen spielen z.B. nur Sicherheitsupdates ein, aber keine neuen Programmversionen). Prinzipiell ist man natürlich nicht gezwungen, alle Updates einzuspielen, sondern nur die, die man möchte. Ein Unterpunkt dieses Howtos wird sich damit beschäftigen, nur die sicherheitsrelevanten Updates einzuspielen. Ebenso hat man sowohl beim grafischen Einspielen über PackageKit, wie auch beim terminalbasierten Einspielen über yum die Möglichkeit, sich die gewünschten Updates selektiv herauszusuchen.

Grafisches Einspielen von Updates

Anmerkung Anmerkung: Die folgenden Hinweise beziehen sich primär auf gnome-packagekit, welches in den meisten Fällen zum Einsatz kommen dürfte. Die KDE-Version kpackagekit bietet aber einen ähnlichen Funktionsumfang und unterscheidet sich primär nur durch das Aussehen der Anwendung.

Wird eine der Desktopumgebungen GNOME, XFCE oder LXDE benutzt, informiert der automatisch mitgestartete Paketmanager PackageKit (bzw. dessen Version für die Systemleiste gpk-update-icon) über verfügbare Aktualisierungen. Die verschiedenen Symbole von PackageKit stellen unterschiedliche Kategorien von Aktualisierungen dar:

Eine Sicherheitsaktualisierung Eine Sicherheitsaktualisierung
Die Aktualisierung hat eine durchschnittliche Priorität.Die Aktualisierung hat eine durchschnittliche Priorität
Die Aktualisierung hat eine geringe Priorität.Die Aktualisierung hat eine geringe Priorität
Die Aktualisierung hat eine hohe Priorität.Die Aktualisierung hat eine hohe Priorität
Leistungsmerkmale wurden hinzugefügtLeistungsmerkmale wurden hinzugefügt
Es wurden Fehler behobenEs wurden Fehler behoben


Bei Rechtsklick auf das Symbol kann dabei der Updatevorgang sofort ausgeführt werden (System jetzt aktualisieren) oder die Änderungen zunächst einmal begutachtet werden (Aktualisierungen anzeigen). Diese werden dann in einer Übersicht angezeigt, die aber bei Klick auf Überprüfen noch detaillierter dargestellt wird.

Übersicht über Aktualisierungen detaillierte Ansicht der Aktualisierungen

In der detaillierten Ansicht ist es dabei auch möglich, einzelne Pakete durch Entfernen des Hakens vor dem Paketnamen von der Aktualisierung auszuschließen. Ebenso werden weitere Informationen, wie z.B. die Fehlernummer bei Problembebungen angezeigt. Soll das Update schließlich ausgeführt werden, reicht ein Klick auf Aktualisierungen anwenden, um die entsprechenden Pakete herunterzuladen und zu aktualisieren. Der Fortschritt bei diesen Schritten wird dabei auch detailliert angezeigt; das Fenster kann aber dabei problemlos geschlossen werden:

PackageKit-Update-1.pngPackageKit-Update-2.pngPackageKit-Update-3.pngPackageKit-Update-4.png

Einspielen von Updates über ein Terminal (yum)

Die schnellste Variante ist es, Updates direkt über yum einzuspielen. Dafür ist folgender Befehl notwendig:

[root]# yum update

Im folgenden werden die aktuell konfigurierten Repositories nach aktualisierten Paketen durchsucht und anschließend in einer Liste angezeigt. Falls das Update vorgenommen werden soll, kann dies mit j (oder y) bestätigt werden.

Falls nur selektiv Pakete aktualisiert werden sollen, geschieht dies über ein Anhängen des Paketnamens an den Befehl:

[root]# yum update hal

Müssen dabei auch Abhängigkeiten zu den ausgewählten Paketen aktualisiert werden, werden diese dabei mitinstalliert.

Wer sich nur eine Liste mit aktuelleren Pakete ausgeben lassen will, kann dies (auch als normaler User), mit folgendem Befehl machen:

yum --check-update


Eine Aktualisierung einer ganzen Paketgruppe geschieht analog dazu über

[root]# yum groupupdate "GNOME Desktop Environment"

Hierbei werden auch neu zur Paketgruppe hinzugefügte Pakete installiert, die sonst bei einer Aktualisierung nicht mit eingeschlossen wären.

relevante Plugins

Anmerkung Anmerkung: Die folgenden Plugins sind nur für eine direkte Benutzung mit yum gedacht. Sie haben keine Auswirkungen auf die grafische Variante PackageKit.

Im folgenden sollen einmal einige, für ein Update relevante Plugins für yum vorgestellt werden. Für mehr Informationen über das jeweilige Plugin, sollte dem Verweis zu der jeweiligen Seite im Fedorawiki.de gefolgt werden.

Da wäre zum einen yum-changelog, welches einem ermöglicht, den Changelog des zu aktualisierenden Paketes gleich einzusehen. Die Einstellungen in /etc/yum/pluginconf.d/changelog.conf bestimmen dabei, ob dies vor oder nach der eigentlichen Aktualisierung geschieht.

Das Plugin yum-merge ermöglicht es, veränderte Konfigurationsdateien mit der bestehenden zu vereinen. Es wird dabei bei jeder Konfigurationsdatei abgefragt, was mit ihr geschehen soll. Normalerweise werden veränderte Dateien als .rpmsave oder .rpmnew gespeichert (je nach Konfiguration des RPMs). So können Veränderungen bzw. Zusammenführungen direkt und sofort nach der Aktualisierung vorgenommen werden.

Mit dem Plugin yum-presto werden bei einer Aktualisierung nur sogenannte Delta-RPMs heruntergeladen. Diese sind ungleich kleiner als ein normales Update-RPM und so kann Bandbreite gespart werden. Aus den Delta-RPMs werden dann die nötigen Informationen extrahiert, um ein Paket zu aktualisieren. Momentan ist für die Nutzung der Delta-RPMs noch spezielle Repositories vonnöten, die diese bereitstellen und in der Datei /etc/yum/plugins.d/presto.conf konfiguriert werden.

Das Plugin yum-skip-broken hilft dabei, Updates trotzdem durchzuführen, wenn ein oder mehrere Pakete nicht erfüllte Abhängigkeiten haben. Dies kann z.B. durch ein fehlerhaftes Paket passieren oder auch durch zu früh freigegebene Sicherheitsupdates, wenn die davon abhängigen Pakete noch nicht mitaktualisiert wurden. Pakete mit nicht erfüllten Abhängigkeiten werden dabei vom Updatevorgang ausgespart.

Nur Sicherheitsupdates einspielen

Wichtig Wichtig: Das Plugin yum-security ist nur für eine direkte Benutzung mit yum gedacht. Es hat keine Auswirkungen auf pup oder puplet.

Mit dem Plugin yum-security ist es möglich, sich genauere Informationen über Updates anzuzeigen, die Sicherheitslücken schließen (und daher als solche markiert wurden). Ebenso kann angegeben werden, nur diese Updates einzuspielen. Durch die Natur von Fedora, neue Pakete auch innerhalb eines Releases anzubieten, kann dies aber auch bedeuten, als Sicherheitsupdate eine neue Version des betreffenden Paketes zu bekommen (und auch neue Versionen von einem von diesem Paket abhängigen Paket). Um eine Liste von Paketen zu bekommen, die als Sicherheitsupdates markiert wurden, gilt folgender Befehl:

$ yum list-sec security
Loading "security" plugin
Loading "changelog" plugin
fedora                    100% |=========================| 2.1 kB    00:00
updates                   100% |=========================| 2.3 kB    00:00
FEDORA-2007-3403 security libsmbclient - 3.0.27-0.fc8.i386
FEDORA-2007-3235 security link-grammar - 4.2.5-1.fc8.i386
FEDORA-2007-3218 security perl - 4:5.8.8-31.fc8.i386
FEDORA-2007-3218 security perl-libs - 4:5.8.8-31.fc8.i386
FEDORA-2007-3403 security samba-client - 3.0.27-0.fc8.i386
FEDORA-2007-3403 security samba-common - 3.0.27-0.fc8.i386
list-sec done

Die letzte Option, security, beschränkt diese Liste dabei auf Sicherheitsupdates. Andere Optionen wären bugzillas (mit Pakete, die eingetragene Bugs schließen) und cves, die als Common Vulnerabilities and Exposures gelistet sind. Wird keine Option angegeben, werden alle Pakete gelistet (auch Erweiterungen/normale Updates). In dem Beispiel sind die Updates für libsmbclient, samba-client, samba-common, perl und perl-libs als Sicherheitsupdates markiert. Um sich anzeigen zu lassen, Was genau z.B. bei Perl gelöst wurde, kann die Aktualisierungsinformation angezeigt werden (Der Übersicht halber wurde die Liste der Dateien, die dies betrifft, abgeschnitten):

$ yum info-sec FEDORA-2007-3218
Loading "security" plugin
Loading "changelog" plugin

===============================================================================
  perl-5.8.8-31.fc8
===============================================================================
  Update ID : FEDORA-2007-3218
    Release : Fedora 8
       Type : security
     Status : stable
     Issued : 2007-11-13 00:00:12
       Bugs : 378141 - CVE-2007-5116 perl regular expression UTF parsing errors [f8]
Description : Resolves: CVE-2007-5116: perl regular expression UTF parsing
            : errors
      Files : <abgeschnitten>

info-sec done

Um nun lediglich Sicherheitsupdates einzuspielen, kann wie gehabt nur der Name des zu aktualisierenden Paketes an yum übergeben werden oder es kann yum angewiesen werden, sich nur auf Sicherheitsupdates zu beschränken:

[root]# # yum --security update


Updates automatisieren

Um Updates automatisch einspielen zu lassen, ist es am Einfachsten, die entsprechende Einstellung in PackageKit zu aktivieren.

Packagekit-Einstellungen.png

Es kann dabei danach unterschieden werden, ob alle Aktualisierungen automatisch eingespielt werden oder nur solche, die als Sicherheitsupdate markiert sind.

Falls Aktualisierungen gefunden werden, erscheint dabei zunächst ein passives Fenster, dass auf das automatische Update hinweist. Dabei besteht noch innerhalb einer Minute die Möglichkeit, das Update abzubrechen.

PackageKit-autoupdate-1.png

Falls nicht abgebrochen wird, werden die Aktualisierungen automatisch heruntergeladen und installiert. Das Icon für PackageKit in der Systemleiste weist dabei auf den momentanen Zustand hin. Ist alles erfolgreich abgeschlossen, wird dieses ebenfalls über ein passives Fenster mitgeteilt:

PackageKit-autoupdate-2.png


Updates über cron einspielen

yum-cron stellt die bis zu Fedora Core 6 gängige Möglichkeit, Updates einmal täglich über cron einzuspielen, über ein Plugin bereit. Es ist daher gut für ständig laufende Server geeignet und wird angestoßen, wenn der tägliche Cronjob ausgeführt wird (von Haus aus um 2:04 Uhr (nachts)). Über die Datei /etc/sysconfig/yum-cron kann dabei eingestellt werden, ob nur nach Updates geschaut und diese gegebenenfalls auch heruntergeladen werden oder ob sie gleich installiert werden sollen:

# Don't install, just check (valid: yes|no)
CHECK_ONLY=no
# Don't install, just check and download (valid: yes|no)
# Implies CHECK_ONLY=yes (gotta check first to see what to download)
DOWNLOAD_ONLY=no

Die Standardeinstellung ist dabei, die Updates sofort zu installieren. Einmal wöchentlich (durch den wöchentlichen Cronjob Sonntags um 22:04 Uhr) werden die heruntergeladenen Pakete gelöscht.

Um yum-cron zu aktivieren, muss er zudem als Dienst im passenden Runlevel gestartet werden. Von Haus aus ist er deaktiviert. Da sich für Server der Runlevel 3 anbietet, wird er in diesem Beispiel auch nur dort gestartet:

[root]# chkconfig --level 3 yum-cron on


Updates beim Booten einspielen

Mittels des Plugins yum-updateonboot ist es möglich, gleich beim Start des PCs die fälligen Updates einzuspielen. Es muss dafür natürlich eine Internetverbindung bestehen (oder ebenfalls im Bootprozess automatisch gestartet werden). Über die Datei /etc/sysconfig/yum-updateonboot kann zudem eingestellt werden, nach welchen Updates ein automatischer Neustart des System geschehen soll (sinnvoll z.B. bei Kerneln, um diese gleich zubenutzen), als auch welche Gruppen nach dem eigentlichen Update aktualisiert werden sollen (um Aktualisierungen einer Gruppe, die nicht durch normale Paketupdates abgedeckt werden (wie z.B. zusätzliche Pakete), ebenfalls einzuspielen).

Auch dieser Dienst muss noch manuell für die jeweiligen Runlevel aktiviert werden:

[root]# chkconfig --level 345 yum-updateonboot on


Informationen über Updates

Dieser Punkt beschäftigt sich mit den Möglichkeiten, gesonderte Informationen über Aktualisierungen einzuholen. Es werden dabei verschiedene Ressourcen vorgestellt, die auch genutzt werden können, falls das Fedorasystem gerade nicht läuft.

Mailinglisten

Alle verfügbaren (stabile und sicherheitskritische) Updates für Fedora werden über eine spezielle Mailingliste angekündigt: fedora-package-announce

Zu den Informationen, die in einer entsprechenden Mail enthalten sind, zählen u.a. die eigentliche Beschreibung des Paketes, Informationen zum aktualisierten Paket (falls angegeben) und der Changelog des Paketes. Dies ist die einfachste Möglichkeit, um über Aktualisierungen gesondert informiert zu werden. Wer zudem über die verfügbaren Pakete informiert werden möchte, die noch getestet werden, bevor sie in das normale Updates-Repository einfließen, kann dies über die Mailingliste fedora-test-list tun. Entsprechende Mails gehen an diese Liste, sie wird aber auch zur normalen Diskussion über die Testzweige von Fedora sowie den Entwicklungszeig (rawhide) benutzt.

RSS-Feeds

Fedora bietet auch verschiedene RSS-Feeds an, die neben der vom Maintainer eingestellten Aktualisierungsmitteillung auch den Changelog des Paketes enthält.

Fedora Weekly News

Der wöchentliche Newsletter über Fedora erscheint immer Montags und beinhaltet neben einem Rückblick auf die vergangene Woche noch einmal eine Liste mit Verwaisen auf alle sicherheitskritischen Updates. Bezogen werden kann er über die Mailingliste fedora-announce-list, einem RSS-Feed oder direkt über das Wiki des Fedora Projektes

Fedora Update System

Das Fedora Update System (auch bodhi genannt) ist zwar eigentlich für Paketbetreuer und andere Mitglieder von Fedora gedacht, es bietet aber auch normalen Benutzern die Möglichkeit, die aktuell verfügbaren Aktualisierungen einzusehen: Fedora Update System

Die Updates sind dabei unterteilt in die Version von Fedora und folgende Kategorien:

  • Pending: Dies sind die kommenden Updates, die auf ihre Integrierung in das Testrepository (fedora-updates-testing) warten
  • Testing: Dies sind die Pakete, die momentan im Testrepository noch getestet werden
  • Stable: Dies sind die aktuell verfügbaren Updates
  • Security: Dies sind Pakete, die als sicherheitkritische Aktualisierung eingestuft wurden

Bei einem Klick auf ein Paket werden verschiedene Informationen angezeigt. Zu den hier relevanten zählen Type (Art des Updates), notes (Enthält Hinweise über die durch das Update durgeführten Änderungen bzw. Erweiterungen) und evtl. Comments (dort können Kommentare zum Update hinzugefügt werden). Diese Kommentare dienen als Feedback für Updates, die sich noch im Stage testing befinden. Benutzer, die kein Mitglied des Fedora Projektes sind, müssen beim Einfügen eines Kommentars ein Captcha ausfüllen, um den Mißbrauch des Updatesystems zu vermeiden.