CHROOT PRAXISLEITFADEN LEGACY-ANWENDUNGEN UNTER LUBUNTU
(Beispiel: Pinta & Gedit unter Ubuntu 18.04)
1. WARUM CHROOT?
Moderne Linux-Systeme sind nicht abwärtskompatibel.
Bibliotheken (GTK, Mono, libc) Ãndern sich.
Alte, stabile Programme brechen nach Updates.
lUBUNTU 18.04 hATTE gtx 3 , AB gtx 4 kEINE MENÜLEISTE MEHR IN gtx progs
CHROOT läst das Problem, indem es ein altes, stabiles System kapselt.
Das Host-System bleibt unangetastet.
2. GRUNDIDEE VON CHROOT
CHROOT = change root
Ein Programm sieht ein anderes -Wurzelverzeichnis.
Beispiel:
Host: Lubuntu 22.x
CHROOT: Ubuntu 18.04
Für die Anwendung existiert nur:
/opt/pinta18/
3. CHROOT-VERZEICHNIS ANLEGEN
Auf dem Host:
sudo mkdir -p /opt/pinta18
4. BASISSYSTEM INSTALLIEREN (DEBOOTSTRAP)
sudo apt install debootstrap
Ubuntu 18.04 installieren:
sudo debootstrap bionic /opt/pinta18 http://archive.ubuntu.com/ubuntu
5. NOTWENDIGE SYSTEMBEREICHE MOUNTEN
Diese gehören zum Kernel und fehlen in chroot automatisch.
sudo mkdir -p /opt/pinta18/proc,dev,dev/pts,home,tmp
sudo mount -t proc proc /opt/pinta18/proc
sudo mount --bind /dev /opt/pinta18/dev
sudo mount -t devpts devpts /opt/pinta18/dev/pts
sudo mount --bind /home /opt/pinta18/home
sudo mount --bind /tmp /opt/pinta18/tmp
6. IN DIE CHROOT WECHSELN
sudo chroot /opt/pinta18 /bin/bash
Prompt zeigt jetzt:
root@hostname:/#
7. GRUNDKONFIGURATION IN DER CHROOT
Paketquellen:
deb http://archive.ubuntu.com/ubuntu bionic main universe
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe
deb http://archive.ubuntu.com/ubuntu bionic-security main universe
apt update
8. LEGACY-ANWENDUNG INSTALLIEREN (BEISPIEL PINTA)
apt install pinta mono-runtime gtk-sharp2
Optional:
apt install gedit
9. WARUM /proc ZWINGEND NöTIG IST
Mono, GTK und viele Programme benötigen:
/proc/self
/proc/meminfo
/proc/cpuinfo
Ohne /proc:
Mono requires /proc to be mounted
10. GUI-START AUS DER CHROOT
DISPLAY und XAUTHORITY setzen:
export DISPLAY=:0
export XAUTHORITY=/home/ronny/.Xauthority
Programm starten:
/usr/bin/pinta
11. WARUM STARTER NICHT DIREKT FUNKTIONIEREN
GUI-Starter laden keine Bash-Umgebung.
Kein DISPLAY, kein sudo, kein Mount.
Lösung:
â€¢ Mounts vorbereiten
â€¢ Starter ohne interaktives sudo
12. START-SKRIPT (HOST)
/usr/local/bin/pinta18-mounts
Mountet automatisch:
/proc
/dev
/dev/pts
/home
/tmp
13. BENUTZER-STARTER
~/.local/bin/pinta-legacy18
Fährt aus:
sudo chroot /opt/pinta18
setzt DISPLAY
startet Pinta
14. DESKTOP-EINTRAG
~/.local/share/applications/pinta-legacy.desktop
Ergebnis:
â€¢ Klick im Menü
â€¢ Alte stabile Anwendung
Keine Abhängigkeit vom Host-System
15. WARUM DAS INDUSTRIETAUGLICH IST
â€¢ Legacy-Software bleibt nutzbar
â€¢ Updates gefährden Produktion nicht
â€¢ Einfache Sicherung (1 Ordner!)
MERKSÃ„TZE
â€žWas läuft, wird eingefroren.â€œ
â€žNeue Software testet man getrennt.â€œ
â€žStabilität schlägt Aktualität.â€œ