Toolbx
| Toolbx ist kein Tippfehler, siehe die Projektseite. |
Fedora Atomic Desktops sind eine hervorragende Plattform für die containerbasierte Entwicklung. Für die Arbeit mit Containern werden buildah und podman empfohlen.
Fedora Atomic Desktops wird außerdem mit dem Dienstprogramm toolbx ausgeliefert, das Container nutzt, um eine Umgebung bereitzustellen, in der Entwicklungswerkzeuge und Bibliotheken installiert und verwendet werden können.
Warum toolbx verwenden?
Toolbx vereinfacht die Nutzung einer containerisierten Umgebung für die tägliche Softwareentwicklung und das Debugging. Auf Betriebssystemen mit schreibgeschützten Root-Dateisystemen, wie beispielsweise Fedora Atomic Desktops, bietet es eine vertraute, paketbasierte Umgebung, in der Werkzeuge und Bibliotheken installiert und verwendet werden können. Toolbx ist jedoch auch auf paketbasierten Systemen einsetzbar.
Die Verwendung von Toolbx zur Ausführung Ihrer Workflows in einem containerisierten Umfeld bietet Ihnen mehrere Vorteile:
-
Es hält das Host-Betriebssystem sauber und stabil und hilft, die Unordnung zu vermeiden, die nach der Installation vieler Entwicklungswerkzeuge und -pakete auftreten kann.
-
Sie erhalten Zugriff auf verschiedene Versionen unterstützter Distributionen, unabhängig von der Version, die Sie aktuell verwenden.
-
Container sind eine gute Möglichkeit, die für verschiedene Projekte benötigten Abhängigkeiten zu isolieren und zu organisieren.
-
Container sind ein sicherer Raum zum Experimentieren: Wenn etwas schiefgeht, kann man den Werkzeugkasten einfach wegwerfen und von vorne anfangen.
Es ist jedoch sehr wichtig zu beachten, dass Toolbx-Container weiterhin in Ihr Hostsystem integriert sind. Daher sollten Sie keine Aktionen ausführen oder Software nutzen, die Sie sonst nicht auf Ihrem Hostsystem ausführen würden. Toolbx-Container sind keine vollständig isolierten Umgebungen wie virtuelle Maschinen.
So funktioniert es
Toolbx vereinfacht die Arbeit mit Containern durch wenige, einfache Befehle zum Erstellen, Bearbeiten, Auflisten und Entfernen von Containern. Zudem integriert es Toolbx-Container in Ihre gewohnte Arbeitsumgebung und ermöglicht so deren problemlose Nutzung als alltägliche Entwicklungsumgebung.
Container werden aus Abbildern erstellt, die üblicherweise stark abgespeckte Versionen von Distributionen darstellen. In solchen Abbilder sind kaum Werkzeuge und Dokumentation verfügbar. Das Team hinter Toolbx pflegt hingegen ein Fedora-Abbild, in dem diese Werkzeuge und Dokumentation enthalten sind und somit eine gute Benutzererfahrung direkt nach der Installation ermöglicht wird.
Jeder Toolbx-Container ist eine Umgebung, die Sie über die Befehlszeile aufrufen können. In jedem Container finden Sie:
-
Ihren bestehender Benutzernamen und Ihre Berechtigungen.
-
Zugriff auf Ihr Home-Verzeichnis und verschiedene andere Speicherorte.
-
Zugriff auf System- und Sitzungs-D-Bus, Systemjournal und Kerberos.
-
Gängige Befehlszeilenwerkzeuge, einschließlich eines Paketmanagers (zum Beispiel DNF unter Fedora).
Mit anderen Worten: Toolbx-Container sehen aus wie eine Standard-Linux-Befehlszeilenumgebung und verhalten sich auch so. Durch die Verknüpfung all dieser Informationen geht jedoch ein Teil der Sicherheit verloren, die durch die Containertechnologie gewonnen wird. Daher sollten Sie Toolbx-Container nicht als Sandbox betrachten, in der Sie beliebige Skripte ausführen können, die Sie auf keinem anderen System ausführen würden.
In den meisten Fällen wird beim Ausführen eines Befehls innerhalb eines Containers das Programm aus dem Container verwendet. Es gibt jedoch einige Sonderfälle, in denen stattdessen das Programm auf dem Hostsystem verwendet wird (mittels flatpak-spawn). Ein Beispiel hierfür ist der Befehl toolbox selbst; dadurch ist es möglich, toolbx aus toolbx-Containern heraus zu verwenden.
Ihr erster Werkzeugkasten
Nach der Installation von toolbx sind zwei einfache Befehle für den Einstieg erforderlich:
$ toolbox create
Dadurch wird ein OCI-Abbild heruntergeladen und daraus ein Toolbx-Container erstellt. Führen Sie anschließend Folgendes aus:
$ toolbox enter
Sobald Sie sich in der Toolbox befinden, können Sie auf gängige Befehlszeilenwerkzeuge zugreifen und neue mithilfe eines Paketmanagers installieren (zum Beispiel DNF unter Fedora).
|
Befindet sich die Eingabeaufforderung innerhalb einer Toolbox, wird ihr ein Diamant vorangestellt: Dies zeigt an, dass sich die Eingabeaufforderung in einem Toolbox-Container befindet. Das Diamantsymbol ist möglicherweise nicht vorhanden, wenn Sie ein benutzerdefiniertes Shell-Design verwenden. |
Befehle und Verwendung
toolbox create [Optionen] <Name>
Erstellt einen Toolbx-Container. Falls kein OCI-Abbild verfügbar ist, wird dieses heruntergeladen (dies ist für die Containererstellung erforderlich). Standardmäßig wird ein Abbild verwendet, das der Version des Hostsystems entspricht. Falls kein passendes Abbild vorhanden ist, wird stattdessen ein Fedora-Abbild verwendet.
Wird toolbox create ohne Optionen verwendet, benennt es den erstellten Container automatisch. Um weitere Toolboxes zu erstellen, verwenden Sie das Argument <Name>.
Um eine bestimmte Version des Hostsystems zu verwenden (zum Beispiel Fedora 43 auf Fedora 44), verwenden Sie die Option --release <release> | -r <release>.
Um eine andere Distribution zum Erstellen eines Toolbx-Containers zu verwenden (zum Beispiel RHEL auf Fedora), verwenden Sie die Option --distro <Distribution> | -d <Distribution>.
Um ein anderes Abbild zu verwenden, nutzen Sie die Option --image <Name> | -i <Name>.
toolbox enter [Optionen] <Name>
Öffnet eine Werkzeugpalette zur interaktiven Nutzung. Ohne Optionen öffnet toolbox enter die Standard-Werkzeugpalette.
Um eine Toolbox mit einem bestimmten Namen aufzurufen, verwenden Sie das Argument name.
Um eine Toolbox für eine andere Distribution (zum Beispiel Fedora auf RHEL) aufzurufen, verwenden Sie die Option --distro <Distribution> |-d <Distribution>.
Um eine Toolbox mit einer bestimmten Version aufzurufen (zum Beispiel RHEL 9.6 auf RHEL 10.0), verwenden Sie die Option --release <Version> | -r <Version>.
toolbox run [Optionen] <Befehl> <Argument(e) …>
Führt einen Befehl in einer Toolbox aus, ohne diese anzugeben. Ohne Optionen ausgeführt, führt toolbox run den Befehl in der Standard-Toolbox aus.
Um einen Befehl in einer Toolbox mit einem bestimmten Namen auszuführen, verwenden Sie die Option --container <Name> | -c <Name>.
Um einen Befehl in einer Toolbox für eine andere Distribution auszuführen (zum Beispiel Fedora auf RHEL), verwenden Sie die Option --distro <Distribution> |-d <Distribution>.
Um einen Befehl in einer Toolbox mit einer bestimmten Version auszuführen (zum Beispiel RHEL 9.6 auf RHEL 10.0), verwenden Sie die Option --release <Version> | -r <Version>.
toolbox list [Optionen]
Listet lokale Toolbx-Abbilder und -Container auf.
Um nur Container anzuzeigen, verwenden Sie die Option --containers | -c.
Um nur Abbilder anzuzeigen, verwenden Sie die Option --images | -i.
toolbox rm [Optionen] <Name …>
Entfernt einen oder mehrere Toolbx-Container.
Die Option --force | -f entfernt die markierten Container auch dann, wenn sie ausgeführt werden.
Die Option --all | -a entfernt alle Toolbx-Container.
Kontakt und Probleme
Um Probleme zu melden, Vorschläge zu machen oder Korrekturen beizutragen, besuchen Sie das GitHub-Projekt von Toolbx.
Um mit Toolbx-Benutzern und -Entwicklern in Kontakt zu treten, nutzen Sie Fedora Discussion oder treten Sie dem Toolbx Matrix Room bei.
Want to help? Learn how to contribute to Fedora Docs ›