Ubuntu-pakketbeheer: APT en dpkg CheatSheet
Essentiële APT- en dpkg-commands voor Ubuntu-pakketten
Het pakketbeheersysteem van Ubuntu is de kern van softwareinstallatie en onderhoud, waardoor het essentieel is voor elke Linux-gebruiker of systeembeheerder.
Deze afbeelding is gegenereerd door AI model Flux 1 dev.
Wat is APT-pakketbeheer?
APT (Advanced Package Tool) is het primaire pakketbeheersysteem van Ubuntu, geërfd van Debian. Het is een krachtig commandoregelprogramma voor het installeren, updaten en verwijderen van softwarepakketten. APT lost automatisch afhankelijkheden op, verbindt met de officiële Ubuntu-repositories en is de traditionele methode voor het beheren van systeempakketten op Ubuntu en Debian-gebaseerde distributies. Als je nieuw bent op Ubuntu, raadpleeg dan onze gids over hoe je Ubuntu 24.04 installeert en nuttige tools om te beginnen met een goed geconfigureerd systeem.
Belangrijke kenmerken:
- Ingebouwd in Ubuntu/Debian: Ingebouwd, geen extra installatie vereist
- Gedeelde bibliotheken: Efficiënt gebruik van schijfruimte via gedeelde systeemafhankelijkheden
- Handmatige updates: Je beheerst wanneer pakketten worden bijgewerkt
- Geen sandboxing: Pakketten hebben volledige systeemtoegang (geschikt voor systeemtools)
- Lichtgewicht: Geen achtergronddaemon, draait alleen wanneer aangeroepen
- Volwassen ecosysteem: Decennia van ontwikkeling, extreem stabiel
Pakketbeheer vergelijking
Ubuntu ondersteunt meerdere pakketbeheersystemen. Hieronder vind je hoe de belangrijkste bewerkingen vergelijken:
| Bewerking | APT | Snap | Flatpak |
|---|---|---|---|
| Zoeken | apt search keyword |
snap find keyword |
flatpak search keyword |
| Installeren | sudo apt install package |
sudo snap install package |
flatpak install flathub app.id |
| Lijst met geïnstalleerde pakketten | apt list --installed |
snap list |
flatpak list --app |
| Informatie tonen | apt show package |
snap info package |
flatpak info app.id |
| Alle bijwerken | sudo apt update && sudo apt upgrade |
sudo snap refresh |
flatpak update |
| Eén bijwerken | sudo apt install --only-upgrade pkg |
sudo snap refresh package |
flatpak update app.id |
| Verwijderen | sudo apt remove package |
sudo snap remove package |
flatpak uninstall app.id |
| Opschonen | sudo apt autoremove |
snap remove --revision=N |
flatpak uninstall --unused |
| Repository | /etc/apt/sources.list |
Snap Store (ingebouwd) | Voeg toe met flatpak remote-add |
Snel kenmerkenoverzicht
| Kenmerk | APT | Snap | Flatpak |
|---|---|---|---|
| Automatische updates | Nee | Ja | Nee |
| Sandboxing | Nee | Ja | Ja |
| Afhankelijkheden | Systeembibliotheken | Gebundeld | Gedeelde runtime |
| Pakketgrootte | Klein (5-50MB) | Groot (50-500MB) | Gemiddeld (20-200MB) |
| Root vereist | Ja | Ja | Nee (gebruikersinstallatie) |
| Startsnelheid | Snel | Langzamer | Snel |
| Beste voor | Systeempakketten | Universele apps | Desktopapps |
Over deze gids
Deze gids richt zich op APT (apt/apt-get/dpkg) - het traditionele pakketbeheersysteem van Ubuntu. APT is essentieel voor het beheren van systeempakketten, bibliotheken en services op Ubuntu en Debian-gebaseerde systemen.
Voor andere pakketbeheersystemen:
- 📦 Snap Pakketbeheer Gids - Universele pakketten met automatische updates en sandboxing
- 📦 Flatpak Pakketbeheer Gids - Cross-distro desktopapplicaties met granulaire toegang
Elk pakketbeheersysteem heeft zijn eigen sterktes. Gebruik APT voor systeempakketten en afhankelijkheden, Snap voor cross-versie compatibiliteit en automatische updates, en Flatpak voor desktopapplicaties met fijngevoelige toegang.
APT-pakketbeheer - Gedetailleerde gids
Begrijpen van APT versus apt-get
APT (apt) - Moderne keuze
Ingevoerd in Ubuntu 14.04, combineert apt functies van apt-get en apt-cache met een verbeterde gebruikerservaring:
Voordelen:
- Vooruitgangsbalken en gekleurde uitvoer
- Intuïtieve opdrachten
- Leesbaardere uitvoer voor mensen
- Combineert meerdere toolfunctionaliteit
Wanneer gebruiken: Dagelijks interactieve commandoregelbewerkingen
apt-get - Traditionele keuze
Het originele pakketbeheerprogramma, nog steeds veel gebruikt:
Voordelen:
- Stabielere API (beter voor scripts)
- Ondersteuning voor oude systemen
- Voorspelbare uitvoerindeling
- Fijnere controle
Wanneer gebruiken: Shellscripts, automatisering, legacy-systemen
Pro Tip: Voor snellere terminalnavigatie en werkstroomefficiëntie, raadpleeg onze Ubuntu toetsenbordkortingen gids om je productiviteit te verhogen terwijl je pakketten beheert.
Essentiële pakketbeheeropdrachten
Pakketlijsten bijwerken
Bijwerken van pakketlijsten altijd voordat je installeert of bijwerkt:
# Pakketindex bijwerken
sudo apt update
# Of met apt-get
sudo apt-get update
Deze opdracht vernieuwt de lokale database met informatie over beschikbare pakketten en hun versies van geconfigureerde repositories.
Pakketten installeren
Basisinstallatie:
# Een enkel pakket installeren
sudo apt install package-name
# Meerdere pakketten installeren
sudo apt install package1 package2 package3
# Specifieke versie installeren
sudo apt install package-name=version-number
Voorbeelden:
# Nginx webserver installeren
sudo apt install nginx
# Python en pip installeren
sudo apt install python3 python3-pip
# Build essentials installeren
sudo apt install build-essential
# Systeemonitoringstools installeren
sudo apt install htop
Voor gespecialiseerde monitoringbehoeften, zoals het volgen van GPU-prestaties op systemen met NVIDIA-kaarten, raadpleeg onze gids over GPU-monitoringapplicaties in Linux/Ubuntu.
Installeer zonder prompts (handig voor scripts):
sudo apt install -y package-name
# Of
sudo DEBIAN_FRONTEND=noninteractive apt install -y package-name
Installeer vanuit .deb-bestand:
# Methode 1: Gebruik apt (aangeraden, verwerkt afhankelijkheden)
sudo apt install ./package.deb
# Methode 2: Gebruik dpkg
sudo dpkg -i package.deb
sudo apt install -f # Fix ontbrekende afhankelijkheden
Opmerking: Bij het werken met gedownloade .deb-bestanden, wil je mogelijk een bestandsbeheerder met een goede contextmenu gebruiken. Bekijk onze vergelijking van bestandsbeheerders voor Ubuntu 24.04 (Nautilus vs Nemo vs Dolphin vs Caja) om er één te vinden die bij je werkstroom past.
Pakketten bijwerken
Bijwerken van geïnstalleerde pakketten:
# Alle pakketten bijwerken (veilig, verwijdert geen pakketten)
sudo apt upgrade
# Specifiek pakket bijwerken
sudo apt install --only-upgrade package-name
# Volledige bijwerking (kan pakketten verwijderen om afhankelijkheden op te lossen)
sudo apt full-upgrade
# Distributiebijwerking (voor grote versie-updates)
sudo apt dist-upgrade
Volledige bijwerkbewerking:
# Aanbevolen bijwerkbewerking
sudo apt update
sudo apt upgrade -y
sudo apt autoremove
sudo apt autoclean
Ubuntu-versie bijwerken:
# Voor LTS naar volgende LTS
sudo do-release-upgrade
# Voor elke versie-upgrade
sudo do-release-upgrade -d
Lijsten met pakketten
Lijst met geïnstalleerde pakketten:
# Alle geïnstalleerde pakketten
apt list --installed
# Met grep-filter
apt list --installed | grep package-name
# Aantal geïnstalleerde pakketten
apt list --installed | wc -l
# Gebruik dpkg
dpkg -l
dpkg --list
dpkg -l | grep package-name
Lijst met bij te werken pakketten:
# Pakketten met beschikbare updates tonen
apt list --upgradable
# Gedetailleerde upgrade simulatie
apt list --upgradable -a
Lijst met alle beschikbare pakketten:
# Alle pakketten in repositories
apt list
# Lijst van specifieke repository
apt list | grep "source-name"
Zoeken naar pakketten
Zoek pakketnamen en beschrijvingen:
# Zoek met apt
apt search keyword
# Niet-gevoelige zoekopdracht
apt search -i keyword
# Alleen pakketnamen tonen
apt-cache search keyword
# Alleen pakketnamen zoeken (snel)
apt-cache search --names-only keyword
Voorbeelden:
# Zoek naar editor
apt search text editor
# Zoek naar database
apt search database
# Zoek naar Python-pakketten
apt search python | grep python3
Pakketinformatie bekijken
Gedetailleerde pakketinformatie:
# Pakketdetails tonen
apt show package-name
# Gebruik apt-cache
apt-cache show package-name
# Pakketafhankelijkheden tonen
apt-cache depends package-name
# Omgekeerde afhankelijkheden tonen
apt-cache rdepends package-name
# Pakketbeleid en versies controleren
apt-cache policy package-name
# Pakketstatistieken tonen
apt-cache stats
Controleer of pakket geïnstalleerd is:
# Methode 1
dpkg -s package-name
# Methode 2
dpkg -l package-name
# Methode 3
apt list --installed package-name
# Methode 4 (uitvoercode 0 als geïnstalleerd)
dpkg-query -W package-name
Pakketten verwijderen
Verwijder pakketten:
# Pakket verwijderen (configuratiebestanden behouden)
sudo apt remove package-name
# Pakket en configuratiebestanden verwijderen (verwijderen)
sudo apt purge package-name
# Verwijder met afhankelijkheden
sudo apt autoremove package-name
# Pakket en configuraties volledig verwijderen
sudo apt purge package-name && sudo apt autoremove
Systeem opschonen:
# Ongebruikte afhankelijkheden verwijderen
sudo apt autoremove
# Met verwijderen
sudo apt autoremove --purge
# Gedownloade pakketbestanden verwijderen
sudo apt clean
# Oude versies van pakketten verwijderen
sudo apt autoclean
Schijfruimte gebruiken controleren:
# Cache grootte controleren
du -sh /var/cache/apt/archives
# Totale pakketgrootte controleren
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n
Pakketbeperkingen (Upgrade voorkomen)
Pakketten beperken:
# Pakket op huidige versie beperken
sudo apt-mark hold package-name
# Pakket onbeperken
sudo apt-mark unhold package-name
# Beperkte pakketten tonen
apt-mark showhold
# Meerdere pakketten beperken
sudo apt-mark hold package1 package2 package3
Gebruiksscenario: Voorkom dat specifieke softwareversies automatisch worden bijgewerkt.
Gebruik van dpkg - Laag niveau pakkettool
dpkg is de onderliggende pakketbeheerder die APT gebruikt:
Basis dpkg-opdrachten:
# Pakket installeren
sudo dpkg -i package.deb
# Pakket verwijderen
sudo dpkg -r package-name
# Pakket verwijderen
sudo dpkg -P package-name
# Geïnstalleerde pakketten lijst
dpkg -l
# Bestanden in pakket lijst
dpkg -L package-name
# Bepaal welk pakket een bestand bevat
dpkg -S /path/to/file
# Pakketstatus controleren
dpkg -s package-name
# Pakket opnieuw configureren
sudo dpkg-reconfigure package-name
# Pakketintegriteit controleren
dpkg -V package-name
Gebroken pakketten herstellen:
# Gebroken pakketten opnieuw configureren
sudo dpkg --configure -a
# Ontbrekende afhankelijkheden herstellen
sudo apt install -f
# Krachtig opnieuw installeren
sudo apt install --reinstall package-name
Repositorybeheer
Repository’s bekijken
Bekijk geconfigureerde repositories:
# Bekijk sources list
cat /etc/apt/sources.list
# Bekijk extra sources
ls /etc/apt/sources.list.d/
# Bekijk alle ingeschakelde repos
grep -r --include '*.list' '^deb ' /etc/apt/
Repository’s toevoegen
PPA (Personal Package Archive) toevoegen:
# PPA-repository toevoegen
sudo add-apt-repository ppa:user/ppa-name
sudo apt update
# Voorbeeld: Git PPA toevoegen
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
Repository handmatig toevoegen:
# Repository toevoegen aan sources.list
echo "deb http://repository-url distribution component" | sudo tee -a /etc/apt/sources.list.d/custom.list
# GPG-sleutel toevoegen
wget -qO - https://example.com/key.gpg | sudo apt-key add -
# Pakketlijsten bijwerken
sudo apt update
Moderne sleutelbeheer (Ubuntu 22.04+):
# Sleutel downloaden en toevoegen aan sleutelring
wget -qO - https://example.com/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/custom.gpg
# Ongeschreven repository toevoegen
echo "deb [signed-by=/etc/apt/keyrings/custom.gpg] http://repo-url dist component" | sudo tee /etc/apt/sources.list.d/custom.list
Repository’s verwijderen
# PPA verwijderen
sudo add-apt-repository --remove ppa:user/ppa-name
# Of het list-bestand verwijderen
sudo rm /etc/apt/sources.list.d/ppa-name.list
# Bijwerken
sudo apt update
Alternatieve pakketbeheerders
Ubuntu ondersteunt ook Snap en Flatpak voor universele applicatieverpakking:
-
Snap: Bekijk onze uitgebreide Snap Pakketbeheer Gids voor gedetailleerde informatie over installatie, gebruik, kanalen, beperkingen en probleemoplossing.
-
Flatpak: Bekijk onze uitgebreide Flatpak Pakketbeheer Gids voor gedetailleerde informatie over installatie, Flathub, toegang, runtime en beheer.
Geavanceerd pakketbeheer
Bewerkingen simuleren (droog loop)
# Installatie simuleren
apt install -s package-name
# Upgrade simuleren
apt upgrade -s
# Wat zou worden geïnstalleerd tonen
apt-cache showpkg package-name
Pakketten downloaden zonder installeren
# Pakket alleen downloaden
apt download package-name
# Met afhankelijkheden downloaden
apt install --download-only package-name
# Naar specifieke map downloaden
cd /path/to/dir
apt download package-name
Pakketbestanden vinden
# Welk pakket een bestand levert
dpkg -S /path/to/file
# Bestanden in pakketten zoeken (inclusief niet geïnstalleerde)
apt-file search filename
# Installeer apt-file eerst
sudo apt install apt-file
sudo apt-file update
Pakketbeperkingen
Maak /etc/apt/preferences aan om pakketversies te beheren:
# Pakket beperken tot specifieke versie
sudo nano /etc/apt/preferences
Voeg toe:
Package: package-name
Pin: version 1.2.3*
Pin-Priority: 1001
Pakketvulnerabiliteiten controleren
# Controleer op beveiligingsupdates
sudo apt list --upgradable | grep security
# Controleer specifiek pakket op CVE's
apt-cache policy package-name
Probleemoplossing van veelvoorkomende problemen
Gebroken pakketten herstellen
# Methode 1: Afhankelijkheden herstellen
sudo apt install -f
# Methode 2: Pakketten opnieuw configureren
sudo dpkg --configure -a
# Methode 3: Opschonen en bijwerken
sudo apt clean
sudo apt update
sudo apt upgrade
# Methode 4: Krachtig herstellen
sudo apt --fix-broken install
“Geblokkeerd” database herstellen
# Lockbestanden verwijderen (alleen als geen apt-proces actief is!)
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a
Controleer eerst op lopende processen:
ps aux | grep -i apt
sudo lsof /var/lib/dpkg/lock-frontend
Hashsomfoutmelding
# Cache opschonen en opnieuw proberen
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
GPG/sleutel fouten
# Sleutel opnieuw toevoegen
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID
# Of sleutel downloaden
wget -qO - https://repo-url/key.gpg | sudo apt-key add -
# Moderne aanpak (Ubuntu 22.04+)
wget -qO - https://repo-url/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/repo.gpg
Niet vervulde afhankelijkheden
# Probeer aptitude (beter afhankelijkheidssolver)
sudo apt install aptitude
sudo aptitude install package-name
# Of handmatige oplossing
sudo apt install package-name package-dependency
Repository niet gevonden (404)
# Update naar correcte repository
sudo nano /etc/apt/sources.list
# Oude release naam veranderen naar huidige
# Of verouderde PPA verwijderen
sudo add-apt-repository --remove ppa:name/ppa
Beste praktijken
Regelmatig onderhoud
Wekelijks routine:
#!/bin/bash
# Systeemupdate script
echo "Pakketlijsten bijwerken.."
sudo apt update
echo "Pakketten bijwerken.."
sudo apt upgrade -y
echo "Ongebruikte pakketten verwijderen.."
sudo apt autoremove -y
echo "Pakketcache opschonen.."
sudo apt autoclean
echo "Bijwerking voltooid!"
Beveiligingsupdates
Automatische updates voor beveiligingspatches:
# Installeer unattended-upgrades
sudo apt install unattended-upgrades
# Configureer
sudo dpkg-reconfigure unattended-upgrades
# Bewerk configuratie
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Serverconfiguratie: Als je Ubuntu Server beheert, is correcte netwerkconfiguratie essentieel voor betrouwbare pakketdownloads en systeemupdates. Leer hoe je een statisch IP-adres wijzigt in Ubuntu Server om stabiele verbinding te garanderen voor je pakketbeheerbewerkingen.
Pakketlijst back-up
Exporteer geïnstalleerde pakketten:
# Back-up maken
dpkg --get-selections > ~/package-list.txt
# Of met expliciete geïnstalleerde pakketten
apt-mark showmanual > ~/manually-installed.txt
# Herstel op een ander systeem
sudo dpkg --set-selections < ~/package-list.txt
sudo apt-get dselect-upgrade
Systeemgezondheid controleren
# Controleer op gebroken afhankelijkheden
sudo apt check
# Controleer alle pakketten
sudo debsums -c
# Controleer systeemlogboeken
journalctl -xe | grep -i apt
tail -f /var/log/apt/history.log
Prestatieoptimalisatie
Snellere pakketdownloads
Schakel parallel downloads in:
Bewerk /etc/apt/apt.conf.d/99parallel:
echo 'Acquire::Queue-Mode "host";' | sudo tee /etc/apt/apt.conf.d/99parallel
echo 'Acquire::http::Pipeline-Depth "5";' | sudo tee -a /etc/apt/apt.conf.d/99parallel
Gebruik snelste mirror:
# Installeer apt-fast
sudo add-apt-repository ppa:apt-fast/stable
sudo apt update
sudo apt install apt-fast
# Gebruik apt-fast in plaats van apt
sudo apt-fast install package-name
Cache grootte verminderen
# Beperk cache tot 100MB
echo 'APT::Archives::MaxSize "100";' | sudo tee /etc/apt/apt.conf.d/99max-cache
Nuttige pakketbeheerscripts
Update alle pakketbeheersystemen
#!/bin/bash
# Update alle pakketbeheersystemen
echo "=== APT Update ==="
sudo apt update && sudo apt upgrade -y
echo "=== Snap Update ==="
sudo snap refresh
echo "=== Flatpak Update ==="
flatpak update -y
echo "Alle systemen bijgewerkt!"
Grote pakketten vinden
# Lijst met grootste geïnstalleerde pakketten
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20
# Of leesbaardere indeling
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20 | awk '{printf "%.2f MB\t%s\n", $1/1024, $2}'
Pakketaudit
#!/bin/bash
# Pakketbeheersysteem audit
echo "=== Systeempakketstatistieken ==="
echo "Geïnstalleerde pakketten: $(dpkg -l | grep ^ii | wc -l)"
echo "Bij te werken pakketten: $(apt list --upgradable 2>/dev/null | grep -c upgradable)"
echo "Beperkte pakketten: $(apt-mark showhold | wc -l)"
echo "Automatisch verwijderbaar: $(apt autoremove --dry-run | grep -Po '^\d+')"
echo "Cache grootte: $(du -sh /var/cache/apt/archives | cut -f1)"
Snelkoppelingen gids
Essentiële opdrachten:
# Bijwerken & upgrade
sudo apt update && sudo apt upgrade -y
# Pakket installeren
sudo apt install package-name
# Pakket verwijderen
sudo apt remove package-name
# Pakket zoeken
apt search keyword
# Pakketinformatie tonen
apt show package-name
# Lijst met geïnstalleerde
apt list --installed
# Systeem opschonen
sudo apt autoremove && sudo apt autoclean
# Gebroken pakketten herstellen
sudo apt install -f && sudo dpkg --configure -a
Conclusie
Het beheer van het pakketbeheersysteem van Ubuntu is essentieel voor efficiënt systeembeheer. Of je nu de moderne apt-opdracht gebruikt voor interactieve sessies, apt-get voor scripts of universele pakketten verkent met Snap en Flatpak, het begrijpen van deze tools helpt je bij het onderhouden van een veilig, up-to-date en goed georganiseerd Ubuntu-systeem.
Begin met de basisopdrachten, voeg geleidelijk geavanceerde technieken toe en houd je systeem altijd bijgewerkt. Regelmatig onderhoud, gecombineerd met beste praktijken, garandeert een soepele en betrouwbare Ubuntu-ervaring.
Pro Tip: Voer altijd sudo apt update uit voordat je pakketten installeert of bijwerkt om ervoor te zorgen dat je werkt met de nieuwste pakketinformatie!
Nuttige links
- Officiële Ubuntu-documentatie
- APT-gebruikersgids
- Ubuntu-pakketzoekopdracht
- Snap Store
- Flathub-repository
- Debian Administrators Handbook
- Ubuntu Server Guide
- man pages:
man apt,man apt-get,man dpkg