Lese-Ansicht

Toolbx

Beim Experimentieren mit KI-Sprachmodellen bin ich über das Projekt »Toolbx« gestolpert. Damit können Sie unkompliziert gekapselte Software-Umgebungen erzeugen und ausführen.

Toolbx hat große Ähnlichkeiten mit Container-Tools und nutzt deren Infrastruktur, unter Fedora die von Podman. Es gibt aber einen grundlegenden Unterschied zwischen Docker/Podman auf der einen und Toolbx auf der anderen Seite: Docker, Podman & Co. versuchen die ausgeführten Container sicherheitstechnisch möglichst gut vom Host-System zu isolieren. Genau das macht Toolbx nicht! Im Gegenteil, per Toolbx ausgeführte Programme können auf das Heimatverzeichnis des aktiven Benutzers sowie auf das /dev-Verzeichnis zugreifen, Wayland nutzen, Netzwerkschnittstellen bedienen, im Journal protokollieren, die GPU nutzen usw.

Toolbx wurde ursprünglich als Werkzeug zur Software-Installation in Distributionen auf der Basis von OSTree konzipiert (Fedora CoreOS, Siverblue etc.). Dieser Artikel soll als eine Art Crash-Kurs dienen, wobei ich mit explizit auf Fedora als Host-Betriebssystem beziehe. Grundwissen zu Podman/Docker setze ich voraus.

Mehr Details gibt die Projektdokumentation. Beachten Sie, dass die offizielle Bezeichnung des Projekts »Toolbx« ohne »o« in »box« lautet, auch wenn das zentrale Kommando toolbox heißt und wenn die damit erzeugten Umgebungen üblicherweise Toolboxes genannt werden.

Hello, Toolbx!

Das Kommando toolbox aus dem gleichnamigen Paket wird ohne sudo ausgeführt. In der Minimalvariante erzeugen Sie mit toolbox <name> eine neue Toolbox, die als Basis ein Image Ihrer Host-Distribution verwendet. Wenn Sie also wie ich in diesen Beispielen unter Fedora arbeiten, fragt toolbox beim ersten Aufruf, ob es die Fedora-Toolbox herunterladen soll:

toolbox create test1

  Image required to create Toolbx container.
  Download registry.fedoraproject.org/fedora-toolbox:43 (356.7MB)? [y/N]: y
  Created container: test1

Wenn Sie als Basis eine andere Distribution verwenden möchten, geben Sie den Distributionsnamen und die Versionsnummer in zwei Optionen an:

toolbox create --distro rhel --release 9.7 rhel97

Das Kommando toolbox list gibt einen Überblick, welche Images Sie heruntergeladen haben und welche Toolboxes (in der Podman/Docker-Nomenklatur: welche Container) Sie erzeugt haben:

toolbox list

  IMAGE ID      IMAGE NAME                                    CREATED
  f06fdd638830  registry.access.redhat.com/ubi9/toolbox:9.7   3 days ago
  b1cc6a02cef9  registry.fedoraproject.org/fedora-toolbox:43  About an hour ago

  CONTAINER ID  CONTAINER NAME     CREATED         STATUS   IMAGE NAME
  695e17331b4a  llama-vulkan-radv  2 days ago      exited   docker.io/kyuz0/amd-strix-halo-toolboxes:vulkan-radv
  dc8fd94977a0  rhel97             22 seconds ago  created  registry.access.redhat.com/ubi9/toolbox:9.7
  dd7d51c65852  test1              18 minutes ago  created  registry.fedoraproject.org/fedora-toolbox:43

Um eine Toolbox aktiv zu nutzen, aktivieren Sie diese mit toolbox enter. Damit starten Sie im Terminal eine neue Session. Sie erkennen nur am veränderten Prompt, dass Sie sich nun in einer anderen Umgebung befinden. Sie haben weiterhin vollen Zugriff auf Ihr Heimatverzeichnis; die restlichen Verzeichnisse stammen aber überwiegend von Toolbox-Container. Hinter den Kulissen setzt sich der in der Toolbox sichtbare Verzeichnisbaum aus einer vollkommen unübersichtlichen Ansammlung von Dateisystem-Mounts zusammen. findmnt liefert eine über 350 Zeilen lange Auflistung!

