Chroot (Arch reparieren): Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(typo)
(arch-chroot)
Zeile 1: Zeile 1:
Startet das System nicht mehr oder ist das Root-Passwort abhanden gekommen, benötigt man den Zugriff von außen um es reparieren zu können.
Startet das System nicht mehr oder ist das Root-Passwort abhanden gekommen, benötigt man den Zugriff von außen um es reparieren zu können.
Dies kann von einem Installationsmedium oder von einem zweiten Linuxsystem aus erfolgen. Dazu wird das zu reparierende System mit dem mount Befehl auf einem laufenden System eingehängt.
Dies kann von einem Installationsmedium oder von einem zweiten Linuxsystem aus erfolgen. Dazu wird das zu reparierende System mit dem mount Befehl auf einem laufenden System eingehängt.
Nach dem "chrooten" arbeitet man auf dem ursprünglichen System und kann hier die notwendigen Korrekturen durchführen.
Nach dem "Chrooten" arbeitet man auf dem ursprünglichen System und kann hier die notwendigen Korrekturen durchführen.
Die Grundlagen des [[mount]] und [[chroot]] Befehls können in den weiterführenden Artikeln nachgelesen werden.
Die Grundlagen für den [[mount]] und den [[chroot]] Befehl können in den weiterführenden Artikeln nachgelesen werden.


== Mounten und Chrooten ==
== Mounten und Chrooten ==
[[Datei:Chroot (Arch reparieren).png|250px|thumb|right|System A wird in System B eingehängt.]]
 
Die Abbildung zeigt die Situation. Der Pc ist vom Medium B gestartet worden. Das zu reparierende System A wird mit seinem Dateisystem auf B eingehängt.
Die Abbildung zeigt die Situation. Der Pc ist vom Medium B gestartet worden. Das zu reparierende System A wird mit seinem Dateisystem auf B eingehängt.
Nach einem Chrooten kann dann wie gewohnt auf System A gearbeitet und die nötigen Reparaturen vorgenommen werden.
Nach einem Chrooten kann wie gewohnt auf System A mit der Konsole gearbeitet und die nötigen Reparaturen vorgenommen werden.


Ist das System A auf mehrere  Partitionen verteilt, müssen diese ebenfalls (s. optionales Beispiel: {{ic|2) mount /dev/sdXY /mnt/Verz.}}) mit eingebunden werden. Mit Ausnahme von /home betrifft dies alle Partitionen die auch bei einem normalen Systemstart mit eingebunden worden wären. Gibt hierzu ein {{ic|fdisk -l}} nicht genügend Aufschluß, kann man sich die Einhängepunkte in der {{ic|/etc/fstab}} Datei ansehen, die nach dem Mounten des Wurzelverzeichnisses einsehbar ist.
[[Datei:Chroot (Arch reparieren).png|250px|thumb|right|System A wird in System B eingehängt.]]
  1) mount /dev/sda1 /mnt
  1) mount /dev/sda1 /mnt
  2) mount /dev/sda1 /mnt/bin
  2) mount /dev/sdXY /mnt/Verz. (optional)
  3) mount -t proc proc /mnt/proc
  3) mount -t proc proc /mnt/proc
  4) mount -t sysfs sys /mnt/sys
  4) mount -t sysfs sys /mnt/sys
Zeile 25: Zeile 27:
  4) umount /mnt/sys
  4) umount /mnt/sys
  3) umount /mnt/proc
  3) umount /mnt/proc
  2) umount /mnt/bin
  2) umount /mnt/Verz. (optional)
  1) umount /mnt
  1) umount /mnt


