![]() |
|
Linux - Wegweiser zur Installation & Konfiguration, 3. AuflageOnline-VersionBitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.
|
Es ist gar nicht schwierig, als root unversehens einen Fehler zu machen, der auf Ihrem System zu einem ernsten Problem werden kann - etwa in der Form, daß Sie sich nicht mehr einloggen können oder daß wichtige Dateien verlorengehen. Dies gilt insbesondere für Neulinge auf dem Gebiet der Systemverwaltung, die gerade anfangen, ihr System zu erkunden. Fast alle neuen Systemverwalter lernen ihre Lektionen »auf die harte Tour«, indem sie gezwungen sind, sich aus einer wirklichen Notlage zu befreien. In diesem Abschnitt geben wir Ihnen einige Tips, was Sie tun können, wenn das Unvermeidliche eintritt.
Sie sollten sich immer der Möglichkeiten bewußt sein, mit vorbeugenden Maßnahmen die Auswirkungen solcher Notlagen zu mindern. Erstellen Sie zum Beispiel Backups aller wichtigen Systemdateien - wenn nicht sogar des ganzen Systems. Falls Sie eine Distribution auf CD-ROM benutzen, haben Sie bereits ein erstklassiges Backup der meisten Dateien (solange Sie noch in der Lage sind, auf die CD-ROM zuzugreifen, wenn es einmal eng wird - mehr dazu weiter unten). Datensicherungen sind unentbehrlich, wenn es darum geht, bestimmte Probleme zu lösen; lassen Sie nicht zu, daß die wochenlange Arbeit zur Konfiguration Ihres Systems vergeblich war.
Sorgen Sie auch dafür, daß Sie Ihre Systemkonfiguration schriftlich festhalten - zum Beispiel die Einträge in der Partitionstabelle, die Größe der Partitionen und ihren Typ, die Dateisysteme. Falls Sie irgendwann die Partitionstabelle zerstören, läßt sich der Schaden vielleicht einfach dadurch beheben, daß Sie fdisk noch einmal aufrufen; aber das funktioniert natürlich nur, wenn Sie noch wissen, wie die Partitionstabelle vorher ausgesehen hat. (Eine wahre Geschichte: Dem Schreiber passierte das einmal, als er mit einer leeren Diskette bootete und nicht wußte, wie die Partitionstabelle ausgesehen hatte. Muß ich erwähnen, daß ich eine ganze Weile raten mußte, bevor ich die Partitionstabelle wieder in den alten Zustand versetzt hatte?)
Natürlich brauchen Sie im Notfall eine Möglichkeit, das System zu booten und auf Ihre Dateien zuzugreifen oder eine Datensicherung zurückzuspielen. Am besten benutzen Sie dafür eine »Rettungsdiskette« oder »Root-Diskette«. Eine solche Diskette enthält ein kleines Root-Dateisystem sowie die Mindestausstattung, um ein Linux-System komplett von der Diskette aus zu betreiben - also die unbedingt notwendigen Befehle und Systemdateien zusammen mit einigen Tools, die bei der Behebung von Problemen nützlich sind. Sie können solch eine Rettungsdiskette benutzen, indem Sie zunächst einen Kernel von einer anderen Diskette booten (wie wir das im Abschnitt »Von einer Diskette booten« in Kapitel 5, Grundlagen der Systemverwaltung, besprochen haben) und dann dem Kernel mitteilen, daß er die Rettungsdiskette als Root-Dateisystem benutzen soll. |
Die meisten Linux-Distributionen enthalten ein solches Gespann aus Boot- und Root-Diskette als Original-Installationsdisketten. Darauf befindet sich in der Regel ein kleines Linux-System, das komplett von der Diskette aus laufen kann und mit dem sowohl Software installiert als auch die grundlegende Systemverwaltung erledigt werden kann. Einige Systeme enthalten den Kernel und das Root-Dateisystem auf einer einzigen Diskette, aber dabei bleibt auf dieser Rettungsdiskette nur noch sehr wenig Platz für andere Dateien. Wie nützlich solche Disketten im Notfall als Werkzeug tatsächlich sind, hängt auch davon ab, ob sie die notwendigen Tools zur Behebung des Problems enthalten oder nicht (etwa fsck, fdisk, einen kleinen Editor wie vi usw.). Manche Distributionen haben eine dermaßen aufwendige Installationsroutine, daß auf den Disketten nur wenig Raum für irgend etwas anderes bleibt.
Auf jeden Fall können Sie eine solche Root-Diskette selbst erstellen. Damit Sie das von Grund auf tun können, brauchen Sie genaue Kenntnisse dessen, was zum Booten und bei der Benutzung des Systems notwendig ist. Sie müssen ganz genau wissen, wo Sie sich beschränken müssen und was ausgelassen werden kann. So könnten Sie zum Beispiel die Startprogramme init, getty und login weglassen, wenn Sie wissen, wie Sie das System so einrichten, daß der Kernel auf einer Konsole eine Shell startet, statt die übliche Boot-Prozedur zu durchlaufen. (Eine Möglichkeit wäre es, /etc/init als symbolischen Link auf /sbin/bash einzurichten, und zwar im Dateisystem auf der Rettungsdiskette.)
Wir können hier nicht auf alle Details eingehen, aber der erste Schritt zur Erstellung einer Rettungsdiskette besteht darin, daß Sie mit mkfs auf einer Diskette ein Dateisystem einrichten (siehe auch den Abschnitt »Dateisysteme erzeugen« in Kapitel 6). Anschließend »mounten« Sie die Diskette und kopieren die benötigten Dateien dorthin; darunter die relevanten Dateien in /dev (die meisten davon können Sie aus dem Verzeichnis /dev im Root-Dateisystem der Festplatte übernehmen). Sie brauchen außerdem eine Boot-Diskette, die nur einen Kernel enthält. In diesem Kernel sollte Root mittels rdev auf /dev/fd0 gesetzt sein (das wird im Abschnitt »Von einer Diskette booten« in Kapitel 5 beschrieben). Sie müssen außerdem entscheiden, ob Sie das Root-Dateisystem von der Diskette in eine RAM-Disk laden wollen (auch dies können Sie mittels rdev einstellen). Wenn Sie mehr als vier MB an RAM haben, ist das sicherlich eine gute Idee, weil Sie damit das Diskettenlaufwerk freimachen, um darin zum Beispiel eine andere Diskette mit weiteren Tools unterzubringen. Falls Sie zwei Diskettenlaufwerke haben, ist dies auch ohne die RAM-Disk möglich. Wenn Sie sich mit dem Zusammenstellen einer Notfalldiskette überfordert fühlen, können Sie auch eines der dafür verfügbaren Skripten ausprobieren. Aber was auch immer Sie tun, probieren Sie Ihre Notfalldiskette aus, bevor die Katastrophe eintritt! |
Auf jeden Fall sollten Sie mit den Installationsdisketten beginnen. Wenn diese Disketten nicht alle Tools enthalten, die Sie brauchen, richten Sie auf einer weiteren Diskette ein Dateisystem ein und kopieren Sie die fehlenden Programme dorthin. Wenn Sie dann das Root-Dateisystem von der Diskette in eine RAM-Disk laden oder ein zweites Diskettenlaufwerk benutzen, können Sie diese andere Diskette mounten, um auf die benötigten Tools zuzugreifen.
Welche Tools brauchen Sie? In den folgenden Abschnitten werden wir einige häufige Notfälle sowie Möglichkeiten der Schadensbehebung besprechen - das soll Ihnen als Anhaltspunkt dafür dienen, welche Programme Sie in verschiedenen Situationen benötigen.
Wir haben bereits im Abschnitt »Dateisysteme prüfen und reparieren« in Kapitel 6 besprochen, daß mit fsck verschiedene Schäden an Dateisystemen behoben werden können. Da die meisten dieser Beschädigungen relativ klein sind, lassen sie sich beheben, indem Sie das System auf die übliche Weise starten und dann fsck von der Festplatte aus aufrufen. Allerdings ist es in der Regel besser, das Root-Dateisystem zu prüfen und zu reparieren, während es nicht aufgesetzt ist. In diesem Fall ist es einfacher, fsck von der Rettungsdiskette aus aufzurufen. |
Es spielt keine Rolle, ob Sie fsck von der Festplatte oder einer Diskette aus starten; die Syntax entspricht auf jeden Fall der, die wir weiter oben in diesem Kapitel beschrieben haben. Denken Sie aber daran, daß fsck meistens ein Frontend für Programme wie fsck.ext2 ist. Auf manchen Systemen müssen Sie (für das »Second Extended«-Dateisystem) auch e2fsck aufrufen.
Ein Dateisystem kann so beschädigt werden, daß es sich nicht mehr aufsetzen läßt. Das passiert in der Regel dann, wenn der Superblock des Dateisystems beschädigt wird, in dem Informationen zum Dateisystem als Ganzes gespeichert sind. Wenn der Superblock zerstört ist, kann das System überhaupt nicht mehr auf das Dateisystem zugreifen, und jeder Mount-Versuch wird scheitern (wahrscheinlich mit einer Fehlermeldung wie: »Can't read superblock«).
Wegen der herausragenden Bedeutung des Superblocks legt das System innerhalb des Dateisystems in bestimmten Intervallen Sicherungskopien von ihm an. Dateisysteme vom Typ Second Extended sind in »Blockgruppen« zusammengefaßt, wobei die voreingestellte Größe einer Gruppe 8192 Blöcke ist. Deshalb finden Sie die Sicherungskopien des Superblocks an den Block-Offsets 8193, 16385 (also 8192 x 2 + 1), 24577 usw. Wenn Sie das ext2-Dateisystem benutzen, sollten Sie mit dem Befehl
bestätigen, daß das Dateisystem Gruppen zu 8192 Blöcken benutzt. (Dies funktioniert natürlich nur, wenn der Master-Superblock unbeschädigt ist.) Dieser Befehl zeigt eine ganze Menge an Informationen über das Dateisystem an, und Sie sollten etwa folgendes sehen:
Falls ein anderer Offset angezeigt wird, können Sie daraus, wie weiter oben gezeigt, die Lage der Superblockkopien errechnen.
Wenn Sie ein Dateisystem aufgrund von Problemen mit dem Superblock nicht aufsetzen können, ist die Wahrscheinlichkeit groß, daß auch fsck oder e2fsck nicht funktionieren. Sie können e2fsck anweisen, eine der Kopien des Superblocks für die Reparatur zu benutzen, indem Sie eingeben:
Dabei ist Offset der Block-Offset für eine der Kopien des Superblocks; meistens ist das 8193. Mit dem Schalter -f erzwingen Sie die Prüfung des Dateisystems; wenn Sie Kopien des Superblocks benutzen, könnte das Dateisystem »sauber« erscheinen, so daß keine Prüfung stattfindet. Mit dem Schalter -f findet die Prüfung auf jeden Fall statt. Wenn Sie zum Beispiel das Dateisystem auf /dev/hda2 reparieren möchten, dessen Superblock beschädigt ist, geben Sie ein:
Die Kopien des Superblocks können den Tag retten! Sie können die hier gezeigten Befehle von einer Rettungsdiskette aus aufrufen und sind anschließend hoffentlich wieder in der Lage, Ihre Dateisysteme aufzusetzen.
Wenn Sie von einer Rettungsdiskette booten, müssen Sie vielleicht auf Dateien zugreifen, die in einem Dateisystem auf der Festplatte stehen. Benutzen Sie dazu einfach den Befehl mount, wie wir das im Abschnitt »Dateisysteme aufsetzen« in Kapitel 6 beschrieben haben, und setzen Sie die Festplattendateisysteme zum Beispiel auf das Verzeichnis /mnt auf. (Dieses Verzeichnis muß im Root-Dateisystem auf der Rettungsdiskette vorhanden sein.) Mit dem Befehl |
schaffen Sie die Möglichkeit, im Verzeichnis /mnt auf die Dateien zuzugreifen, die im »Second Extended«-Dateisystem auf /dev/hda2 stehen. Sie können direkt auf die Dateien zugreifen und sogar Programme ausführen, die in den Dateisystemen der Festplatte vorhanden sind. Wenn Sie zum Beispiel den Editor vi auf der Festplatte aufrufen wollen, der normalerweise in /usr/bin/vi steht, geben Sie ein:
Sie können sogar Unterverzeichnisse von /mnt in den Suchpfad aufnehmen, um dies weiter zu vereinfachen.
Setzen Sie auf jeden Fall die Festplattendateisysteme wieder ab, bevor Sie das System erneut booten. Falls Ihre Rettungsdisketten das System nicht ordungsgemäß herunterfahren können, sollten Sie die Dateisysteme mit umount von Hand absetzen.
Ein Problem, das sich auf diese Weise leicht beheben läßt, ist ein vergessenes root-Paßwort oder eine zerstörte /etc/passwd-Datei. In beiden Fällen können Sie sich eventuell nicht mehr in das System einloggen oder sich mittels su zu root machen. Um dieses Problem zu beheben, booten Sie mit den Rettungsdisketten, mounten Sie das Root-Dateisystem unter /mnt, und editieren Sie dann /mnt/etc/passwd. (Vielleicht ist es eine gute Idee, irgendwo eine Sicherungskopie dieser Datei aufzuheben, für den Fall, daß sie einmal versehentlich gelöscht wird.) Wenn Sie zum Beispiel das alte root-Paßwort löschen wollen, ändern Sie den root-Eintrag auf:
Damit gibt es kein Paßwort mehr für root. Sie können das System von der Festplatte neu booten und mit dem Befehl passwd ein neues Paßwort setzen.
Ein anderes häufiges Problem sind falsche Links auf die Shared Libraries des Systems. Die Abbilder der Shared Libraries in /lib werden meist über symbolische Links wie /lib/libc.so.5 angesprochen, die auf die eigentliche Bibliothek /lib/libc.so.version verweisen. Falls dieser Link entfernt wird oder einen falschen Verweis enthält, werden viele Befehle auf dem System nicht funktionieren. Sie können dieses Problem beheben, indem Sie die Festplattendateisysteme mounten und die Libraries zum Beispiel mit folgendem Befehl erneut linken:
Damit bewirken Sie, daß libc.so.5 auf libc.so.5.4.47 verweist. Denken Sie daran, daß symbolische Links den Pfad benutzen, der auf der Befehlszeile mit ln übergeben wird. Aus diesem Grund würde der Befehl
nicht das bewirken, was Sie erreichen möchten; libc.so.5 würde auf /mnt/lib/libc.so.5.4.47 verweisen. Wenn Sie anschließend von der Festplatte booten, kann auf /mnt/lib nicht zugegriffen werden, und die Bibliothek wird nicht gefunden. Der erste Befehl funktioniert, weil der symbolische Link auf eine Datei im selben Verzeichnis zeigt.
Wenn Sie wichtige Systemdateien gelöscht haben, kann es notwendig sein, Backup-Dateien einzuspielen, nachdem Sie von einer Rettungsdiskette gebootet haben. Deshalb ist es wichtig, daß Sie auf der Rettungsdiskette die notwendigen Tools zum Einspielen von Backups vorfinden - dazu gehören Programme wie tar und gzip sowie die Treiber für Ihr Backup-Medium. Wenn Sie Ihre Datensicherungen zum Beispiel auf einem Floppy-Streamer erstellen, sollten auf jeden Fall ftape und der Befehl insmod auf der Rettungsdiskette enthalten sein. Im Abschnitt »Ladbare Gerätetreiber« in Kapitel 7 finden Sie mehr zu diesem Thema. |
Zum Einspielen von Backups in Ihre Festplattendateisysteme müssen Sie nur diese Dateisysteme mounten (wie wir das oben beschrieben haben) und die Inhalte der Archive in diese Dateisysteme entpacken (zum Beispiel, indem Sie die entsprechenden Befehle tar und gzip ausführen; siehe auch den Abschnitt »Backups erstellen« weiter vorn in diesem Kapitel). Denken Sie daran, daß beim Einspielen eines Backups bereits vorhandene Systemdateien überschrieben werden. Vergewissern Sie sich, daß Sie korrekt vorgehen und die Situation nicht noch verschlimmern. Die meisten Archivierungsprogramme erlauben es, einzelne Dateien aus einem Archiv zu extrahieren.
Für den Fall, daß Sie Ihre Original-CD-ROM als Backup-Medium benutzen möchten, müssen Sie natürlich dafür sorgen, daß der Kernel auf Ihren Rettungsdisketten die Treiber für den Zugriff auf das CD-ROM-Laufwerk enthält. Dann können Sie die CD-ROM mounten (denken Sie an die Flags -r -t iso9660 für den Befehl mount) und Dateien von dort kopieren.
Die Dateisysteme auf Ihren Rettungsdisketten sollten auch wichtige Systemdateien enthalten. Falls Sie solche Dateien in Ihrem System gelöscht haben, können Sie die verlorengegangenen Daten ohne Probleme von der Rettungsdiskette wieder auf die Festplatte kopieren.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2000, O'Reilly Verlag