toolbox enter test1

[kofler@toolbx ~]$ cat /etc/os-release 

  NAME="Fedora Linux"
  VERSION="43 (Toolbx Container Image)"
  RELEASE_TYPE=stable
  ID=fedora
  VERSION_ID=43
  ...

[kofler@toolbx ~]$ findmnt | wc -l

  359

Innerhalb einer Fedora-Toolbox können Sie wie üblich mit rpm und dnf Pakete verwalten. Standardmäßig ist nur ein relativ kleines Subset an Paketen installiert.

[kofler@toolbx ~]$ rpm -qa | wc -l

  340

Innerhalb der Toolbox können Sie mit sudo administrative Aufgaben erledigen, z.B. sudo dnf install <pname>. Dabei ist kein Passwort erforderlich.

ps ax listet alle Prozesse auf, sowohl die der Toolbox als auch alle anderen des Hostsystems!

Mit exit oder Strg+D verlassen Sie die Toolbox. Sie können Sie später mit toolbox enter <name> wieder reaktivieren. Alle zuvor durchgeführten Änderungen gelten weiterhin. (Hinter den Kulissen verwendet das Toolbx-Projekt einen Podman-Container und speichert Toolbox-lokalen Änderungen in einem Overlay-Dateisystem.)

Bei ersten Experimenten mit Toolbx ist mitunter schwer nachzuvollziehen, welche Dateien/Einstellungen Toolbox-lokal sind und welche vom Host übernommen werden. Beispielsweise ist /etc/passwd eine Toolbox-lokale Datei. Allerdings wurden beim Erzeugen dieser Datei die Einstellungen Ihres lokalen Accounts von der Host-weiten Datei /etc/passwd übernommen. Wenn Sie also auf Host-Ebene Fish als Shell verwenden, ist /bin/fish auch in der Toolbox-lokalen passwd-Datei enthalten. Das ist insofern problematisch, als im Standard-Image für Fedora und RHEL zwar die Bash enthalten ist, nicht aber die Fish. In diesem Fall erscheint beim Start der Toolbox eine Fehlermeldung, die Bash wird als Fallback verwendet:

toolbox enter test1

  bash: Zeile 1: /bin/fish: Datei oder Verzeichnis nicht gefunden
  Error: command /bin/fish not found in container test1
  Using /bin/bash instead.

Es spricht aber natürlich nichts dagegen, die Fish zu installieren:

[kofler@toolbx ~]$ sudo dnf install fish

Auf Host-Ebene liefern die Kommandos podman ps -a und podman images sowohl herkömmliche Podman-Container und -Images als auch Toolboxes. Aus Podman-Sicht gibt es keinen Unterschied. Der Unterschied zwischen einem Podman-Container und einer Toolbox ergibt sich erst durch die Ausführung (bei Podman mit sehr strenger Isolierung zwischen Container und Host, bei Toolbox hingegen ohne diese Isolierung).

Eigene Toolboxes erzeugen

Eigene Toolboxes richten Sie ein wie eigene Podman-Images. Die Ausgangsbasis ist ein Containerfile, das die gleiche Syntax wie ein Dockerfile hat:

# Datei my-directory/Containerfile
FROM registry.fedoraproject.org/fedora-toolbox:43

# Add metadata labels
ARG NAME=my-toolbox
ARG VERSION=43
LABEL com.github.containers.toolbox="true" \
      name="$NAME" \
      version="$VERSION" \
      usage="This image is meant to be used with the toolbox(1) command" \
      summary="Custom Fedora Toolbx with joe and fish"

# Install your software
RUN dnf --assumeyes install \
    fish \
    joe

# Clean up
RUN dnf clean all

Mit podman build erzeugen Sie das entsprechende lokale Image:

cd my-directory

podman build --squash --tag localhost/my-dev-toolbox:43 .

