Update
Aus Fedorawiki.de
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
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
Die Aktualisierung hat eine durchschnittliche Priorität
Die Aktualisierung hat eine geringe Priorität
Die Aktualisierung hat eine hohe Priorität
Leistungsmerkmale wurden hinzugefügt
Es 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.
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:
Einspielen von Updates über ein Terminal (yum)
Die schnellste Variante ist es, Updates direkt über yum einzuspielen. Dafür ist folgender Befehl notwendig:
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:
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
Hierbei werden auch neu zur Paketgruppe hinzugefügte Pakete installiert, die sonst bei einer Aktualisierung nicht mit eingeschlossen wären.
relevante Plugins
| |
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: 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:
Updates automatisieren
Um Updates automatisch einspielen zu lassen, ist es am Einfachsten, die entsprechende Einstellung in PackageKit zu aktivieren.
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.
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:
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:
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:
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 10 Updates (stable)
- Fedora 9 Updates (stable)
- Fedora 10 Updates (testing)
- Fedora 9 Updates (testing)
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.


