Problem

Ubuntu 20.04 wurde (erkennbar an der Versionsnummer) im April 2020 veröffentlicht und bringt viele neue Programmversionen mit viel neuer Funktionalität. Aber du willst deinen Rechner gerade nicht auf die neue Ubuntu-Version upgraden, weil du nicht die Zeit hast und ein stabil laufendes System in deinem Arbeitsalltag gerade sehr wichtig ist?

Das Programm, das du nutzen willst, wird über APT (sprich per apt-get/aptitude/apt) angeboten, sprich Docker oder snap sind keine Option? Eine VirtualBox/VMWare VM führt gerade bei grafischen Programmen zu einer zu schlechten Performanz? Ein PPA ("Personal Package Archives", quasi "nicht offizielle APT-Repositories") gibt es entweder nicht oder zieht dir zu viele weitere Abhängigkeiten mit rein?

Lösung

Hier möchte ich schroot ("Securely enter a change root environment") vorstellen. Die darunterliegende Basis ist chroot. Das macht nichts anderes als den sichtbaren Verzeichnisbaum von ausgeführten Programmen einzuschränken.
Zusätzlich mounted es die Ordner /dev, /proc, /sys und - je nach Konfiguration auch - /home mit in die chroot Umgebung.

Beispiel

Setup

Wir machen das Ganze mal am Beispiel GIMP:

  • Ubuntu 18.04 hat immer noch GIMP 2.8.22 vom Mai 2017
  • Ubuntu 20.04 ENDLICH GIMP 2.10

Wir wollen jetzt also einfach GIMP 2.10 unter Ubuntu 18.04 nutzen:

Starten

Jetzt kann man die erstellte chroot Umgebung betreten.
Die Dateien /etc/passwd, /etc/group und /etc/shadow werden mit kopiert, man kann also mit seinem normalen User per sudo weitere Programme installieren.

# Installing apt packages:
sudo aptitude install schroot debootstrap
# Downloading a minimal Ubuntu installation:
sudo debootstrap focal ~/linux/focal/
# Accessing the created chroot environment
schroot -c focal
# Installing necessary packages (in our case at least GIMP):
(focal)bgebhard@laptop0xxx:~$ sudo aptitude install gimp
In der Datei /etc/schroot/schroot.conf muss ein Eintrag pro chroot angelegt werden:
/etc/schroot/schroot.conf 
[focal]
description=Ubuntu 20.04 Focal Fossa
type=directory
directory=/home/bgebhard/linux/focal
users=bgebhard
Jetzt kann man das Programm schon ausführen. Allerdings muss man daran denken, bei grafischen Programmen manuell die DISPLAY Variable zu setzen:
(focal)bgebhard@laptop0xxx:~$ DISPLAY=:0 gimp
Visual_TP#152_Ubuntu

Weiterführende Aspekte

---

Autor: Bastian Gebhardt / Senior Software Architect / Business Division Media

SCHREIB UNS

* Pflichtfeld

SCHREIB UNS

* Pflichtfeld

Cookie-Einstellungen

Diese Website verwendet Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und Zugriffe auf die Website zu analysieren. Zudem werden Informationen zu Ihrer Verwendung der Website an Partner für soziale Medien, Werbung und Analysen weitergegeben. Die Partner führen diese Informationen möglicherweise mit weiteren Daten zusammen, die Sie ihnen bereitgestellt haben oder die sie im Rahmen Ihrer Nutzung der Dienste gesammelt haben.

Weitere Informationen finden Sie in unserer Datenschutzerklärung. Dort können Sie nachträglich auch Ihre Cookie-Einstellungen ändern.

contact icon

Kontakt aufnehmen