Die Befehle sind auf die jeweilige Installation anzupassen. Mit {{ic|fdisk -l }} können die Partitionen abgefragt werden. Ist das System A auf mehrere  Partitionen verteilt, werden die Verzeichnise mit den ihnen entsprechenden Partitionspfaden eingebunden. Z.B.: Für {{ic|2) mount /dev/sda2 /mnt/bin}}
== arch-chroot ==
arch-chroot ist Teil der {{paket|arch-install-scripts}}, gehört zur Grundinstalation und ist auf jedem Arch-Installationsmedium verfügbar.
Das Skript automatisiert die Einbindung der api Verzeichnisse proc, sys und dev und chrootet danach. Zusätzlich macht es /etc/resolv.conf für die Chrootumgebung zugänglich, das für eine Netzwerkanbindung benötigt wird. Somit reduziert sich das Mounten auf die einzubindenden Patitionen. Der einfachste Fall wäre:


== Root Passwort vergessen ==
mount /dev/sda1 /mnt
arch-chroot /mnt
Nach den erforderlichen Reparaturen, wird die "arch-chroot" mit dem {{ic|exit}} Befehl verlassen und die Partitionen werden in geeigneter Reihenfolge, erst alle subdir's dann dir (siehe oben) ausgehängt.
 
exit
umount /mnt
 
== Arch reparieren ==
=== Root Passwort vergessen ===
Zum Erstellen des neuen Passswortes ist der Befehl {{ic|passwd}} anzuwenden.
Zum Erstellen des neuen Passswortes ist der Befehl {{ic|passwd}} anzuwenden.
* Hinweis: Nur die Schritte 1) und 6) sind hierzu nötig.
* Hinweis: Nur die Schritte 1) und 6) sind hierzu nötig.


== Fehlende Gruppenmitgliedschaften ==
=== Fehlende Gruppenmitgliedschaften ===
Hat sich der admin selbst ausgesperrt, können die fehlenden Gruppenzugehörigkeiten mit dem {{ic|adduser <user> <gruppe>}} Befehl wieder hergestellt werden.
Hat sich der admin selbst ausgesperrt, können die fehlenden Gruppenzugehörigkeiten mit dem {{ic|adduser <user> <group>}} Befehl wieder hergestellt werden.
* Hinweis: Nur die Schritte 1) und 6) sind hierzu nötig.
* Hinweis: Nur die Schritte 1) und 6) sind hierzu nötig.


== Abgebrochenes Paketupdate ==
=== Abgebrochenes Paketupdate ===
Wurde das System bei einem abgebrochenen Update beschädigt, kann es mit {{ic|pacman -Syyu}} wieder hergestellt werden.
Wurde das System bei einem abgebrochenen Update beschädigt, kann es mit {{ic|pacman -Syyu}} wieder hergestellt werden.
* Hinweis: Alle Schritte sind auszuführen.
* Hinweis: Alle oben genannten Schritte sind auszuführen.
 
=== Bootloader reparieren ===
Zur Wiederherstellung des Bootloader wird auf die Artikel [[Grub]] und [[Syslinux]] verwiesen.
* Hinweis: Meist befindet sich der Bootmanager auf einer eigenen Partition ([[UEFI]], [[gpt]]). Diese wird vor dem Chrooten mit eingebunden.


== Grub reparieren ==
== "Sauberes" Verlassen der Chroot ==
Zur Wiederherstellung des Bootmanagers wird auf den Artikel [[Grub]] verwiesen.
* Hinweis: Meist befindet sich der Bootmanager auf einer eigenen Partition ([[UEFI]], [[gpt]]). Diese wird zusätzlich zu den anderen Laufwerken und Verzeichnissen vor dem Chrooten eingebunden.


== Siehe auch ==
== Siehe auch ==

Version vom 12. Dezember 2017, 10:41 Uhr

Startet das System nicht mehr oder ist das Root-Passwort abhanden gekommen, benötigt man den Zugriff von außen um es reparieren zu können. Dies kann von einem Installationsmedium oder von einem zweiten Linuxsystem aus erfolgen. Dazu wird das zu reparierende System mit dem mount Befehl auf einem laufenden System eingehängt. Nach dem "Chrooten" arbeitet man auf dem ursprünglichen System und kann hier die notwendigen Korrekturen durchführen. Die Grundlagen für den mount und den chroot Befehl können in den weiterführenden Artikeln nachgelesen werden.

