Hallo,
ich habe einen Webserver übernommen auf dem in C++ geschriebene CGI Programme installiert sind. Diese Programme benötigten spezielle Biblioteken, so das der vorherige Admin diese zum Teil selbst in ein Debian einkompiliert hat. Dabei wurden jedoch einige systemeigene Bibliotheken zerstört, so dass sich zum Beispiel apt-get nicht mehr aufrufen lässt.
Mein Problem dabei liegt darin das der Webserver beim Provider abgeschaltet und in ein internes Firmennetz umziehen soll. Im internen Netz soll die Webadministrationsumgebung weiterhin funktionieren um Daten vom Server zu nutzen.
Da ich nach den ersten Versuchen erkannt habe, dass es (fast) unmöglich ist die CGI Programme neu kompilieren, habe ich beschlossen das es vermutlich am einfachsten ist das Root Verzeichnis zu kopieren und mittels chroot den Apache in diesem Verzeichnis zu starten.
Daher habe ich mit dd ein Festplattenimage gezogen, welches sich auch per mount -o loop einbinden läst. fsck sagt das keine Fehler auf der Partition zu finden sind. Bei dem Versuch zu chrooten erhalte jedoch die Meldung:
chroot: cannot run command `/bin/bash': No such file or directory
Laut ldd bash sind alle gelinken Bibliotheken sind da, wo sie erwartet werden, und auf dem orginal System werden diese auch gefunden. Die Verzeichnisse /proc und /dev wurden angelegt. /proc wurde mit 'mount -t proc proc /image/proc eingehängt. In dev wurden mit mknod alle relevanten Devises erstellt.
Hat jemand eine Idee an welcher Stelle man noch suchen könnte um einen chroot durchzuführen?
Oder, hat jemand eine Idee wie man einen Server möglichst schön in eine Virtuelle Maschine übernehmen kann?
Danke für die Antworten, Ingo
Kein chroot möglich
Re: Kein chroot möglich
Ohne Parameter sucht chroot standardmäßig nach bin/bash,
schau mal ins bin Verzeichnis was an shells geboten wird.
Vielleicht 'ash', oder nur 'sh' oder ganz was anderes.
Wenn du fündig wirst, starte chroot entsprechend, Beispiel ash:
schau mal ins bin Verzeichnis was an shells geboten wird.
Vielleicht 'ash', oder nur 'sh' oder ganz was anderes.
Wenn du fündig wirst, starte chroot entsprechend, Beispiel ash:
Code: Alles auswählen
chroot bin/ash
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: Kein chroot möglich
Hallo, die bash ist da.
Und es ist auch egal welches Programm ich starte. Die Fehlermeldungen sind immer die gleichen.
Und es ist auch egal welches Programm ich starte. Die Fehlermeldungen sind immer die gleichen.
- Simmel
- Beiträge: 698
- Registriert: 08.03.2004 14:43:43
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Düsseldorf
-
Kontaktdaten:
Re: Kein chroot möglich
chaosIngo hat geschrieben:Hallo, die bash ist da.
Und es ist auch egal welches Programm ich starte. Die Fehlermeldungen sind immer die gleichen.
Was genau gibst du denn an beim chrooten?
Sprich in welches Verzeichnis hast du die Platte eingebunden und wie rufst du es auf.
Übrigens eine andere Alternative, wäre ein VMWare oder Virtualbox. Einfach ne Standard-Installation machen und dann mit z.B. rsync die Inhalte des Servers dort reinkopieren. Das sollte eigentlich auch funktionieren und ist vll. sogar die elegantere Lösung als ein chroot.
Greetz,
Simmel
you've got to know how far to go in going too far
perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'
http://creativecommons.org/licenses/by-nc-sa/2.0/
perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'
http://creativecommons.org/licenses/by-nc-sa/2.0/