class: center, middle  # chroot ## Andere Distributionen in einer chroot-Umgebung ausführen ### Hauke Goos-Habermann #### https://weisheit.goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Führt andere Distributionen in einer chroot-Umgebung aus --- ### chroot?  Durch
chroot
wird das Wurzelverzeichnis (/) auf ein anderes Verzeichnis gesetzt, in dem sich das Dateisystem einer anderern Linux-Distribution befindet.
/bin /home/test /root /usr/bin
So können die dortigen Programme verwendet werden. Eine chroot-Umgebung ist aber **keine Sandbox** und **kein Container**. Es wird weiterhin **derselbe Kernel** verwendet und dieser **isoliert nicht** die Aufrufe der Programme. --- ### Woher das root-Dateisystem nehmen?  Ihr könnt gezielt nach *"rootfs"* suchen oder vom
Linux Containers - Image Server
nehmen. Z.B. für Void Linux ```bash # Verzeichnis anlegen mkdir void cd void # Herunterladen und entpacken wget https://repo-default.voidlinux.org/live/\ current/void-x86_64-ROOTFS-20250202.tar.xz\ -O void.tar.xz tar xfvJ void.tar.xz rm void.tar.xz # DNS-Server setzen echo "nameserver 1.1.1.1" > etc/resolv.conf cd .. ``` --- ### Ab ins chroot  Beispiel für Wechsel in eine chroot-Umgebung: ```bash # Pseudodateisysteme einbinden sudo mount -o bind /dev void/dev sudo mount -o bind /sys void/sys sudo mount -t proc /proc void/proc # Wechseln sudo chroot void /bin/bash ``` --- ### Void-Paketmanager  ```bash # Paketquellen synchronisieren xbps-install -S # Paketmanager aktualisieren xbps-install -u xbps -y # Gesamtes System aktualisieren xbps-install -Su -y # Midnight Commander installieren xbps-install -y mc # Midnight Commander starten mc ``` --- ### chroot verlassen  ```bash # chroot-Umgebung verlassen exit # Pseudodateisysteme aushängen sudo umount void/dev sudo umount void/sys sudo umount void/proc ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de