Jetzt können Sie auf dieser Basis eine eigene Toolbox einrichten:

toolbox create --image localhost/my-toolbox:43 test2

toolbox enter test2

KI-Sprachmodelle mit Toolbx ausführen

Das Toolbx-Projekt bietet eine großartige Basis, um GPU-Bibliotheken und KI-Programme auszuprobieren, ohne die erforderlichen Bibliotheken auf Systemebene zu installieren. Eine ganze Sammlung von KI-Toolboxes zum Test diverser Software-Umgebungen für llama.cpp finden Sie auf GitHub, beispielsweise hier:

https://github.com/kyuz0/amd-strix-halo-toolboxes

toolbox create erzeugt eine Toolbox mit dem Namen llama-vulkan-radv auf Basis des Images vulkan-radv, das der Entwickler kyuz0 im Docker Hub hinterlegt hat. Das alleinstehende Kürzel -- trennt die toolbox-Optionen von denen für Podman/Docker. Die folgenden drei Optionen sind erforderlich, um der Toolbox direkten Zugriff auf das Device der GPU zu geben.

toolbox create llama-vulkan-radv \
  --image docker.io/kyuz0/amd-strix-halo-toolboxes:vulkan-radv \
  -- --device /dev/dri \
     --group-add video \
     --security-opt seccomp=unconfined

Mit toolbox enter starten Sie die Toolbox. Innerhalb der Toolbox steht das Kommando llama-cli zur Verfügung. In einem ersten Schritt können Sie testen, ob diese Bibliothek zur Ausführung von Sprachmodellen eine GPU findet.

toolbox enter llama-vulkan-radv

llama-cli --list-devices

  ggml_vulkan: Found 1 Vulkan devices:
  ggml_vulkan: 0 = Radeon 8060S Graphics (RADV GFX1151) (radv) | 
    uma: 1 | fp16: 1 | bf16: 0 | warp size: 64 | 
    shared memory: 65536 | int dot: 1 | matrix cores: KHR_coopmat
  Available devices:
    Vulkan0: Radeon 8060S Graphics (RADV GFX1151) 
    (107008 MiB, 99195 MiB free)

Wenn Sie auf Ihrem Rechner noch keine Sprachmodelle heruntergeladen haben, finden Sie geeignete Modelle unter https://huggingface.co. Ich habe stattdessen im folgenden Kommando ein Sprachmodell ausgeführt, das ich zuvor in LM Studio heruntergeladen haben. Wie gesagt: In der Toolbox haben Sie vollen Zugriff auf alle Dateien in Ihrem Home-Verzeichnis!

llama-server \
  -m  /home/kofler/.lmstudio/models/lmstudio-community/gpt-oss-20b-GGUF/gpt-oss-20b-MXFP4.gguf \
  -c 32000 -ngl 999 -fa 1 --no-mmap

Dabei gibt -c die maximale Kontextgröße an. -ngl bestimmt die Anzahl der Layer, die von der GPU verarbeitet werden sollen (alle). -fa 1 aktiviert Flash Attention. Das ist eine Grundvoraussetzung für eine effiziente Ausführung moderner Modelle. --no-mmap bewirkt, dass das ganze Modell zuerst in den Arbeitsspeicher geladen wird. (Die Alternative wären ein Memory-Mapping der Datei.) Der Server kann auf der Adresse localhost:8080 über eine Weboberfläche bedient werden.

Weboberfläche zu llama.cpp. Dieses Programm wird in einer Toolbox ausgeführt.

Anstatt erste Experimente in der Weboberfläche durchzuführen, können Sie mit dem folgenden Kommando einen einfachen Benchmarktest ausführen. Die pp-Ergebnisse beziehen sich auf das Prompt Processing, also die Verarbeitung des Prompts zu Input Token. tg bezeichnet die Token Generation, also die Produktion der Antwort.

