5.8. Administrasjon av pakker.

For å installere pakker, så trenger vi å definere fra hvor vi ønsker å hente dem, hvor er vårt pakke-reservoar.

Vi definerer vårt pakke-reservoar i fila /etc/apt/sources.list

Vi kan jobbe med administrasjonen av pakker enten via kommandolinja, eller ved hjelp av en eller annen grafisk applikasjon, som f.eks KPackage Seksjon 9.6, eller Webmin Seksjon 9.1

En rask introduksjon til bruken av kommandolinja for å jobbe med administrasjonen av pakker gies i dette avsnittet.

deb ftp://ftp.skolelinux.no/debian/ woody main contrib non-free
deb ftp://ftp.skolelinux.no/debian-non-US/ woody/non-US main contrib non-free
deb ftp://ftp.skolelinux.no/skolelinux/ woody local

Disse linjene inneholder info om fra hvor vi vil hente våre pakker.

Hvis man legger inn nye linjer i denne fila, så må man oppdatere databasen som inneholder info om hva som er tilgjengelig.

Se Kapittel 10 for andre linjer man kan legge inn og hente pakker fra.

5.8.1. Oppdater databasen med info om tilgjengelige pakker.

Utvalget av tilgjengelige pakker endrer seg hele tiden, det kommer nye pakker, pakker kommer i nyere versjoner osv. Det er derfor nødvendig å sørge for at databasen som inneholder informasjonen om pakkene hele tiden er ajour. Det gjøres med kommandoen

apt-get update

Gjør det til en god vane å alltid kjøre denne kommandoen før du oppgradere eller legger inn nye pakker.

5.8.2. Oppgradere samtlige installere pakker til en nyere versjon

Samtlige pakker som allerede finnes installert, lar seg oppgradere til en eventuelt nyere versjon med kommandoen

apt-get upgrade

Advarsel

Noen ganger kan det være veldig kjekt å vite hva som faktisk kommer til å skje før man starter en oppgradering av alle installerte pakker, kan hende passer det ikke der og da å starte nedlastingen av flere store pakker, kanskje kan det vente til det er mer båndbredde ledig. Ved å først kjøre

apt-get upgrade -s

så vil ingenting skje, da simuleres en oppgradering. Hvis det kommer frem for mye info på skjermen, så kan du prøve

apt-get upgrade -s|more

Hvis det ser greit ut, så tar du bort "-s"

Det såkalte pipe-tegnet, "|" befinner seg (som oftest) rett under tastene F1 og ESC på tastaturet.

5.8.3. Oversikt over hvilke pakker som er installert

Oversikt over installerte pakker får du med

dpkg -l|more

vær klar over at de to første bokstavene indikerer hva slags tilstand pakken befinner seg i, "ii" betyr at den er fult installert.

5.8.4. Lete etter en bestemt pakke

Hvis du ikke husker navnet på en pakke, så kan du søke gjennom databasen med

apt-cache search <pakkenavn>

hvis det kommer for mye frem på skjermen så kan du prøve

apt-cache search <pakkenavn>|more

Krokodilletegnene, < og > skal ikke brukes, det er kun her i eksempelet at de brukes.

5.8.5. Vise tilgjengelig informasjon om en pakke.

Kommandoene

apt-cache showpkg <pakkenavn>

og

apt-cache policy <pakkenavn>

vil gi deg detaljert info om pakken.

5.8.6. Installere en pakke

Når vi har funnet den pakken vi ønsker å installere, så gjøres det med

apt-get install <pakkenavn>

Hvis du ønsker å se hva som skjer når du installere, så kan du simulere en installasjon først med

apt-get install <pakkenavn> -s

5.8.7. Fjerne en installert pakke

For å finne den aktuelle pakken vi ønsker å fjerne, så bruk de tidligere nevnte kommandoene for å finne navnet på pakken

Når vi vet hva pakken heter, så fjernes den enkelt med kommandoen

apt-get remove <pakkenavn>

Hvis du ønsker å se hva som skjer når du fjerner pakken, så kan du simulere fjerningen først med

