Ich habe dies untersucht, und keine der Antworten (bisher) hier oder das Googeln scheinen meinem Problem zu entsprechen.
Hier ist die Situation:
Ich verwende Xubuntu 12.04 als Basisinstallation und versuche, eine Debootstrap-Chroot-Installation von BackBox 3.01 (auch 12.04) einzurichten. BEIDE sind amd64-Bit-Architekturen, und ich habe diese Tatsache hin und her überprüft.
Ich habe die Anweisungen bei beiden befolgt:
https://help.ubuntu.com/community/DebootstrapChroot /unix/12956/how-do-i-run-32-bit-programs-on-a-64-bit-ubuntu / 12957 # 12957 (danke Giles!)
Abgesehen von RTFM- und Fat-Fingering-Problemen bin ich jetzt auf ein Problem während der Debootstrap-Installation gestoßen, bei dem ich zu einem Punkt komme und Folgendes bekomme:
W: Failure trying to run: chroot /home/user/test/chroot mount -t proc proc /proc
Die Installation, die festgelegt wird, reicht nicht aus, um sie zu schrooten, wie ich es versucht habe, und wenn ich sie mit der Option --foreign wiederhole, ist sie nicht besser.
Die von mir durchgeführten Untersuchungen scheinen darauf hinzudeuten, dass dieses Problem mit Folgendem zusammenhängt:
versuchen, eine 64-Bit-Installation in ein 32-Bit-Betriebssystem zu integrieren (was ich eindeutig NICHT mache)
Mögliche Probleme mit procfs in bestimmten Kerneln, aber die Fehlerberichte sind unklar, und dies sieht eindeutig alt aus
viele Probleme im Zusammenhang mit der Virtualisierung (die ich nicht mache)
Ich denke, da dies eine sehr einfache Installation einer dateibasierten (anderen) Ubuntu-basierten Distribution in meiner Chroot-Umgebung (64 -> 64) ist, dass die von mir ausgelassenen Einrichtungsschritte etwas wirklich Einfaches enthalten müssen oder vergessen. Sollte ich so etwas wie vormontieren, /srv/chroot/backbox3_01/var/proc
um etwas wie:
sudo mount -o bind /proc /srv/chroot/backbox3_01
Jede Hilfe wäre dankbar.
****** UPDATE ******* Also habe ich ein bisschen mehr herumgegraben und weiß zumindest, was ein Teil des Problems ist. Der Fehler ist darauf zurückzuführen, dass "mount" eine unbekannte "Datei oder ein unbekanntes Verzeichnis" ist. Dies bedeutet, dass an dem Kontextpunkt, an dem chroot ausgeführt wird, keine ausführbare Datei "mount" aufgerufen werden kann. Ich vermute das:
ein. Einige ausführbare Kontexte wurden in der Phase vor diesem Schritt nicht ordnungsgemäß übernommen und "vor" eingerichtet.
oder
b. Einige Umgebungseigenschaften müssen exportiert werden, bevor dieses Skript ausgeführt werden kann.
oder
c. ??
Jede Hilfe wird geschätzt ...
*********** Weiteres Update *************** Anscheinend wird die Backbox-Installation nicht annähernd richtig in das Chroot-Verzeichnis aufgeblasen. Backbox 3 ist eine präzise (Ubuntu 12.04) basierte Distribution und ich habe gerade Debootstrap auf präzise ausgeführt. Ich bekomme eine vollständige Installation.
Wenn ich dasselbe für Backbox mache, werden nur / dev, / etc und / var eingerichtet. Nichts anderes, was "Reittier" bedeutet, existiert nicht in der chroot'ed Struktur. Ich habe versucht, dies von der CD und von einer lokalen Kopie der CD (auf meinem Dateisystem) zu installieren. Ich habe das Dokument "Release" auf der Installations-CD überprüft und es scheint vollständig zu sein, aber ich verstehe nicht, warum es vor der Installation der restlichen Komponenten stoppt.
Ich vermute also, dass es etwas in der Backbox-Distribution gibt, das nicht so eingerichtet ist, dass Debootstrap es richtig aufblasen kann - zumindest von der CD-Distribution. Kennt jemand ein Online-Archiv (entspricht http://archive.ubuntu.com/ubuntu/ ) für Backbox? Oder wenn nicht, werden meine Optionen wohl sein:
Hacken Sie die Backbox-Distribution, damit sie funktioniert. Gibt es Vorschläge, wo Sie anfangen sollen?
Eine Xubuntu-Distribution aufrufen und dann die Backbox ppa anwenden ... Gibt es ein Xubuntu-Skript für Debootstrap und hat jemand einen Link zu einem automatisierten Installationsprogramm für alle BB ppa-Tools, um sie schnell zu installieren?
:(
quelle
debootstrap
Ihnen verwendeten Befehl veröffentlichen?Antworten:
In meinem System passiert das mit jedem Ubuntu / Backbox, das ich ausprobiert habe. Es scheint, dass die CD nicht als Repository verwendet werden kann (siehe hier ), was sinnvoll ist: Sie
debootstrap
sollte einen Pfad zu einem Repository (einem lokalen / Remote-Ordner mit einer vordefinierten Struktur und .deb-Archiven) und Ubuntu / Backbox benötigen ein Squashfs (im Grunde ein Bild mit einem Basissystem darin).Da Backbox nur Ubuntu 12.04 (es verwendet als Quelle für Pakete http://archive.ubuntu.com ) und einige zusätzliche Repositorys zu sein scheint, haben Sie hier zwei Möglichkeiten:
Erstellen Sie eine grundlegende Ubuntu-Chroot und installieren Sie dann die gesamte benötigte Software: Sie können
debootstrap
ein Skript zum Hinzufügen der PPAs, Installieren der Software usw. bereitstellen .Extrahieren Sie die Squashfs: Sie müssen die ISO mounten, dann die Squashfs darin mounten und schließlich das Root-Dateisystem kopieren:
Ich habe keines davon ausprobiert, daher kann ich Ihnen nicht versichern, dass es funktionieren wird. Ein gültiger Weg, dies zu erreichen, wäre auch, BB auf einer virtuellen Maschine zu installieren (Sie können QEMU / KVM / etc verwenden) und dann das Root-Dateisystem zu kopieren, wann immer Sie es benötigen.
Viel Glück.
quelle
Ich habe hier nur ein paar wilde Vermutungen, da meine Erfahrung hauptsächlich mit Debootstrap für Debian ist.
Haben Sie versucht, den fehlerhaften Befehl manuell von einer Shell aus auszuführen? Dies kann oft mehr Einblicke in das Geschehen geben.
Das sieht für mich seltsam aus :
chroot /home/user/test/chroot mount -t proc proc /proc
. Gibt es wirklich eine Chroot-Binärdatei unter / home / user / test?Was passiert, wenn Sie versuchen, den vollständigen Pfad der ausführbaren Mount-Datei wie folgt anzugeben :
chroot /home/user/test/chroot /bin/mount -t proc proc /proc
?quelle