Pakkehandtering i Ubuntu
Lær hvordan du installerer og administrerer programvare med APT
Om APT og APT-GET
Ubuntu bruker APT (Advanced Package Tool) for å håndtere programvare. APT gjør det enkelt å:
- Installere nye programmer
- Oppdatere eksisterende programmer
- Oppgradere hele systemet
- Fjerne uønskede programmer
Tips:
apt
er en nyere og mer brukervennlig versjon av apt-get
.
For daglig bruk anbefales apt
, men begge kommandoene fungerer like bra.
Systemoppdateringer og grunnleggende pakkehandtering
Før du installerer eller oppdaterer programvare, er det viktig å oppdatere pakkelisten. Dette gjør du med
apt update
.
Deretter kan du oppgradere alle installerte pakker med apt upgrade
.
$ sudo apt update
Hit:1 http://no.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://no.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://no.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
7 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
firefox linux-firmware systemd systemd-timesyncd
7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 79.8 MB of archives.
After this operation, 2,048 B of additional disk space will be used.
Do you want to continue? [Y/n] y
...
For å søke etter tilgjengelige pakker kan du bruke
apt search
. Dette vil søke i pakkenavnene og beskrivelsene.
Bruk apt show
for å se detaljert informasjon om en spesifikk pakke.
$ apt search nginx
Sorting... Done
Full Text Search... Done
nginx/jammy-updates 1.18.0-6ubuntu14.4 all
small, powerful, scalable web/proxy server
nginx-common/jammy-updates 1.18.0-6ubuntu14.4 all
small, powerful, scalable web/proxy server - common files
nginx-core/jammy-updates 1.18.0-6ubuntu14.4 amd64
nginx web/proxy server (standard version)
$ apt show nginx
Package: nginx
Version: 1.18.0-6ubuntu14.4
Priority: optional
Section: web
Origin: Ubuntu
...
Description: small, powerful, scalable web/proxy server
Nginx ("engine X") is a high-performance web and reverse proxy server
created by Igor Sysoev. It can be used both as a standalone web server
and as a proxy to reduce the load on back-end HTTP or mail servers.
Installere og fjerne programvare
For å installere programvare bruker du
apt install
. Du kan installere flere pakker samtidig ved å liste dem opp etter hverandre.
Flagget -y
kan brukes for å automatisk svare "ja" på spørsmål.
$ sudo apt install nginx
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
nginx-common nginx-core
Suggested packages:
fcgiwrap nginx-doc
The following NEW packages will be installed:
nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 548 kB of archives.
After this operation, 1,878 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
...
For å fjerne programvare har du to valg:
apt remove
fjerner selve programvaren men beholder konfigurasjonsfiler,
mens apt purge
fjerner både programvaren og alle tilhørende konfigurasjonsfiler.
$ sudo apt remove nginx
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
nginx nginx-core
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 1,878 kB disk space will be freed.
Do you want to continue? [Y/n] y
...
$ sudo apt purge nginx
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
nginx* nginx-common* nginx-core*
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 1,997 kB disk space will be freed.
Do you want to continue? [Y/n] y
...
Håndtere pakkekilder (repositories)
Ubuntu bruker repositories for å distribuere programvare. Du kan legge til ekstra repositories, for eksempel PPAs (Personal Package Archives),
for å få tilgang til programvare som ikke finnes i standardarkivene.
$ sudo add-apt-repository ppa:ondrej/php
Adding repository...
Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included.
...
Press [ENTER] to continue or Ctrl+c to cancel adding it.
Repository added! Please update your package lists:
$ sudo apt update
Hit:1 http://ppa.launchpad.net/ondrej/php/ubuntu jammy InRelease
...
OBS! Vær forsiktig med å legge til ukjente pakkekilder, da disse kan inneholde skadelig programvare.
Bruk kun betrodde kilder og verifiser alltid kilden før du legger den til.
Feilsøking og vedlikehold
Noen ganger kan pakkeinstallasjoner feile eller bli avbrutt. Her er noen nyttige kommandoer for å fikse vanlige problemer.
$ sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
$ sudo dpkg --configure -a
Setting up python3-pip (22.0.2+dfsg-1) ...
Setting up python3-setuptools (59.6.0-1.2) ...
$ sudo apt clean
$ sudo apt autoclean
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Hvis APT er låst fordi en annen prosess bruker den, kan du finne den blokkerende prosessen eller fjerne låsefilene
(kun hvis du er sikker på at ingen apt-prosesser kjører).
$ ps aux | grep -i apt
root 2345 0.0 0.1 236496 8456 ? Ssl 10:35 0:00 /usr/bin/apt-get update
user 2789 0.0 0.0 10680 736 pts/0 S+ 10:36 0:00 grep --color=auto -i apt
$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock
$ sudo rm /var/lib/dpkg/lock*
Tips for vellykket pakkehandtering:
- Kjør alltid
sudo apt update
før du installerer nye pakker - Les nøye gjennom hvilke pakker som vil bli installert eller fjernet
- Ta backup av viktige konfigurasjonsfiler før store systemoppgraderinger
- Bruk
apt show pakkename
for å lese om pakken før installasjon - Hold systemet regelmessig oppdatert med
sudo apt update && sudo apt upgrade