apt-get remove <pakkenavn> -s

5.8.8. Installer en helt bestemt versjon av en pakke

Når man installerer en pakke med kommandoen

apt-get install <pakkenavn>

så vil automatisk nyeste versjon bli installert, men noen ganger ønsker man kanskje ikke den nyeste versjonen, men en litt eldre versjon.

apt-get install <pakkenavn>=eldre_versjons_nummer

Hvis jeg synes at en eldre versjon av backup modulen i Webmin er bedre, så vil jeg ved å kjøre

apt-cache showpkg webmin-slbackup

få en oversikt over tilgjengelige versjoner
tjener:~# apt-cache showpkg webmin-slbackup
Package: webmin-slbackup
Versions:
0.0.7-1(/var/lib/apt/lists/ftp.skolelinux.no_skolelinux_dists_woody_local_binary-i386_Packages)
(/var/lib/apt/lists/ftp.skolelinux.no_skolelinux_dists_woody-test_local_binary-i386_Packages)
(/var/lib/dpkg/status)
0.0.6-1(/var/lib/apt/lists/ftp.skolelinux.no_skolelinux_dists_woody-test_local_binary-i386_Packages)

Reverse Depends:
  education-main-server,webmin-slbackup
  task-skolelinux-server,webmin-slbackup
Dependencies:
0.0.7-1 - webmin (0 (null)) perl (0 (null)) libcgi-application-perl (0 (null)) 
libhtml-template-perl (0 (null)) libexpect-perl (2 1.15) slbackup (2 0.0.5-1)
0.0.6-1 - webmin (0 (null)) perl (0 (null)) libcgi-application-perl (0 (null)) 
libhtml-template-perl (0 (null)) libexpect-perl (2 1.15) slbackup (2 0.0.5-1)
Provides:
0.0.7-1 -
0.0.6-1 -
Reverse Provides:
Her ser man at den finnes tilgjengelig i to versjoner,0.0.6-1 og 0.0.7-1.

Hvis jeg ønsker å installere versjon 0.0.6-1, så gjøres det med kommandoen

apt-get install webmin-slbackup=0.0.6-1

5.8.9. Installere en pakke ved hjelp av dpkg

Noen ganger så vil man laste ned en pakke manuelt fra et sted, f.eks fra hjemmesiden til Opera, da får man en såkalt .deb-pakke liggende på sitt hjemmeområde. For å installere den, bruker man

dpkg -i <pakkenavn>

hvis du først ønsker å simulere så kjører du

dpkg --no-act -i <pakkenavn>

5.8.10. Lete igjennom filer som installeres fra en bestemt pakke

Noen ganger er det kjekt å vite hvilke filer som kommer fra en bestemt pakke, du får en oversikt med

dpkg -L <pakkenavn>

5.8.11. Finne hvilken pakke en fil kommer fra

Hvis du ønsker å vite fra hvilken pakke en bestemt fil kommer fra, så vil

dpkg -S <filnavn>

hjelpe deg med det.

5.8.12. Eget lokalt speil med deb-pakker.

Det finnes enkelte pakker jeg ofte installerer, og som jeg noen ganger skulle ønske jeg hadde sluppet å måtte hente fra Internett hver gang, selv om apt-get gjør det å installere fra nettet veldig behagelig, så kan nok dessverre ikke apt-get øke hastigheten på min internett-forbindelse. Men, jeg kan bruke apt-get til å lage mitt eget speil av de pakkene jeg har lastet ned, slik at jeg i fremtiden når jeg neste gang vil installere disse pakkene, så vil apt-get hente pakkene som jeg allerede har lastet ned, det går fort.

mkdir /var/www/dpkg
cp /var/cache/apt/archives/*.deb /var/www/dpkg
cd /var/www/
dpkg-scanpackages dpkg /dev/null | gzip -9c > dpkg/Packages.gz

Deretter må en ny linje i /etc/apt/sources.list legges til

deb file:///var/www dpkg/
Deretter må du som vanlig kjør en apt-get update for å oppdatere din pakkedatabase.