Red Hat Training

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

4.3. Dateisystemstruktur

Red Hat Enterprise Linux 7 führt zwei wesentliche Veränderungen an der Struktur des Dateisystems ein.
  • Die /bin, /sbin, /lib und /lib64 Verzeichnisse befinden sich nunmehr unter dem /usr Verzeichnis.
  • Das /tmp Verzeichnis kann nun als temporäres Dateispeichersystem (tmpfs) verwendet werden.

4.3.1. Neue Struktur des Root-Dateisystems

Traditionell enthielten die /bin und /lib Verzeichnisse nur das absolute Minimum an Inhalten, um den Bootvorgang nicht zu verlangsamen. Einige Dienstprogramme mussten sich auf Root-Ebene (/) befinden, um die /usr Partition einzuhängen. Dadurch kam es zu der Situation, dass andere Dienstprogramme ihre Inhalte über mehrere Verzeichnisebenen verteilten, beispielsweise sowohl in /bin als auch /usr/bin.
Red Hat Enterprise Linux 7 verlegt die /bin, /sbin, /lib und /lib64 Verzeichnisse in /usr. Da das /usr Dateisystem nun durch initramfs eingehängt werden kann statt durch Dienstprogramme in den Verzeichnissen auf Root-Ebene, müssen Paketinhalte nicht länger auf zwei verschiedene Verzeichnisebenen aufgeteilt werden. Daraus ergibt sich nicht nur ein kleineres Root-Dateisystem, sondern infolgedessen auch Systeme, die Festplattenplatz effizienter gemeinsam verwenden können und die flexibler, sicherer und einfacher zu warten sind.
Um die Auswirkungen dieser Änderung etwas zu vermindern, ist das ehemalige /bin Verzeichnis nun ein symbolischer Link auf /usr/bin, /sbin auf /usr/sbin, und so weiter.

4.3.1.1. Vorbereiten Ihres Dateisystems für das Upgrade

Falls sich /usr derzeit auf einer separaten Partition befindet, dann vergewissern Sie sich, dass die /usr Partition über ausreichenden Platz für Kopien von /bin, /sbin, /lib und /lib64 verfügt.
Falls sich /usr nicht auf einer separaten Partition befindet, dann vergewissern Sie sich, dass / über ausreichenden Platz für Kopien von /bin, /sbin, /lib und /lib64 verfügt.
Falls sich /var auf einer separaten Partition befindet, müssen Sie /var/run und /var/lock manuell in symbolische Links konvertieren, und zwar wie folgt:
# mv -f /var/run /var/run.runmove~
# ln -sfn /run /var/run
# mv -f /var/lock /var/lock.lockmove~
# ln -sfn /run/lock /var/lock
Wenn Ihre Vorbereitungen abgeschlossen sind, werfen Sie einen Blick auf das Red Hat Enterprise Linux 7 Installationshandbuch für Anweisungen zur Durchführung des Upgrade-Vorgangs.

4.3.1.2. Überprüfen eines erfolgreichen Upgrades

Nach Durchführung des Upgrade-Vorgangs ist es wichtig zu überprüfen, ob das Upgrade wie erwartet abgeschlossen wurde.
  1. Überprüfen Sie, ob die folgenden symbolischen Links existieren:
    • /bin ist ein symbolischer Link zu /usr/bin
    • /sbin ist ein symbolischer Link zu /usr/sbin
    • /lib ist ein symbolischer Link zu /usr/lib
    • /lib64 ist ein symbolischer Link zu /usr/lib64
    • /var/run ist ein symbolischer Link zu /run
    • /var/lock ist ein symbolischer Link zu /run/lock
    Wenn es sich bei den aufgeführten Verzeichnissen wie erwartet um symbolische Links handelt, dann sind nun zwei weitere Überprüfungen nötig.
  2. Prüfen Sie die Ausgabe des folgenden find-Befehls:
    # find /usr/{lib,lib64,bin,sbin} -name '.usrmove'
    Dateien oder Verzeichnisse in der Ausgabe dieses Befehls konnten nicht nach /usr kopiert werden, da eine Datei oder ein Verzeichnis desselben Namens bereits in /usr existierte. Diese Namenskonflikte müssen Sie manuell auflösen.
  3. Prüfen Sie, ob Sie in den folgenden Verzeichnissen möglicherweise Dateien behalten möchten:
    • /var/run.runmove~
    • /var/lock.lockmove~
Wenn es sich bei einem oder mehreren der aufgeführten Verzeichnisse nicht um symbolische Links handelt, dann müssen Sie dem Verfahren zur Wiederherstellung folgen, das in Abschnitt 4.3.1.3, »Wiederherstellung nach gescheitertem Upgrade« beschrieben ist.

4.3.1.3. Wiederherstellung nach gescheitertem Upgrade

Der Upgrade-Vorgang kann aus einer Vielzahl von Gründen fehlschlagen. Überprüfen Sie die Ausgabe der folgenden Befehle, um herauszufinden, warum das Upgrade gescheitert ist:
# dmesg
# journalctl -ab --full
Falls keine Fehler ersichtlich sind, überprüfen Sie Folgendes:
  • Ist / schreibbar?
  • Ist /usr schreibbar?
  • Ist /usr korrekt eingehängt?
  • Verfügt / über ausreichenden Speicherplatz?
  • Verfügt /usr über ausreichenden Speicherplatz?
  • Ist /var eingehängt im rhelup Tool?
Setzen Sie sich mit dem Red Hat Support in Verbindung, falls Sie weitere Hilfe benötigen.