APT
Fra Wikipedia, den frie encyklopedi.
APT (Advanced Packaging Tool) er en pakkestyrer som hovedsakelig fungerer mot pakkesystemet til Debian. Kommandolinjeverktøyet apt-get er en av grunnene til at mange (særlig systemadministratorer) liker Debian. Dersom man skal installere en pakke, vil apt-get hente den og alle pakkene som trengs for å få den til å virke over nett, ifølge konfigurasjonen i /etc/apt. APT kan sies å være en «automagisk» pakkestyrer.
For RPM-baserte systemer (blant andre Fedora Core, Mandriva Linux og Yellow Dog Linux) fins APT-RPM og yum som gjør samme jobben. For Mac OS X har man Fink.
| Ikke bruk APT-RPM på 64-bits x86-systemer (AMD 64 f.eks.). APT skjønner ikke at denne prosessoren kan bruke både 32- og 64- bits programmer. Da alle programmer ikke er for 64-bit, kreves det noen ganger at man har Biblioteker for både 32-og 64-bit installert. Dette skjønner ikke APT, og kan da slette en av dem, noe som resulterer i et utrolig kaos. |
| Innholdsfortegnelse |
APT i bruk
Det bør tas en titt på manualsidene til APT, apt-get og apt-cache for flere nyttige funksjoner som APT byr på.
apt-get
apt-get brukes for behandling av pakker. apt-get brukes blant annet til installasjon, avinstallasjon og oppdatering av pakkelisten.
Oppdatere pakkelistene:
# apt-get update
Oppgradere til de nyeste tilgjengelige pakkene:
# apt-get upgrade
Se hvilke pakker som kan oppgraderes:
# apt-get upgrade -u
Ønsker vi derimot å oppgradere fra f.eks sarge til etch, editerer vi /etc/apt/sources.list, endrer alle «sarge» til «etch», og kjørrer følgende kommando:
# apt-get dist-upgrade
Installere pakke og eventuelt andre pakker den er avhengig av:
# apt-get install pakke
Avinstallere pakke:
# apt-get remove pakke
Avinstallere pakke, samt fjerne pakkens konfigurasjonsfiler:
# apt-get remove --purge pakke
Når vi installerer en pakke med apt-get install, blir pakken mellomlagret i /etc/var/apt/cache. Ettverhver vil dette mellomlageret ta veldig stor plass, og vi ønsker å tømme dette for å frigi plass:
# apt-get clean
Laste ned pakkens kildekode:
# apt-get source pakke
Installere/Fjerne pakker for å tilfredstille avhengighetene for en pakkes kildekode
#apt-get build-dep pakke
Oppdatere pakkemellomlageret og sjekke for brutte avhengigheter:
# apt-get check
| Hvis APT går helt i stå, kan dselect få det til å gå. Skjønner du ikke noe av det, er aptitude din venn. |
apt-cache
apt-cache brukes til søking i pakker og kan gi deg opplysninger fra metadata som følger med pakkene. Følgende forklarer noen av de mest brukte handlingene med apt-cache.
Søke gjennom pakkelistene etter pakke:
# apt-cache search pakke
Vise informasjon om pakken som beskrivelse, kategori og hvilke andre pakker pakken er avhengig av:
# apt-cache show pakke
apt-cache viser ofte mange pakker som er mer eller mindre urelaterte til selve søket. Da er det greit å bruke grep for å få mer nøyaktige resultater:
|
apt-setup
apt-setup brukes for enkel konfigurasjon av filen /etc/apt/sources.list. Filen inneholder kildene pakkelistene hentes fra.
Pakker fra flere Debian-versjoner («pinning»)
I noen tilfeller vil man gjerne bruke en pakke fra en annen versjon av Debian enn den resten av programmene du har lagt inn er fra. Eksempelvis ønsker man aller nyeste PHP fra Unstable på en maskin som ellers kjører Testing. For å få til dette kan man bruke en teknikk som kalles «pinning».
For å gjøre dette må man legge til den versjonen man vil ha pakker fra i sources.list.
Disse to linjene hadde jeg fra før:
deb ftp://ftp.no.debian.org/debian/ testing main non-free contrib deb-src ftp://ftp.no.debian.org/debian/ testing main non-free contrib
Disse linjene legges til på slutten av filen:
deb ftp://ftp.no.debian.org/debian/ unstable main non-free contrib deb-src ftp://ftp.no.debian.org/debian/ unstable main non-free contrib
I tillegg må man sørge for at pakker fra Testing er dem som standard blir installert. Gjør man ikke dette, vil alle nye programmer komme fra Unstable. Disse innstillingene settes i konfigurasjonsfilen /etc/apt/preferences slik (høyeste prioritetstall betyr at den pakken vil bli prioritert):
| Fil: /etc/apt/preferences |
Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600 |
Så kjører jeg apt-get update, og APT vil bygge en database over filer som er i både Unstable og Testing (kan ta litt tid!).
Deretter kjører jeg apt-get install pakke/unstable, som legger inn denne pakken fra denne versjonen. For mange pakker vil denne metoden ikke fungere; APT sier at andre pakker ikke fins i riktig versjon. Da kan du bruke apt-get install pakke --target-release=unstable, som også sørger for at tilleggspakker har riktig versjon.
Se også
Eksterne ressurser
- APT-howto (http://www.debian.org/doc/manuals/apt-howto/index.en.html)