llama-bench \
  -m /home/kofler/.lmstudio/.../gpt-oss-20b-MXFP4.gguf \
  -ngl 999 -fa 1

  model                       size  params ...  test   t/s
  gpt-oss 20B MXFP4 MoE  11.27 GiB   20.91     pp512  1219
  gpt-oss 20B MXFP4 MoE  11.27 GiB   20.91     tg128    78

Quellen/Links

  •  

Linux 2026: Zwischen Routine und Aufbruch

2026 wird für die Linux Welt kein gewöhnliches Jahr. Vieles, was lange vorbereitet wurde, kommt nun in den Alltag der Nutzer. Gleichzeitig entstehen neue Felder, die das Gesicht von Linux verändern könnten. Wer glaubt, dass Linux nur still weiterläuft, wird überrascht sein. Wie immer beim Glaskugellesen sei eine gewisse Vorsicht beim Lesen angeraten. Der Linux […]

Der Beitrag Linux 2026: Zwischen Routine und Aufbruch erschien zuerst auf fosstopia.

  •  

Debusine eröffnet neue Wege für experimentelle Debian Pakete

Debian erhält mit Debusine eine wichtige CI-Plattform (Continous Integration) für Entwickler. Das Projekt bietet nun eine öffentliche Betaphase für eigene Paketquellen. Diese Quellen lassen sich direkt online anlegen und verwalten. Der Dienst ermöglicht erstmals offizielle Testrepositorys für Debian Pakete. Entwickler können damit Änderungen schneller prüfen und Nutzer leichter einbeziehen. Die Bedienung erinnert an bekannte Lösungen aus […]

Der Beitrag Debusine eröffnet neue Wege für experimentelle Debian Pakete erschien zuerst auf fosstopia.

  •  

Frohe Weihnachten 2025

Ich wünsche Euch und Euren Familien ein wunderschönes Weihnachtsfest 2025! Genießt die besinnlichen Tage im Kreise Eurer Liebsten und lasst es Euch gut gehen. Herzlichen Dank, dass Ihr auch in diesem Jahr wieder bei fosstopia vorbeigeschaut und das Projekt als treue Leser begleitet habt. 2026 steht vor der Tür. Ein spannendes Jahr voller neuer Highlights und überraschender […]

Der Beitrag Frohe Weihnachten 2025 erschien zuerst auf fosstopia.

  •  

Frohe Weihnachten!

LinuxNews wünscht allen Lesern erholsame Feiertage und genau das Weihnachtsfest, das ihr euch wünscht.

  •  

Qubes OS 4.3 bringt Verbesserungen

Qubes OS ist ein sicherheitsorientiertes, freies Betriebssystem für PCs. Die neue Ausgabe 4.3 bringt einen Geräte-UX-Workflow, damit Benutzer die neue Geräte-API einfach nutzen können.

  •  

SFP#43: It is Youth Hacking 4 Freedom!

SFP#43: It is Youth Hacking 4 Freedom!

Have you heard about this wonderful programming competition for teenagers from all over Europe? Haven't you? Join us to find out everything you need to know about "Youth Hacking 4 Freedom"!

In our last episode for 2025, Alex and Bonnie talk about the FSFE's programming competition Youth Hacking 4 Freedom. They explain the competition, clarify eligibility requirements, describe what lies ahead for participating teenagers, and outline how FSFE supports them in overcoming challenges during the programming phase (which runs from 1 January to 30 June 2026). And of course, they give a sneak preview of the awards ceremony in Brussels for YH4F 2026!

Find out all about Youth Hacking 4 Freedom and how to participate in this unique competition.

The FSFE's youth work is an important part of our aim to safeguard the future of Free Software. You can support our work as a sponsor or with a donation.

Show notes

We are happy to receive your feedback on the Software Freedom Podcast and especially on the transcript of the episode. Please, send us an email to: podcast@fsfe.org. If you liked this episode and want to support our continuous work for software freedom, please help us with a donation.

Support FSFE

  •  

Red Hat setzt auf KI Sicherheit und übernimmt Chatterbox Labs

