Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.5.4. Anwenden der Änderungen

Nachdem Sie die Sicherheits-Errata und Aktualisierungen heruntergeladen und installiert haben, ist es wichtig, die ältere Software nicht mehr einzusetzen, sondern stattdessen die neue Software zu verwenden. Die Vorgehensweise hängt von der Art der Software ab, die aktualisiert wurde. Die folgende Liste stellt die allgemeinen Kategorien der Software dar und gibt Anweisungen für das Verwenden der aktualisierten Versionen nach einer Paketaktualisierung.

Anmerkung

Im Allgemeinen ist ein Neustart der beste Weg um sicherzustellen, dass die aktuellste Version eines Software-Pakets verwendet wird, allerdings ist dies für den Systemadministrator nicht immer machbar.
Applikationen
Bei User-Space-Applikationen handelt es sich um alle Programme, die durch einen Systembenutzer gestartet werden können. Für gewöhnlich laufen diese Anwendungen nur, wenn ein Benutzer, ein Skript oder ein automatisiertes Dienstprogramm diese startet, und sie werden in der Regel nicht für längere Zeit ausgeführt.
Wird solch eine User-Space-Applikation aktualisiert, stoppen Sie alle Instanzen dieser Anwendung auf dem System und starten Sie das Programm erneut, um die aktualisierte Version zu verwenden.
Kernel
Der Kernel ist die Kern-Software-Komponente für das Red Hat Enterprise Linux Betriebssystem. Er verwaltet den Zugriff auf den Speicher, den Prozessor und auf Peripheriegeräte, und plant sämtliche Aufgaben.
Aufgrund seiner zentralen Rolle kann der Kernel nur durch ein Herunterfahren des Computers neu gestartet werden. Daher kann eine aktualisierte Version des Kernels erst verwendet werden, wenn das System neu gestartet wird.
Gemeinsam verwendete Bibliotheken
Gemeinsam verwendete Bibliotheken sind Einheiten von Code, wie z. B. glibc, die von einer Reihe von Applikationen und Software-Programmen gemeinsam verwendet werden. Applikationen, die gemeinsam verwendete Bibliotheken nutzen, laden normalerweise den gemeinsamen Code beim Starten der Anwendungen, so dass alle Applikationen, die die aktualisierte Bibliothek verwenden, neu gestartet werden müssen.
Um festzustellen, welche laufenden Applikationen mit einer bestimmten Bibliothek verknüpft sind, verwenden Sie den Befehl lsof wie im folgenden Beispiel:
lsof /lib/libwrap.so*
Dieser Befehl gibt eine Liste aller laufenden Programme aus, die TCP-Wrappers für die Host-Zugangskontrolle verwenden. Alle aufgelisteten Programme müssen angehalten und neu gestartet werden, wenn das tcp_wrappers-Paket aktualisiert wird.
SysV-Dienste
SysV-Dienste sind persistente Server-Programme, die während des Bootens gestartet werden. Beispiele für SysV-Dienste sind sshd, vsftpd und xinetd.
Da diese Programme normalerweise im Speicher verbleiben, solange der Rechner läuft, muss jeder aktualisierte SysV-Dienst nach der Aktualisierung des Pakets angehalten und neu gestartet werden. Dies kann über das Tool zur Dienstkonfiguration oder durch Anmelden als Root via Shell-Prompt und Ausführen des Befehls /sbin/service erreicht werden, wie im folgenden Beispiel veranschaulicht:
/sbin/service <service-name> restart
Ersetzen Sie im obigen Beispiel <service-name> durch den Namen des Dienstes, wie z. B. sshd.
xinetd-Dienste
Dienste, die vom Super-Dienst xinetd gesteuert werden, werden nur ausgeführt, wenn eine aktive Verbindung vorliegt. Von xinetd gesteuert werden z. B. die Telnet, IMAP und POP3-Dienste.
Da xinetd jedesmal neue Instanzen dieser Dienste startet, wenn eine neue Anfrage empfangen wird, werden die Verbindungen, die nach einer Aktualisierung entstehen, durch die aktualisierte Software gesteuert. Bestehen jedoch zu dem Zeitpunkt, an dem von xinetd verwaltete Dienste aktualisiert werden, aktive Verbindungen, so werden diese noch von der älteren Version der Software bedient.
Um ältere Instanzen eines bestimmten xinetd-Dienstes zu stoppen, aktualisieren Sie das Paket für den Dienst und stoppen Sie anschließend alle aktuell laufenden Prozesse. Mit dem Befehl ps können Sie feststellen, welche Prozesse laufen. Geben Sie dann den Befehl kill oder killall ein, um alle aktuellen Instanzen dieses Dienstes zu stoppen.
Wenn zum Beispiel Sicherheits-Errata für die imap-Pakete herausgegeben werden, aktualisieren Sie die Pakete und geben Sie danach folgenden Befehl als Root ein:
ps aux | grep imap
Dieser Befehl gibt alle aktiven IMAP-Sitzungen aus. Einzelne Sitzungen können dann mithilfe des folgenden Befehls beendet werden:
kill <PID>
Falls das Beenden der Sitzung damit fehlschlägt, verwenden Sie stattdessen folgenden Befehl:
kill -9 <PID>
Ersetzen Sie im obigen Beispiel <PID> durch die Prozess-Identifikationsnummer (zu finden in der zweiten Spalte des ps-Befehls) der fraglichen IMAP-Sitzung.
Um alle aktiven IMAP-Sitzungen zu beenden, geben Sie den folgenden Befehl ein:
killall imapd