Using Application Containers

πŸ“¦ Hoofdstuk 13.3: Werken met Applicatiecontainers in Linux

Applicatiecontainers zijn bundels waarin een applicatie samen met alle benodigde afhankelijkheden zit verpakt. Dit maakt het mogelijk om software uit te voeren op verschillende Linux-distributies zonder conflicten met systeembibliotheken.

────────────────────────────────────────────
🧱 1. Wat zijn containers?
────────────────────────────────────────────

Een container bevat:
- Applicatiebestanden
- Afhankelijkheden (zoals libraries en runtimes)
- Configuratie-instellingen

🎯 Voordelen van containers:
βœ” Geen afhankelijkheidsconflicten
βœ” Applicaties zijn makkelijk overdraagbaar tussen systemen
βœ” Ontwikkelaars en gebruikers werken in een uniforme omgeving

────────────────────────────────────────────
πŸ“¦ 2. Snap Containers
────────────────────────────────────────────

Snap is ontwikkeld door Canonical (Ubuntu) en wordt beheerd door de `snapd`-dienst. Het gebruikt de `snap` CLI-tool om snap-applicaties te beheren.

Belangrijke commando’s (snap):
- `snap list` β†’ Toont geΓ―nstalleerde snaps
- `snap find` β†’ Zoekt naar apps in de Snap Store
- `snap info` β†’ Geeft informatie over een snap
- `snap install` β†’ Installeert een snap
- `snap remove` β†’ Verwijdert een snap

✨ Voorbeeld:
Een app installeren en controleren of deze werkt:
- Installeer VLC met Snap
- Controleer met `snap list` of het gelukt is

πŸ“Œ Kenmerken:
- Werkt op meerdere Linux-distributies (Ubuntu, Fedora, Arch, enz.)
- Snap-apps zijn geΓ―soleerd in `/snap`
- Automatische updates zijn standaard ingeschakeld

────────────────────────────────────────────
πŸ“¦ 3. Flatpak Containers
────────────────────────────────────────────

Flatpak is populair bij Red Hat-gebaseerde systemen en stelt gebruikers in staat universele apps te draaien.

Belangrijke commando’s (flatpak):
- `flatpak list` β†’ Toont geΓ―nstalleerde flatpaks
- `flatpak search` β†’ Zoekt in Flatpak-repositories
- `flatpak install` β†’ Installeert een applicatie (meestal uit Flathub)
- `flatpak uninstall` β†’ Verwijdert een applicatie

✨ Voorbeeld:
Installeer VLC via Flatpak vanuit Flathub en toon geΓ―nstalleerde apps.

πŸ“Œ Kenmerken:
- Wordt veel gebruikt op Fedora, openSUSE, Arch en Ubuntu
- Apps draaien in een sandbox en zijn geΓ―soleerd
- Bestanden worden opgeslagen in `/var/lib/flatpak/`

────────────────────────────────────────────
βš–οΈ 4. Verschillen tussen Snap en Flatpak
────────────────────────────────────────────

| Kenmerk | Snap | Flatpak |
|-------------------|------------------------|-------------------------------|
| Oorsprong | Canonical (Ubuntu) | Red Hat (Fedora) |
| Opslaglocatie | /snap/ | /var/lib/flatpak/ |
| Updates | Automatisch | Handmatig |
| Apparaattoegang | Meer beperkingen | Meer vrijheid |
| App-beschikbaarheid | Groot aanbod in Snap Store | Groot aanbod in Flathub |
| Geschikt voor | Servers en IoT | Desktop-toepassingen |

────────────────────────────────────────────
βœ… Samenvatting
────────────────────────────────────────────

Applicatiecontainers zoals Snap en Flatpak bieden een betrouwbare manier om software te distribueren, isoleren en beheren op Linux. Snap is ideaal voor servers en systemen met automatische updates. Flatpak is bijzonder handig voor grafische desktoptoepassingen met sandboxing.