🧰 Fedora Toolbox – Uitgebreide Uitleg
📦 Wat is Fedora Toolbox?
Fedora Toolbox is een tool die je helpt om container-gebaseerde ontwikkelomgevingen op te zetten binnen je Fedora-systeem. Het is ontworpen om je een veilige, flexibele en schone omgeving te bieden waarin je software kunt ontwikkelen, testen en experimenteren zonder je hoofdinstallatie te beïnvloeden.
Toolbox maakt gebruik van Podman (een alternatief voor Docker) om containers te beheren. Deze containers zijn speciaal geconfigureerd om goed samen te werken met je bestaande gebruikersomgeving.
🧠 Waarom Toolbox gebruiken?
- Isolatie zonder frictie: Je kunt tools en bibliotheken installeren zonder root-rechten en zonder je systeem te vervuilen.
- Volledige integratie: Je home-directory, netwerk, audio, D-Bus en zelfs je gebruikersrechten zijn beschikbaar in de container.
- Flexibiliteit: Je kunt meerdere containers maken voor verschillende projecten of Fedora-versies.
- Veilig experimenteren: Als je iets breekt in een container, gooi je die gewoon weg en begin je opnieuw.
🖥️ Hoe werkt het?
Toolbox vereenvoudigt het gebruik van containers door een paar eenvoudige commando’s aan te bieden:
toolbox create # Maak een nieuwe container
toolbox enter # Ga de container binnen
toolbox list # Toon bestaande containers
toolbox rm <naam> # Verwijder een container
Containers worden gebaseerd op een Fedora-image die al is voorzien van standaardtools zoals dnf, bash, en andere CLI-hulpmiddelen.
🧪 Voorbeeldscenario
Stel je werkt aan een Python-project met experimentele bibliotheken. In plaats van deze op je host te installeren:
- Maak een toolbox-container:
toolbox create - Ga erin:
toolbox enter - Installeer je tools:
dnf install python3-pip numpy pandas - Werk aan je project in een schone, geïsoleerde omgeving
🛡️ Wat is het verschil met een virtuele machine?
Toolbox-containers zijn lichtgewicht en starten razendsnel. Ze delen resources met je host, zoals je bestanden en netwerk, maar zijn niet volledig geïsoleerd zoals een VM. Dat betekent: - Sneller en efficiënter - Minder overhead - Maar ook: niet geschikt voor onveilige scripts of root-experimenten
🧰 Compatibiliteit
Toolbox werkt op: - Fedora Silverblue (standaard geïnstalleerd) - Fedora Workstation en Server - Andere distributies zoals Ubuntu en Arch Linux (met wat extra stappen)
📚 Meer informatie
🛡 Fedora Toolbox Backup – Chatlog
📜 Gespreksoverzicht
👤 Gebruiker: Ik wil een backup maken van een lopende toolbox op Fedora
🤖 Copilot: Uitleg over het maken van een back‑up van een draaiende toolbox‑container met podman export
👤 Gebruiker: Ja graag (voor automatisch maken met systemd timers)
🤖 Copilot: Volledig stappenplan met script, service, en timer
🧰 Handmatig een Toolbox back‑uppen
-
🔍 Containernaam achterhalen
Zoek in de kolom “NAME” welke container je wilt back‑uppen.
-
📦 Container exporteren
→ Exporteert het volledige bestandssysteem (geen RAM‑staat).
-
🗜 Optioneel comprimeren
-
♻ Terugzetten
💡 Tips
- 📁 Maak ook een aparte back‑up van persoonlijke data buiten de container.
- ⏸ Voor processen “bevriezen” → onderzoek podman checkpoint (geavanceerd).
⏳ Automatisch back‑uppen met systemd timer
1️⃣ Script maken
📂 Pad: ~/scripts/toolbox-backup.sh
#!/usr/bin/env bash
CONTAINER="mijn_toolbox"
DATUM=$(date +"%Y%m%d-%H%M")
BACKUP_DIR="$HOME/toolbox-backups"
mkdir -p "$BACKUP_DIR"
podman export "$CONTAINER" > "$BACKUP_DIR/toolbox-$DATUM.tar"
gzip "$BACKUP_DIR/toolbox-$DATUM.tar"
# 🧹 Oude back-ups opruimen (ouder dan 7 dagen)
find "$BACKUP_DIR" -type f -mtime +7 -delete
2️⃣ systemd‑service
📂 Pad: ~/.config/systemd/user/toolbox-backup.service
[Unit]
Description=Maak een back-up van mijn Fedora toolbox
[Service]
Type=oneshot
ExecStart=%h/scripts/toolbox-backup.sh
3️⃣ Timer
📂 Pad: ~/.config/systemd/user/toolbox-backup.timer
[Unit]
Description=Dagelijkse back-up van mijn Fedora toolbox
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
⏰ Pas
OnCalendaraan naar het gewenste tijdstip.
4️⃣ Timer activeren
5️⃣ Status controleren
💡 Pro‑tip: 🔄 Voor meerdere toolboxes → in het script een lus maken over toolbox list.