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 Befehllsof
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 dastcp_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
undxinetd
.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. Vonxinetd
gesteuert werden z. B. die Telnet, IMAP und POP3-Dienste.Daxinetd
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 vonxinetd
verwaltete Dienste aktualisiert werden, aktive Verbindungen, so werden diese noch von der älteren Version der Software bedient.Um ältere Instanzen eines bestimmtenxinetd
-Dienstes zu stoppen, aktualisieren Sie das Paket für den Dienst und stoppen Sie anschließend alle aktuell laufenden Prozesse. Mit dem Befehlps
können Sie feststellen, welche Prozesse laufen. Geben Sie dann den Befehlkill
oderkillall
ein, um alle aktuellen Instanzen dieses Dienstes zu stoppen.Wenn zum Beispiel Sicherheits-Errata für dieimap
-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 desps
-Befehls) der fraglichen IMAP-Sitzung.Um alle aktiven IMAP-Sitzungen zu beenden, geben Sie den folgenden Befehl ein:killall imapd