Red Hat hat eine weitere Akquisition im Bereich künstliche Intelligenz bekanntgegeben. Nach Neural Magic im vergangenen Jahr folgt nun Chatterbox Labs, ein Unternehmen mit Spezialisierung auf Testverfahren für KI Modelle und Schutzmechanismen für generative Systeme. Chatterbox Labs wurde 2011 gegründet und entwickelte die AIMI Plattform. Diese liefert quantitative Risikometriken für KI und bietet zusätzliche Funktionen […]

Der Beitrag Red Hat setzt auf KI Sicherheit und übernimmt Chatterbox Labs erschien zuerst auf fosstopia.

  •  

elementary OS 8.1 überrascht mit starkem Update

elementary OS meldet sich mit Version 8.1 zurück und liefert ein Update, das viele Wünsche der Community aufgreift. Die neue Ausgabe setzt auf mehr Sicherheit, bessere Hardwareunterstützung und zahlreiche Verbesserungen im Alltag. Beim hauseigenen Pantheon Desktop rückt die auf Wayland basierende Secure Session nun in den Mittelpunkt. Sie schützt Passworteingaben besser und verhindert störende Fokuswechsel. […]

Der Beitrag elementary OS 8.1 überrascht mit starkem Update erschien zuerst auf fosstopia.

  •  

Advents-Gewinnspiel: Die Gewinner

Unser Gewinnspiel war ein voller Erfolg. Die Teilnehmenden hatten viel Spass dabei und haben kreative Ideen eingesendet. In diesem Artikel erfahrt ihr etwas über die Hintergründe, die Auflösung und natürlich, wer gewonnen hat.

  •  

Asahi Linux macht große Fortschritte bei Apple Silicon Unterstützung

Das Asahi Linux Projekt hat einen neuen Entwicklungsbericht veröffentlicht. Dieser ist eng mit der Veröffentlichung von Linux Kernel 6.18 verbunden und zeigt den aktuellen Stand der Arbeiten zur Integration von Apple Silicon Hardware in den Mainline Kernel. Besonders im Fokus steht der System Management Controller von Apple. Nachdem der zentrale Treiber bereits aufgenommen wurde, arbeiten […]

Der Beitrag Asahi Linux macht große Fortschritte bei Apple Silicon Unterstützung erschien zuerst auf fosstopia.

  •  

Der My-IT-Brain Jahresrückblick 2025

Zum Jahresende möchte ich kurz zurückblicken und reflektieren, wie dieses Jahr für meinen kleinen Blog verlaufen ist.

Anzahl veröffentlichter Artikel

In Summe: 32 Artikel.

Behandelte Themen

Thematisch haben sich fast alle Artikel mit Freier Software und Open Source beschäftigt oder waren daran angelehnt. Wie auch in den vorangegangenen Jahren habe ich keine bewussten Themenschwerpunkte gesetzt, sonder über die Themen geschrieben, dich mich in der jeweiligen Zeit interessierten und mich beschäftigt haben.

Zu Beginn des Jahres habe ich noch einmal zur Thema „Dokumentation für den Notfall“ geschrieben. Diese ist für die Angehörigen gedacht, falls der Nerd mal nicht mehr verfügbar ist. Dieses Thema wird mich auch 2026 wieder beschäftigen, wenn ich meine Dokumentation aktualisiere.

Ich habe mit vier Beiträgen zu den Blogwochen 2025 beigetragen, zu denen Benedikt, Dirk und Robert anlässlich der Geburtstage ihrer Blogs aufgerufen hatten. Dies war meine erste Blogparade und mir gefällt die Idee, dass sich Blogs auf diesem Wege vernetzen. So konnte ich einige neue Blogs in meinen Feedreader aufnehmen.

Fazit

Ich stelle fest, mir bereitet das Bloggen immer noch Freude, so dass ihr euch auch in 2026 auf neue Text in diesem Blog freuen dürft.

Mit diesem Beitrag geht mein Blog in die Jahreswechselpause. Ich bedanke mich bei allen Lesenden für euer Interesse an meinen Beiträgen und wünsche euch fröhliche Weihnachten und einen guten Rutsch ins Jahr 2026.

  •