Ubuntu-pakethantering: APT och dpkg snabbguide

Viktiga APT- och dpkg-kommandon för Ubuntu-paket

Ubuntu’s pakethanteringssystem (https://www.glukhov.org/sv/post/2025/11/listing-installing-upgrading-packages-in-ubuntu-with-apt/ “Ubuntu’s pakethanteringssystem”) är ryggraden för programinstallation och underhåll, vilket gör det till grundläggande kunskap för varje Linux-användare eller systemadministratör.

tetris Denna bild är genererad av AI-modellen Flux 1 dev.

Vad är APT-pakethantering?

APT (Advanced Package Tool) är Ubuntu’s primära pakethanteringssystem, ärvt från Debian. Det är ett kraftfullt kommandoradsverktyg för installation, uppgradering och borttagning av programpaket. APT hanterar beroendeuppfyllelse automatiskt, ansluter till Ubuntu’s officiella repositoryer och är den traditionella metoden för att hantera systempaket på Ubuntu och Debian-baserade distributioner. Om du är ny på Ubuntu, kolla in vår guide om hur man installerar Ubuntu 24.04 och användbara verktyg för att komma igång med ett korrekt konfigurerat system.

Nyckelkarakteristika:

  • Naturligt för Ubuntu/Debian: Inbyggt, ingen extra installation behövs
  • Delade bibliotek: Effektiv diskanvändning genom delade systemberoenden
  • Manuella uppdateringar: Du kontrollerar när paket uppdateras
  • Ingen sandboxning: Paket har full systemåtkomst (lämpligt för systemverktyg)
  • Lättviktigt: Ingen bakgrundsdemon, körs endast när den anropas
  • Moget ekosystem: Decennier av utveckling, extremt stabilt

Pakethanterare jämförelse

Ubuntu stöder flera pakethanteringssystem. Här är hur de huvudsakliga operationerna jämförs:

Operation APT Snap Flatpak
Sök apt search keyword snap find keyword flatpak search keyword
Installera sudo apt install package sudo snap install package flatpak install flathub app.id
Lista installerade apt list --installed snap list flatpak list --app
Visa info apt show package snap info package flatpak info app.id
Uppdatera alla sudo apt update && sudo apt upgrade sudo snap refresh flatpak update
Uppdatera enskilt sudo apt install --only-upgrade pkg sudo snap refresh package flatpak update app.id
Ta bort sudo apt remove package sudo snap remove package flatpak uninstall app.id
Rensa upp sudo apt autoremove snap remove --revision=N flatpak uninstall --unused
Repository /etc/apt/sources.list Snap Store (inbyggt) Lägg till med flatpak remote-add

Snabb funktion jämförelse

Funktion APT Snap Flatpak
Automatiska uppdateringar Nej Ja Nej
Sandboxning Nej Ja Ja
Beroenden Systembibliotek Bundlade Delade runtime-miljöer
Paketstorlek Liten (5-50MB) Stor (50-500MB) Medel (20-200MB)
Root behövs Ja Ja Nej (användarinstallation)
Startupplevelse Snabb Långsammare Snabb
Bäst för Systempaket Universella appar Skrivbordsappar

Om denna guide

Denna guide fokuserar på APT (apt/apt-get/dpkg) - Ubuntu’s traditionella pakethanteringssystem. APT är essentiellt för att hantera systempaket, bibliotek och tjänster på Ubuntu och Debian-baserade system.

För andra pakethanterare:

Varje pakethanterare har sina styrkor. Använd APT för systempaket och beroenden, Snap för tvärversionskompatibilitet och auto-uppdateringar, och Flatpak för skrivbordsprogram med finjusterade behörigheter.


APT Pakethantering - Detaljerad guide

Förstå APT vs apt-get

APT (apt) - Modernt val

Introducerad i Ubuntu 14.04, kombinerar apt funktioner från apt-get och apt-cache med förbättrad användarupplevelse:

Fördelar:

  • Fortgångsindikatorer och färgad utdata
  • Mer intuitiva kommandon
  • Renare utdata för mänsklig läsbarhet
  • Kombinerar flera verktygsfunktioner

När man ska använda: Dagliga interaktiva kommandoradsoperationer

apt-get - Traditionellt val

Det ursprungliga pakethanteringsverktyget, fortfarande vida använd:

Fördelar:

  • Mer stabil API (bättre för skript)
  • Bakåtkompatibilitet
  • Förutsägbar utdataformat
  • Mer detaljerad kontroll

När man ska använda: Skript, automatisering, äldre system

Pro Tip: För snabbare terminalnavigering och arbetsflödeseffektivitet, kolla in vår Ubuntu tangentbordsgenvägscheat för att öka din produktivitet när du hanterar paket.

Grundläggande pakethanteringskommandon

Uppdatera paketlistor

Uppdatera alltid paketlistor innan installation eller uppgradering:

# Uppdatera paketindex
sudo apt update

# Eller med apt-get
sudo apt-get update

Detta kommando uppdaterar den lokala databasen med information om tillgängliga paket och deras versioner från konfigurerade repositoryer.

Installera paket

Grundläggande installation:

# Installera ett paket
sudo apt install paketnamn

# Installera flera paket
sudo apt install paket1 paket2 paket3

# Installera specifik version
sudo apt install paketnamn=versionsnummer

Exempel:

# Installera Nginx webbserver
sudo apt install nginx

# Installera Python och pip
sudo apt install python3 python3-pip

# Installera byggverktyg
sudo apt install build-essential

# Installera systemövervakningsverktyg
sudo apt install htop

För specialiserade övervakningsbehov, såsom spårning av GPU-prestanda på system med NVIDIA-kort, kolla in vår guide om GPU-övervakningsprogram i Linux/Ubuntu.

Installera utan promptar (användbart för skript):

sudo apt install -y paketnamn

# Eller
sudo DEBIAN_FRONTEND=noninteractive apt install -y paketnamn

Installera från .deb fil:

# Metod 1: Använda apt (rekommenderas, hanterar beroenden)
sudo apt install ./paket.deb

# Metod 2: Använda dpkg
sudo dpkg -i paket.deb
sudo apt install -f  # Åtgärda saknade beroenden

Anteckning: När du arbetar med nedladdade .deb-filer, kan du vilja använda en filhanterare med ett bra kontextmeny. Se vår jämförelse av filhanterare för Ubuntu 24.04 (Nautilus vs Nemo vs Dolphin vs Caja) för att hitta en som passar ditt arbetsflöde.

Uppgradera paket

Uppgradera installerade paket:

# Uppgradera alla paket (säkert, tar inte bort paket)
sudo apt upgrade

# Uppgradera specifikt paket
sudo apt install --only-upgrade paketnamn

# Fullständig uppgradering (kan ta bort paket för att lösa beroenden)
sudo apt full-upgrade

# Distributionsuppgradering (för majorversioner)
sudo apt dist-upgrade

Fullständig uppgraderingssekvens:

# Rekommenderad uppgraderingsprocedur
sudo apt update
sudo apt upgrade -y
sudo apt autoremove
sudo apt autoclean

Uppgradera Ubuntu-version:

# För LTS till nästa LTS
sudo do-release-upgrade

# För vilken version som helst
sudo do-release-upgrade -d

Lista paket

Lista installerade paket:

# Alla installerade paket
apt list --installed

# Med grep-filter
apt list --installed | grep paketnamn

# Räkna installerade paket
apt list --installed | wc -l

# Använda dpkg
dpkg -l
dpkg --list
dpkg -l | grep paketnamn

Lista uppgraderbara paket:

# Visa paket med tillgängliga uppdateringar
apt list --upgradable

# Detaljerad uppgraderingssimulering
apt list --upgradable -a

Lista alla tillgängliga paket:

# Alla paket i repositoryer
apt list

# Lista från specifikt repository
apt list | grep "källnamn"

Sök efter paket

Sök paketnamn och beskrivningar:

# Sök med apt
apt search sökord

# Case-insensitive sökning
apt search -i sökord

# Visa endast paketnamn
apt-cache search sökord

# Sök endast paketnamn (snabbare)
apt-cache search --names-only sökord

Exempel:

# Sök efter editor
apt search text editor

# Sök efter databas
apt search database

# Sök efter Python-paket
apt search python | grep python3

Visa paketinformation

Detaljerad paketinformation:

# Visa paketdetaljer
apt show paketnamn

# Använda apt-cache
apt-cache show paketnamn

# Visa paketberoenden
apt-cache depends paketnamn

# Visa omvända beroenden
apt-cache rdepends paketnamn

# Kontrollera paketpolicy och versioner
apt-cache policy paketnamn

# Visa paketstatistik
apt-cache stats

Kontrollera om paket är installerat:

# Metod 1
dpkg -s paketnamn

# Metod 2
dpkg -l paketnamn

# Metod 3
apt list --installed paketnamn

# Metod 4 (exitkod 0 om installerat)
dpkg-query -W paketnamn

Ta bort paket

Ta bort paket:

# Ta bort paket (behåll konfigureringsfiler)
sudo apt remove paketnamn

# Ta bort paket och konfigureringsfiler (rensa)
sudo apt purge paketnamn

# Ta bort med beroenden
sudo apt autoremove paketnamn

# Ta helt bort paket och konfigurationer
sudo apt purge paketnamn && sudo apt autoremove

Rensa upp system:

# Ta bort oanvända beroenden
sudo apt autoremove

# Ta bort med rensa
sudo apt autoremove --purge

# Ta bort nedladdade paketfiler
sudo apt clean

# Ta bort gamla versioner av paket
sudo apt autoclean

Kontrollera diskanvändning:

# Kontrollera cache-storlek
du -sh /var/cache/apt/archives

# Kontrollera total paketstorlek
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

Pakethåll (förhindra uppgraderingar)

Håll paket:

# Håll paket på aktuell version
sudo apt-mark hold paketnamn

# Ta bort håll
sudo apt-mark unhold paketnamn

# Visa hållna paket
apt-mark showhold

# Håll flera paket
sudo apt-mark hold paket1 paket2 paket3

Användningsområde: Förhindra att specifika programversioner uppgraderas automatiskt.

Användning av dpkg - Lågnivåspakethanterare

dpkg är den underliggande pakethanteraren som APT använder:

Grundläggande dpkg-kommandon:

# Installera paket
sudo dpkg -i package.deb

# Ta bort paket
sudo dpkg -r package-name

# Rensa paket
sudo dpkg -P package-name

# Lista installerade paket
dpkg -l

# Lista filer i paket
dpkg -L package-name

# Hitta vilket paket som äger en fil
dpkg -S /path/to/file

# Kontrollera paketstatus
dpkg -s package-name

# Konfigurera om paket
sudo dpkg-reconfigure package-name

# Verifiera paketintegritet
dpkg -V package-name

Laga skadade paket:

# Konfigurera om skadade paket
sudo dpkg --configure -a

# Laga saknade beroenden
sudo apt install -f

# Tvinga ominstallation
sudo apt install --reinstall package-name

Repositoryhantering

Visning av repositories

Kontrollera konfigurerade repositories:

# Visa källlista
cat /etc/apt/sources.list

# Visa ytterligare källor
ls /etc/apt/sources.list.d/

# Visa alla aktiverade repos
grep -r --include '*.list' '^deb ' /etc/apt/

Lägga till repositories

Lägg till PPA (Personal Package Archive):

# Lägg till PPA-repository
sudo add-apt-repository ppa:user/ppa-name
sudo apt update

# Exempel: Lägg till Git PPA
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git

Lägg till repository manuellt:

# Lägg till repository till sources.list
echo "deb http://repository-url distribution component" | sudo tee -a /etc/apt/sources.list.d/custom.list

# Lägg till GPG-nyckel
wget -qO - https://example.com/key.gpg | sudo apt-key add -

# Uppdatera paketlistor
sudo apt update

Modern nyckelhantering (Ubuntu 22.04+):

# Ladda ner och lägg till nyckel till keyring
wget -qO - https://example.com/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/custom.gpg

# Lägg till signerat repository
echo "deb [signed-by=/etc/apt/keyrings/custom.gpg] http://repo-url dist component" | sudo tee /etc/apt/sources.list.d/custom.list

Ta bort repositories

# Ta bort PPA
sudo add-apt-repository --remove ppa:user/ppa-name

# Eller ta bort listfilen
sudo rm /etc/apt/sources.list.d/ppa-name.list

# Uppdatera
sudo apt update

Alternativa pakethanterare

Ubuntu stöder också Snap och Flatpak för universell applikationspaketering:

  • Snap: Se vår omfattande Snap Package Manager Guide för detaljerad information om installation, användning, kanaler, begränsningar och felsökning.

  • Flatpak: Se vår omfattande Flatpak Package Manager Guide för detaljerad information om installation, Flathub, behörigheter, runtime och hantering.

Avancerad pakethantering

Simulera operationer (Dry Run)

# Simulera installation
apt install -s package-name

# Simulera uppgradering
apt upgrade -s

# Visa vad som skulle installeras
apt-cache showpkg package-name

Ladda ner paket utan installation

# Ladda ner endast paket
apt download package-name

# Ladda ner med beroenden
apt install --download-only package-name

# Ladda ner till specifik katalog
cd /path/to/dir
apt download package-name

Hitta paketfiler

# Vilket paket tillhandahåller en fil
dpkg -S /path/to/file

# Sök efter filer i paket (inklusive icke-installerade)
apt-file search filename

# Installera apt-file först
sudo apt install apt-file
sudo apt-file update

Paketpinning

Skapa /etc/apt/preferences för att kontrollera paketversioner:

# Pinna paket till specifik version
sudo nano /etc/apt/preferences

Lägg till:

Package: package-name
Pin: version 1.2.3*
Pin-Priority: 1001

Kontrollera paketsäkerhetsrisker

# Kontrollera säkerhetsuppdateringar
sudo apt list --upgradable | grep security

# Kontrollera specifikt paket för CVEs
apt-cache policy package-name

Felsökning av vanliga problem

Laga skadade paket

# Metod 1: Laga beroenden
sudo apt install -f

# Metod 2: Konfigurera om paket
sudo dpkg --configure -a

# Metod 3: Rensa och uppdatera
sudo apt clean
sudo apt update
sudo apt upgrade

# Metod 4: Tvinga lagning
sudo apt --fix-broken install

Laga “låst” databas

# Ta bort låsfilerna (endast om inga apt-processer körs!)
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a

Kontrollera för körande processer först:

ps aux | grep -i apt
sudo lsof /var/lib/dpkg/lock-frontend

Hash Sum Mismatch-fel

# Rensa cache och försök igen
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update

GPG/Nyckelfel

# Lägg till nyckel igen
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID

# Eller ladda ner nyckel
wget -qO - https://repo-url/key.gpg | sudo apt-key add -

# Modern metod (Ubuntu 22.04+)
wget -qO - https://repo-url/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/repo.gpg

Ej uppfyllda beroenden

# Försök aptitude (bättre beroendelösare)
sudo apt install aptitude
sudo aptitude install package-name

# Eller manuell lösning
sudo apt install package-name package-dependency

Repository hittades inte (404)

# Uppdatera till korrekt repository
sudo nano /etc/apt/sources.list

# Ändra gammalt utgivningsnamn till aktuellt
# Eller ta bort föråldrad PPA
sudo add-apt-repository --remove ppa:name/ppa

Bäst praxis

Reguljär underhåll

Veckorutin:

#!/bin/bash
# Systemuppdateringsskript

echo "Uppdaterar paketlistor..."
sudo apt update

echo "Uppgraderar paket..."
sudo apt upgrade -y

echo "Tar bort onödiga paket..."
sudo apt autoremove -y

echo "Rensar paketcache..."
sudo apt autoclean

echo "Uppdatering klar!"

Säkerhetsuppdateringar

Auto-uppdateringar för säkerhetsuppdateringar:

# Installera unattended-upgrades
sudo apt install unattended-upgrades

# Konfigurera
sudo dpkg-reconfigure unattended-upgrades

# Redigera konfiguration
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Serverkonfiguration: Om du hanterar Ubuntu Server är korrekt nätverkskonfiguration avgörande för pålitliga pakethämtningar och systemuppdateringar. Lär dig hur man ändrar en statisk IP-adress i Ubuntu Server för att säkerställa stabil anslutning för dina pakethanteringsoperationer.

Backup av paketlista

Exportera installerade paket:

# Skapa backup
dpkg --get-selections > ~/package-list.txt

# Eller med explicita installerade paket
apt-mark showmanual > ~/manually-installed.txt

# Återställ på annat system
sudo dpkg --set-selections < ~/package-list.txt
sudo apt-get dselect-upgrade

Kontrollera systemhälsa

# Kontrollera för skadade beroenden
sudo apt check

# Verifiera alla paket
sudo debsums -c

# Kontrollera systemloggar
journalctl -xe | grep -i apt
tail -f /var/log/apt/history.log

Prestandaoptimering

Snabbare pakethämtningar

Aktivera parallella hämtningar:

Redigera /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

Använd snabbast spegel:

# Installera apt-fast
sudo add-apt-repository ppa:apt-fast/stable
sudo apt update
sudo apt install apt-fast

# Använd apt-fast istället för apt
sudo apt-fast install package-name

Minska cache-storlek

# Begränsa cache till 100MB
echo 'APT::Archives::MaxSize "100";' | sudo tee /etc/apt/apt.conf.d/99max-cache

Användbara pakethanteringsskript

Uppdatera alla pakethanterare

#!/bin/bash
# Uppdatera alla pakethanterare

echo "=== APT Uppdatering ==="
sudo apt update && sudo apt upgrade -y

echo "=== Snap Uppdatering ==="
sudo snap refresh

echo "=== Flatpak Uppdatering ==="
flatpak update -y

echo "Alla system uppdaterade!"

Hitta stora paket

# Lista största installerade paket
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20

# Eller mer läslig format
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20 | awk '{printf "%.2f MB\t%s\n", $1/1024, $2}'

Paketaudit

#!/bin/bash
# Paketsystemaudit

echo "=== Systempaketstatistik ==="
echo "Installerade paket: $(dpkg -l | grep ^ii | wc -l)"
echo "Uppgraderbara paket: $(apt list --upgradable 2>/dev/null | grep -c upgradable)"
echo "Hållna paket: $(apt-mark showhold | wc -l)"
echo "Auto-borttagbara: $(apt autoremove --dry-run | grep -Po '^\d+')"
echo "Cache-storlek: $(du -sh /var/cache/apt/archives | cut -f1)"

Snabb referensguide

Viktiga kommandon:

# Uppdatera & Uppgradera
sudo apt update && sudo apt upgrade -y

# Installera paket
sudo apt install package-name

# Ta bort paket
sudo apt remove package-name

# Sök paket
apt search keyword

# Visa paketinformation
apt show package-name

# Lista installerade
apt list --installed

# Rensa system
sudo apt autoremove && sudo apt autoclean

# Laga skadade paket
sudo apt install -f && sudo dpkg --configure -a

Slutsats

Att behärska Ubuntus pakethanteringssystem är avgörande för effektiv systemadministration. Oavsett om du använder det moderna apt-kommandot för interaktiva sessioner, apt-get för skriptning eller utforskar universella paket med Snap och Flatpak, hjälper förståelsen av dessa verktyg dig att upprätthålla ett säkert, uppdaterat och välorganiserat Ubuntu-system.

Börja med de grundläggande kommandona, inför gradvis avancerade tekniker och se alltid till att ditt system är uppdaterat. Reguljär underhåll kombinerat med bästa praxis säkerställer en smidig och pålitlig Ubuntu-upplevelse.

Pro-tips: Kör alltid sudo apt update innan du installerar eller uppgraderar paket för att säkerställa att du arbetar med den senaste paketinformationen!

Användbara länkar

Relaterade artiklar på denna sida