chroot, debootstrap, cdebootstrap, rpmstrap, jail, Debian, Ubuntu
(Link zu dieser Seite als [[QEMU-KVM-Buch/ Anhang/ Weitere Virtualisierer und Emulatoren/ chroot]])
[bearbeiten] debootstrap und chroot
Das Tool debootstrap wird angewendet, um die Linux-Distributionen Debian und Ubuntu ohne Verwendung von Installations-Medien in einer chroot-Umgebung zu installieren. Um die Linux-Distribution SuSE in einer chroot-Umgebung zu installieren, dient das Tool rpmstrap. Die Installation von debootstrap ist unter Debian und Ubuntu mit einer Befehlszeile erledigt. Das Paket debootstrap gibt es auch für andere Linux-Distributionen.
Host ~$ sudo apt-get install debootstrap
Um zum Beispiel ein Ubuntu Intrepid (8.10) in das Verzeichnis intrepid-chroot zu installieren, ist folgender Befehl anzuwenden.
Host ~$ sudo debootstrap intrepid intrepid-chroot \
http://de.archive.ubuntu.com/ubuntu/
Dabei wird ein Linux-Verzeichnisbaum in diesem Unterverzeichnis angelegt.
Host ~$ ls intrepid-chroot bin boot dev etc home lib lib64 media mnt opt proc root sbin srv sys tmp usr var
Eine alte und rudimentäre Virtualisierungslösung stellt das auf fast jedem Unix-/Linux-System vorhandene chroot dar. chroot ermöglicht es auf Unix-/Linux-Systemen das Root-Verzeichnis zu ändern. Damit ist eine gewisse Abschottung der chroot-Umgebung möglich. Allerdings ist es möglich aus dieser Umgebung auszubrechen. chroot ist ein einfache Form der Virtualisierung auf Betriebssystemebene und ist der Wegbereiter für Solaris Zones und BSD-Jails. Wurde eine chroot-Umgebung in einem Verzeichnis eingerichtet, zum Beispiel mit debootstrap, loggt man sich mit chroot in diese chroot-Umgebung ein.
Host ~$ sudo chroot ./intrepid-chroot/
Der mit debootstrap angelegte Linux-Verzeichnisbaum erscheint hier im Wurzelverzeichnis.
Gast ~$ ls / bin boot dev etc home lib lib64 media mnt opt proc root sbin srv sys tmp usr var
Einige Befehle, zum Beispiel ifconfig, stehen in dieser angelegten Umgebung nicht zur Verfügung. Das liegt daran, das das Verzeichnis /proc leer ist. Das Installieren von Paketen ist möglich. Die ist nützlich, um ein Software-Paket zu testen, ohne das Host-System verändern zu wollen. Damit ist es zum Beispiel möglich unterschiedliche QEMU-Version zu installieren und zu testen.
Gast ~# apt-get install qemu
Mit exit loggt man sich aus.
Gast ~$ exit
[bearbeiten] Links
- Debian Live
- http://wiki.ubuntuusers.de/32-Bit_chroot
- http://www.hochwald-it.de/blog/2008/1und1-xxl-server-mit-debian-etch-per-debootstrap-installieren.html
- http://www.linux-magazin.de/online_artikel/workshop_debian_live_system_mit_etch
- http://www.virtuatopia.com/index.php/Building_a_Debian_or_Ubuntu_Xen_Guest_Root_Filesystem_using_debootstrap
- http://grml.org/grml-debootstrap/
- http://www.debian-administration.org/articles/125 Build Debian From Scratch CD/DVD images