Also schaue ich mir an:
https://help.ubuntu.com/community/LiveCDCustomizationFromScratch
und versuchen Sie Folgendes in einem Bash-Skript:
sudo chroot chroot
mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts
Das Ausführen des Skripts wird in einer Shell unter gelöscht sudo chroot chroot
. Wenn ich exit
das bekomme, bekomme ich die erwarteten Warnungen über Mount, der root benötigt. Gibt es eine Möglichkeit, all dies in einem Shell-Skript zu speichern?
Bearbeiten: Ich möchte, dass dies ein wiederholbarer Prozess ist, weshalb ich das Ganze skripten möchte, anstatt es immer wieder einzugeben.
Antworten:
Erstellen Sie ein zweites Skript (z. B.
chroot.sh
) und legen Sie es in Ihremchroot/
Ordner ab.Bearbeiten Sie nun den Befehl in Ihrem ursprünglichen Skript folgendermaßen:
Jetzt wird das Skript
chroot.sh
in Ihrem ausgeführtchroot
.quelle
Hallo du solltest mit einer einfachen Lösung wie Pipe gehen:
PS. Scherz über rm -rf;), alles, was Sie in EOF ausführen - EOF wird in Ihrem chrooted-Verzeichnis ausgeführt. Sie können auch sudo verwenden, wenn Sie möchten
quelle
Die Sache mit
chroot
s und/proc
,/sys
und/dev/pts
ist, dass diese drei Dateisysteme vom Kernel bereitgestellt werden, sodass sie gleich bleiben, unabhängig davon, ob Sie innerhalb oder außerhalb von chroot mounten. In der Tat werden Sie früher in der Anleitung sehen:/dev
wird vom Kernel gefüllt, ist jedoch kein vom Kernel bereitgestelltes Dateisystem, daher musste es gebunden werden. In der Praxis werden Sie daher feststellen, dass das Mounten mit Bindemontagen (oder auf andere Weise) vor dem Betreten der Chroot genauso gut funktioniert (vorausgesetztsudo
):Relevante Lektüre:
quelle
Sie können ein .bashrc-Skript oder ähnliches erstellen, das an die /root/.bashrc der chroot-Umgebung angehängt wird, die die gesamte Bereitstellung usw. ausführt. Anschließend stellen Sie die gesicherte .bashrc-Datei in / root wieder her und beenden die chroot:
Hauptskript:
bashrcscript:
Das bashrcscript wird dann ausgeführt, wenn die Root-Konsole gestartet wird. Stellen Sie sicher, dass es ausführbar ist.
Sie können sogar die resolv.conf-Kopie in das Hauptskript usw. einfügen.
quelle
Ich denke, es heißt nicht, dass Sie diese Befehle in ein Skript einfügen sollten, sondern dass Sie sie eingeben sollten . Geben Sie die
mount
Befehle in diesudo
Shell ein.quelle