Pakketbeheer op Linux: APT, DNF, pacman en XBPS uitgelegd
| Distributie | Pakketformaat | Beheerder | |---|---|---| | Debian, Ubuntu | .deb | APT | | Fedora, Rocky, AlmaLinux | .rpm | DNF | | Arch | .pkg.tar.zst | pacman | | Void | .xbps | XBPS |
APT (Advanced Package Tool) werkt met .deb-pakketten. DNF (Dandified YUM) gebruikt RPM-pakketten. XBPS (X Binary Package System) staat bekend om snelheid. pacman past bij de minimalistische filosofie van Arch.
Stappen: software installeren met APT
Deze stappen gelden voor Debian en Ubuntu (bijv. Ubuntu 24.04 LTS met APT 2.7.14).Stap 1: Update de pakketindex
sudo apt update
Dit synchroniseert de lokale pakketindex met de repositories. Zonder deze stap weet APT niet welke nieuwe versies beschikbaar zijn.
Stap 2: Zoek naar een pakket
apt search firefox
Dit toont alle pakketten waarvan de naam of beschrijving het zoekwoord bevat.
Stap 3: Toon pakketinformatie
apt show firefox
Dit toont versienummer, afhankelijkheden, grootte en beschrijving.
Stap 4: Installeer het pakket
sudo apt install firefox
APT scant automatisch welke afhankelijkheden ontbreken en installeert die tegelijkertijd.
Stappen: software installeren met DNF
Deze stappen gelden voor Fedora 40 en Rocky Linux 9 (DNF 4.14.0).Stap 1: Update de pakketindex
sudo dnf check-update
Dit controleert welke updates beschikbaar zijn.
Stap 2: Zoek naar een pakket
dnf search git
Stap 3: Installeer het pakket
sudo dnf install git
DNF lost afhankelijkheden automatisch op en bevestigt vóór installatie wat er wordt toegevoegd.
Stappen: software installeren met pacman
Deze stappen gelden voor Arch Linux (pacman 6.1.0).Stap 1: Synchroniseer de databases
sudo pacman -Sy
Stap 2: Installeer een pakket
sudo pacman -S htop
Stap 3: Update het hele systeem
sudo pacman -Syu
Dit combineert synchronisatie, update en installatie van nieuwe versies.
Stappen: software installeren met XBPS
Deze stappen gelden voor Void Linux (XBPS 0.59).Stap 1: Synchroniseer de repositories
sudo xbps-install -S
Stap 2: Installeer een pakket
sudo xbps-install vim
Stap 3: Update het systeem
sudo xbps-update
Verificatie
Controleer of de installatie gelukt is:which firefox
git --version
htop --version
vim --versionElk commando toont het pad of de versie van het geïnstalleerde programma.
Hoe pakketbeheer werkt
Wanneer je een installatiecommando geeft, raadpleegt het systeem een of meerdere repositories. Deze repositories bevatten een catalogus van beschikbare software met metadata zoals versienummers, beschrijvingen en afhankelijkheden. Het systeem scant automatisch welke afhankelijkheden ontbreken en installeert die mee. Dit voorkomt "dependency hell" — een situatie waarin software niet werkt omdat onderdelen ontbreken of incompatibel zijn.Daarnaast ondertekent het systeem pakketten met cryptografische sleutels. Alleen vertrouwde software wordt geïnstalleerd. Dit beschermt tegen vervuilde repositories of gecompromitteerde mirrors.
Updates en beveiliging
Updates zijn een kernfunctie van pakketbeheer. In plaats van handmatig nieuwe versies te downloaden, geef je één commando:sudo apt upgrade
sudo dnf upgrade
sudo pacman -Syu
sudo xbps-updateHet systeem vergelijkt de huidige installatie met de pakketbronnen en installeert nieuwe versies, met inachtneming van afhankelijkheden.
Veel beveiligingslekken worden opgelost via software-updates. Regelmatig bijwerken houdt een systeem beschermd tegen bekende kwetsbaarheden. Automatisering via cron-taken of systemd-timers maakt dit proces efficiënter.
Grafische tools
Voor minder ervaren gebruikers bestaan grafische interfaces. Ubuntu's Software Center en KDE's Discover bieden een klikbare omgeving om software te doorzoeken, installeren en verwijderen. Op de achtergrond gebruiken ze dezelfde systemen als APT of DNF.Pakketbeheer in containers
Pakketbeheer werkt ook binnen containers. Distrobox maakt het mogelijk om Linux-distributies als containers uit te voeren op bijvoorbeeld een Chromebook. Binnen elke container installeer je pakketten zoals in een regulier systeem, afhankelijk van de distributie die in de container draait. Kontainer, een grafische tool, beheert deze Distrobox-containers.Pakketbeheer op specifieke apparaten
De reMarkable tablet gebruikt pakketbeheer via reManager, een desktopapplicatie die de Vellum pakketmanager gebruikt om mods te beheren. Het biedt installeren, upgraden en verwijderen met automatische afhankelijkheidsresolutie. Dit toont aan dat pakketbeheer zich uitstrekt tot nicheapparatuur, waar het even belangrijk is voor stabiliteit.Pakketbeheer in ontwikkelomgevingen
Typesetter, een editor voor de Typst-opmaaktaal, heeft een ingebouwd pakketbeheersysteem voor Typst-pakketten. Typst combineert LaTeX en Markdown; pakketbeheer maakt het eenvoudig om sjablonen, stijlen of functies van anderen te gebruiken, vergelijkbaar met LaTeX-classes of Markdown-extensions.Pakketbeheer op macOS
Homebrew biedt vergelijkbare functionaliteit op macOS. Commando's zoals `brew install wget` of `brew upgrade` beheren software via de terminal. Hoewel macOS geen ingebouwd systeem heeft zoals Linux-distributies, toont Homebrew aan dat het concept universeel is in systeembeheer.Woordverwarring: pakketbeheer in de zorg
Het woord "pakketbeheer" heeft buiten de IT een andere betekenis. Het Zorginstituut Nederland gebruikt het voor uitspraken over welke zorg wel of niet wordt vergoed uit het basispakket van de zorgverzekering. Het instituut benoemt vier pakketcriteria: effectiviteit, kosteneffectiviteit, noodzakelijkheid en uitvoerbaarheid. Op 20 maart 2023 publiceerde het het rapport "Pakketbeheer in de praktijk 4" over de grenzen van de levenscyclus van zorg. Op 20 december 2023 presenteerde het het afwegingskader "Noodzakelijk te verzekeren zorg". De KNMP meldt dat codeïne het eerste product was waarop dit kader werd toegepast.Deze verwarring is relevant omdat hetzelfde woord totaal verschillende implicaties heeft. Voor dit artikel gaat het echter strikt over de technische betekenis: het beheren van softwarepakketten op Linux-systemen.
Pakketbronnen toevoegen
Soms heb je software nodig die niet in de standaard repositories staat. Voor APT voeg je een repository toe:sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt updateVoor DNF:
sudo dnf config-manager --add-repo https://example.com/repo.repo
Controleer altijd de betrouwbaarheid van externe repositories. Een onbeveiligde repository kan schadelijke pakketten leveren.
Pakketten verwijderen
Verwijderen werkt met dezelfde systemen:sudo apt remove firefox
sudo dnf remove git
sudo pacman -R htop
sudo xbps-remove vimAPT en DNF bieden ook opties om ongebruikte afhankelijkheden mee te verwijderen:
sudo apt autoremove
sudo dnf autoremove
Veelgestelde problemen
Probleem: "Unable to locate package" bij APT De pakketindex is verouderd of de repository mist. Voer `sudo apt update` uit. Staat het pakket er nog niet in, controleer dan of je de juiste repository hebt toegevoegd.Probleem: "Failed to download metadata for repo" bij DNF Netwerkprobleem of een onbereikbare mirror. Controleer de verbinding en probeer `sudo dnf clean all` gevolgd door `sudo dnf check-update`.
Probleem: "error: failed to commit transaction (conflicting files)" bij pacman Een bestand wordt door twee pakketten geleverd. Controleer welk pakket het bestand bezit met `pacman -Qo /pad/naar/bestand` en verwijder het conflicterende pakket.
Probleem: "Transaction aborted due to unresolved dependencies" bij XBPS Een afhankelijkheid ontbreekt of conflicteert. Voer `sudo xbps-install -S` uit om de repositories te synchroniseren en probeer opnieuw.
De kracht van pakketbeheer zit niet in de individuele commando's, maar in de consistentie die het systeem afdwingt — elke installatie, update en verwijdering verloopt volgens dezelfde regels, ongeacht of je een server, laptop of container beheert.