Mounten und Chrooten

Die Abbildung zeigt die Situation. Der Pc ist vom Medium B gestartet worden. Das zu reparierende System A wird mit seinem Dateisystem auf B eingehängt. Nach einem Chrooten kann wie gewohnt auf System A mit der Konsole gearbeitet und die nötigen Reparaturen vorgenommen werden.

Ist das System A auf mehrere Partitionen verteilt, müssen diese ebenfalls (s. optionales Beispiel: 2) mount /dev/sdXY /mnt/Verz.) mit eingebunden werden. Mit Ausnahme von /home betrifft dies alle Partitionen die auch bei einem normalen Systemstart mit eingebunden worden wären. Gibt hierzu ein fdisk -l nicht genügend Aufschluß, kann man sich die Einhängepunkte in der /etc/fstab Datei ansehen, die nach dem Mounten des Wurzelverzeichnisses einsehbar ist.

Datei:Chroot (Arch reparieren).png
System A wird in System B eingehängt.
1) mount /dev/sda1 /mnt
2) mount /dev/sdXY /mnt/Verz. (optional)
3) mount -t proc proc /mnt/proc
4) mount -t sysfs sys /mnt/sys
5) mount -o bind /dev /mnt/dev
6) chroot /mnt /bin/bash

Nach den erfolgten Arbeiten (siehe unten) ist die Chrootumgebung mit exit zu verlassen und die Ordner und Laufwerke wieder auszuhängen. Dies geschieht in umgekehrter Reihenfolge.

6) exit
5) umount /mnt/dev
4) umount /mnt/sys
3) umount /mnt/proc
2) umount /mnt/Verz. (optional)
1) umount /mnt

arch-chroot

arch-chroot ist Teil der arch-install-scripts, gehört zur Grundinstalation und ist auf jedem Arch-Installationsmedium verfügbar. Das Skript automatisiert die Einbindung der api Verzeichnisse proc, sys und dev und chrootet danach. Zusätzlich macht es /etc/resolv.conf für die Chrootumgebung zugänglich, das für eine Netzwerkanbindung benötigt wird. Somit reduziert sich das Mounten auf die einzubindenden Patitionen. Der einfachste Fall wäre:

mount /dev/sda1 /mnt
arch-chroot /mnt

Nach den erforderlichen Reparaturen, wird die "arch-chroot" mit dem exit Befehl verlassen und die Partitionen werden in geeigneter Reihenfolge, erst alle subdir's dann dir (siehe oben) ausgehängt.

exit
umount /mnt

Arch reparieren

Root Passwort vergessen

Zum Erstellen des neuen Passswortes ist der Befehl passwd anzuwenden.

  • Hinweis: Nur die Schritte 1) und 6) sind hierzu nötig.

Fehlende Gruppenmitgliedschaften

Hat sich der admin selbst ausgesperrt, können die fehlenden Gruppenzugehörigkeiten mit dem adduser <user> <group> Befehl wieder hergestellt werden.

  • Hinweis: Nur die Schritte 1) und 6) sind hierzu nötig.

Abgebrochenes Paketupdate

Wurde das System bei einem abgebrochenen Update beschädigt, kann es mit pacman -Syyu wieder hergestellt werden.

  • Hinweis: Alle oben genannten Schritte sind auszuführen.

Bootloader reparieren

Zur Wiederherstellung des Bootloader wird auf die Artikel Grub und Syslinux verwiesen.

  • Hinweis: Meist befindet sich der Bootmanager auf einer eigenen Partition (UEFI, gpt). Diese wird vor dem Chrooten mit eingebunden.

"Sauberes" Verlassen der Chroot

Siehe auch

Weblinks