Product SiteDocumentation Site

Kapittel 6. Vedlikehold og oppdateringer; APT-verktøyene

6.1. Innfylling av sources.list-filen
6.1.1. Syntaks
6.1.2. Pakkebrønnen for Stable brukere
6.1.3. Pakkebrønner for brukere av Testing/Unstable
6.1.4. Å bruke alternative speil
6.1.5. Uoffisielle ressurser: mentors.debian.net
6.1.6. Mellomlagringstjener for Debian-pakker
6.2. aptitude, apt-get, og apt-kommandoer
6.2.1. Initialisering
6.2.2. Installere og fjerne
6.2.3. Oppgradering av systemet
6.2.4. Oppsettsvalg
6.2.5. Styring av pakkeprioriteter
6.2.6. Å arbeide med flere distribusjoner
6.2.7. Å finne installerte pakker automatisk
6.2.8. APT-mønster
6.3. Kommandoen apt-cache
6.3.1. Kommandoen apt-cache policy
6.4. apt-file-kommandoen
6.5. Brukergrensesnitt: aptitude, synaptic
6.5.1. aptitude
6.5.2. synaptic
6.6. Sjekking av pakkeautensitet
6.7. Oppgradering fra en stabil distribusjon til den neste
6.7.1. Anbefalt prosedyre
6.7.2. Å håndtere problemer etter en oppgradering
6.7.3. Opprydding etter en oppgradering
6.8. Å holde systemet oppdatert
6.9. Automatiske oppgraderinger
6.9.1. Oppsett av dpkg
6.9.2. Oppsett av APT
6.9.3. Oppsett av debconf
6.9.4. Å håndtere kommandolinjesamhandling
6.9.5. Mirakelkombinasjonen
6.10. Søke etter pakker
Hva som gjør Debian så populært hos administratorer er hvor lett programvaren kan installeres, og hvor lett hele systemet kan oppgraderes. Denne unike fordelen er hovedsakelig på grunn av APT-programmet, som Falcot Corp administratorene studerte entusiastisk.
APT er forkortelsen for Advanced Packaging Tool. Hva som gjør dette programmet "avansert" er tilnærmingen til pakker. Det evaluerer dem ikke bare individuelt, men det vurderer dem som en helhet og fremskaffer best mulig kombinasjon av pakker avhengig av hva som er tilgjengelig og samvirkende basert på avhengigheter.
APT må gis en «liste over pakkekilder (pakkebrønner)»: filen /etc/apt/sources.list lister opp de forskjellige kildebrønner som publiserer Debian-pakker. APT vil deretter importere listen over pakker publisert av hver av disse kildene. Denne operasjonen oppnås ved å laste ned Packages.xz-filer eller en variant som for eksempel Packages.gz, eller .bz2 (ved hjelp av en annen sammenpakkingsmetode) i fall det er en kilde med binære pakker og ved å analysere innholdet. Når det gjelder kildepakker laster APT ned Sources.xz-filer eller en variant ved hjelp av en annen sammenpakkingsmetode. Når en gammel kopi av disse filene allerede ligger inne, kan APT oppdatere den ved kun å laste ned forskjellene (se sidefeltet TIPS Trinnvise oppdateringer).

6.1. Innfylling av sources.list-filen

6.1.1. Syntaks

Hver aktive linje i filen /etc/apt/sources.list representerer en pakkekilde (pakkebrønn) og består av minst tre deler adskilt med mellomrom. En fullstendig beskrivelse av filformatet og de aksepterte oppføringssammensetningene er å finne i sources.list(5).

Eksempel 6.1. Eksempel på formatet til oppføring i /etc/apt/sources.list

deb url distribusjon komponent1 komponent2 komponent3 [..] komponentX
deb-src url distribusjon komponent1 komponent2 komponent3 [..] komponentX
Det første feltet indikerer kildetype:
deb
pakkekilde (pakkebrønn) med binære pakker
deb-src
pakkekilde (pakkebrønn) av kildepakker
Det andre feltet gir den grunnleggende nettadressen til kilden. Kombinert med filnavnene listet i Packages.xz-filene, må det gi en fullstendig og gyldig nettadresse. Denne kan inngå i et Debian-speil eller i et annet pakkearkiv satt opp av en tredjepart. Nettadressen kan starte med file:// for å angi en lokal kilde som er installert i systemets filhierarki, med http:// eller https:// for å angi en kilde som er tilgjengelig fra en nettjener, eller med ftp://, eller ftps:// for en kilde som er tilgjengelig på en FTP-tjener. Nettadressen kan også starte med cdrom: for platebaserte installasjoner via CD-ROM/DVD/Blu-ray, selv om dette er sjeldnere, siden nettverksbaserte installasjonsmetoder nå er vanligere. Flere metoder som for eksempel ssh:// eller tor+http(s):// støttes, og er enten beskrevet i sources.list(5) eller respektiv apt-transport-metode-pakkedokumentasjon.
Syntaksen for det siste feltet avhenger av strukturen i kildebrønnen. I det enkleste tilfellet kan du ganske enkelt angi en undermappe (med en nødvendig etterfølgende skråstrek) av den ønskede kilden. Dette er ofte en enkel "./" som refererer til fraværet av en undermappe. Pakkene er dermed direkte på den angitte nettadressen. Men i det vanligste tilfellet vil depotene bli strukturert som et Debian-speil, med flere distribusjoner, som hver har flere komponenter. I slike tilfeller, navngi den valgte distribusjonen ved sitt «kodenavn» – se listen i sidepanelet FELLESSKAP Bruce Perens, en kontroversiell leder – eller ved den tilsvarende «suiten» (oldoldstable, oldstable, stable, testing, unstable) og deretter komponenten for skal tas i bruk. Et typisk Debian-speil tilbyr komponentene main, contrib, og non-free.
cdrom-innganger beskriver den CD/DVD-ROM du har. I motsetning til andre innganger, er en CD-ROM ikke alltid tilgjengelig fordi den må settes inn i stasjonen, og fordi bare én disk kan leses om gangen. Av disse grunnene brukes disse kildene på en litt annen måte, og apt-cdrom-programmet må legges til, vanligvis utløst med add-parameteret. Dette siste vil be om at disken settes inn i stasjonen, og vil bla gjennom innholdet på jakt etter pakke-filer. Det vil bruke disse filene til å oppdatere sin database med tilgjengelige pakker (denne operasjonen gjøres vanligvis ved apt update-kommandoen). Fra da av kan APT kreve at disken settes inn om det behov for en av pakkene derfra.

6.1.2. Pakkebrønnen for Stable brukere

Her er en standard sources.list for et system som kjører Stable versjonen av Debian:

Eksempel 6.2. /etc/apt/sources.list-fil for brukere av Debian Stable

# Sikkerhetsoppdateringer
deb http://security.debian.org/ bullseye-security main contrib non-free
deb-src http://security.debian.org/ bullseye-security main contrib non-free

## Debian-speil

# Grunnlagspakkebrønn
deb https://deb.debian.org/debian bullseye main contrib non-free
deb-src https://deb.debian.org/debian bullseye main contrib non-free

# Oppdateringer for stable
deb https://deb.debian.org/debian bullseye main contrib non-free
deb-src https://deb.debian.org/debian bullseye main contrib non-free

# Tilbakeførte versjoner for stable
deb https://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src https://deb.debian.org/debian bullseye-backports main contrib non-free
Denne filen inneholder alle kilder til pakker assosiert med Bullseye-versjonen av Debian (som i skrivende stund er Stable. I eksemplet ovenfor valgte vi å nevne «bullseye» eksplisitt istedenfor å bruke det samsvarende «stable»-aliaset (stable, stable-updates, stable-backports) fordi vi ikke ønsker at den underliggende distribusjonen endres utenfor vår kontroll når den neste stabile utgaven kommer ut.
De fleste pakker vil komme fra «basispakkebrønnen», som inneholder alle pakkene, men sjelden blir oppdatert (omtrent en gang hver 2. måned for en «punktutgave»). De andre pakkebrønnene inneholder ikke alle pakkene, og kan være vert for oppdateringer (pakker med en nyere versjon) som APT kan installere. Følgende avsnitt vil forklare hensikten og reglene om hver av disse pakkebrønnene.
Merk at når den ønskede versjonen av en pakke er tilgjengelig fra flere kodelagre, vil den første oppførte sources.list-filen bli benyttet. Av denne grunn blir ikke-offentlige kilder vanligvis lagt til ved slutten av filen.
Som en sidekommmentar, det meste av hva denne seksjonen sier om Stable gjelder like meget Oldstable, ettersom den siste bare er en eldre Stable som er vedlikeholdt parallelt.

6.1.2.1. Sikkerhetsoppdateringer

Debian tar sikkerheten på alvor. Kjente programvaresårbarheter i Debian spores i Security Bug Tracker og blir vanligvis løst innen rimelig tid. Sikkerhetsoppdateringene ligger ikke på det vanlige nettverket av Debian-speil, men på security.debian.org, et lite sett med maskiner som vedlikeholdes av Debian System Administrators. Dette arkivet inneholder sikkerhetsoppdateringer utarbeidet av Debian Security Team og/eller av pakkevedlikeholdere for Stabil og Oldstable-distribusjonen.
Tjeneren kan også ha sikkerhetsoppdateringer for Testing, men det skjer ikke svært ofte siden disse oppdateringer bruker å nå pakken via den vanlige flyten av oppdateringer fra Unstable.
For alvorlige tilfeller utsteder sikkerhetsgruppen en sikkerhetsmelding (engelsk Debian Security Advisory - DSA) og kunngjør den sammen med sikkerhetsoppdateringen på e-postlisten (arkiv).

6.1.2.2. Stabile oppdateringer

Stabile oppdateringer er ikke sikkerhetssensitive, men anses viktige nok til å leveres til brukere før neste stabile utgivelse.
Denne pakkebrønnen inneholder vanligvis reparasjoner for kritiske og alvorlige feil som ikke kunne løses før utgivelsen eller som har blitt introdusert av senere oppdateringer. Avhengig av om det haster, kan den også inneholde oppdateringer for pakker som må utvikle seg over tid, for eksempel spamassassins regler for søppelpostoppdagelse, clamav sin virusdatabase, sommertidsreglene for alle tidssoner (tzdata), ESR-versjonen av Firefox (firefox-esr) eller nøkkelringer for kryptografi som for eksempel debian-archive-keyring.
I praksis er denne pakkebrønnen en delmengde av proposed updates-pakkebrønnen, nøye utvalgt av Stabil Release Managers. Alle oppdateringer er annonsert på e-postlisten (arkiv) og vil bli inkludert i neste Stable-punktutgivelse uansett.

6.1.2.3. Foreslåtte oppdateringer

Etter utgivelsen blir Stable-distribusjonen bare oppdatert en gang hver annen måned. proposed-updates-pakkebrønnen er der de forventede oppdateringer forberedes (under tilsyn av administratorene for «Stable»-utgivelsen).
Sikkerheten og stabile oppdateringer som er dokumentert i de foregående avsnittene, er alltid med i denne pakkebrønnen, men det er mer også, fordi pakkens vedlikeholdere har også mulighet til å fikse viktige feil som ikke fortjener å bli gitt ut med en gang.
Alle kan bruke denne pakkebrønnen for å teste disse oppdateringene før den offentlige publiseringen. Utdraget nedenfor bruker aliaset bullseye-proposed-updates som både er mer eksplisitt og mer konsekvent, buster-proposed-updates er også der (for oppdateringene av Oldstable):
deb https://deb.debian.org/debian bullseye-proposed-updates main contrib non-free

6.1.2.4. Stabile tilbakeføringer

Pakkebrønnen stable-backports har «pakketilbakeføringer». Begrepet refererer til en pakke med noen nyere programmer som har blitt kompilert for en eldre distribusjon, vanligvis for Stable.
Når distribusjonen har vært litt i bruk, har mange programvareprosjekter gitt ut nye versjoner som ikke er integrert i den nåværende Stabil-forpakningen, som bare endres for å løse de mest kritiske problemene, for eksempel sikkerhetsproblemer. Siden Testing og Ustabil-arkiver kan være mer risikabelt, tilbyr pakkevedlikeholdere noen ganger frivillig rekompilasjoner av nyere programmer for Stabil, som har fordelen for brukere og systemadministratorer i å begrense potensiell ustabilitet for et lite antall valgte pakker. Siden https://backports.debian.org har mer info.
Tilbakeføringer fra stable-backports blir bare laget fra pakker som er tilgjengelig i Testing. Det sikrer at alle installerte tilbakeføringer kan oppgraderes til den samsvarende stabile versjonen så snart den neste stabile utgivelsen av Debian er tilgjengelig.
Selv om denne pakkebrønnen gir nyere versjoner av pakker så vil ikke APT installere dem med mindre du gir klare instruksjoner om å gjøre det (eller hvis du ikke allerede har gjort det med en tidligere versjon av den gitte tilbakeføringen):
$ sudo apt-get install package/bullseye-backports
$ sudo apt-get install -t bullseye-backports package

6.1.3. Pakkebrønner for brukere av Testing/Unstable

Her er en standard sources.list for et system som kjører Testing, eller Unstable-versjonen av Debian:

Eksempel 6.3. /etc/apt/sources.list-fil for brukere av Debian Testing/Unstable

# Unstable
deb https://deb.debian.org/debian unstable main contrib non-free
deb-src https://deb.debian.org/debian unstable main contrib non-free

# Testing
deb https://deb.debian.org/debian testing main contrib non-free
deb-src https://deb.debian.org/debian testing main contrib non-free

# Testing-sikkerhetsoppdateringer
deb http://security.debian.org/ testing-security main contrib non-free
deb-src http://security.debian.org/ testing-security main contrib non-free

# Stable
deb https://deb.debian.org/debian stable main contrib non-free
deb-src https://deb.debian.org/debian stable main contrib non-free

# Stable-sikkerhetsoppdateringer
deb http://security.debian.org/ stable-security main contrib non-free
deb-src http://security.debian.org/ stable-security main contrib non-free
Med denne sources.list filen vil APT installere pakker fra Ustabil-arkivet. Hvis det ikke er ønsket, bruk APT::Default-Release-settingen (sjekk Seksjon 6.2.3, «Oppgradering av systemet») for å instruere APT til å velge pakker fra et annet arkiv (mest sannsynlig Testing i dette tilfellet).
Det er gode grunner til å inkludere alle disse pakkebrønnene, selv om bare én av dem bure være tilstrekkelig. Brukere av Testing setter pris på muligheten til å plukke ut én pakke fra Unstable når versjonen i Testing berøres av en irriterende feil. I motsatt fall får brukere av Unstable som treffer på uventede regresjoner, muligheten til å nedgradere pakkene til (antatt fungerende) Testing-versjoner.
Å ta med Stabil er mer diskutabelt, men det gir ofte tilgang til pakker som har blitt fjernet i utviklingsversjoner. Det sikrer også at du får nyeste versjon av pakker som ikke har blitt endret siden den siste stabile utgaven.

6.1.3.1. Pakkebrønnen Experimental

Arkivet med Experimental-pakker er med i alle Debian-speil, og inneholder paker som ikke er med i Unstable-versjonen ennå, på grunn av at kvaliteten er dårligere. De er ofte utviklingsversjoner eller pre-versjoner (alpha, beta, utgivelseskandidater ...) av programmer. En pakke kan også bli sendt dit etter å ha fått endringer som kan skape problemer. Utvikleren prøver derfor å avdekke problemer med hjelp av avanserte brukere som kan håndtere alvorlige problemer. Etter dette første trinnet, blir pakken flyttet til Unstable, der den når et mye større publikum, og hvor den vil bli testet i mer detalj.
Experimental brukes vanligvis av dem som ikke har noe imot at systemet deres svikter, og deretter må reparere det. Denne distribusjonen gir mulighet til å importere en pakke som en bruker ønsker å prøve eller bruke om behovet oppstår. Det er akkurat Debians tilnærming, når det legges i APTs sources.list-fil fører det ikke til den systematiske bruken av akkurat disse pakkene. Linjen som må legges til er:
deb https://deb.debian.org/debian experimental main contrib non-free

6.1.4. Å bruke alternative speil

Eksemplene i sources.list i dette kapitlet refererer til pakkearkiver som ligger på deb.debian.org. Disse nettadressene vil omdirigere deg til tjenere som er nær deg og som administreres av innholdsleveransenettverk ( CDN) hvis hovedrolle er å lagre flere kopier av filene til hele verden, og for å levere dem så raskt som mulig til brukerne. CDN-selskapene som Debian samarbeider med er Debian-partnere som tilbyr sine tjenester kostnadsfritt til Debian. Selv om ingen av disse tjenerne direkte kontrolleres av Debian, gjør det faktum at hele arkivet er forseglet med GPG-signaturer dette til et ikke-problem.
Kresne brukere som ikke er fornøyd med ytelsen til deb.debian.org kan prøve å finne et bedre speil i den offisielle speillisten:
Om du ikke vet hvilket speil som er best for deg, er denne listen ikke mye bruk. Heldigvis for deg opprettholder Debian DNS-oppføringer av skjemaet ftp. landskode.debian.org (for eksempel ftp.us.debian.org for USA, ftp.fr.debian.org for Frankrike og så videre) som dekker mange land og som peker på ett (eller flere) av de beste speilene som er tilgjengelige i det landet.
Et alternativ til deb.debian.org, pleide å være httpredir.debian.org. Denne tjenesten ville identifisere et speil nær deg (blant listen over offisielle speil, hovedsakelig ved hjelp av GeoIP) og ville omdirigere APT forespørsler til det speilet. Denne tjenesten har blitt avskrevet på grunn av pålitelighetsbekymringer, og nå httpredir.debian.org gir samme CDN-baserte tjeneste som deb.debian.org.

6.1.5. Uoffisielle ressurser: mentors.debian.net

Det er mange ikke-offisielle kilder til Debian-pakker lagt ut av avanserte brukere som har rekompilert noen programmer. Ubuntu gjorde dette populært med sin personlige Package Archive (PPA)-tjeneste, takket være programmerere som gjør det de har laget tilgjengelig for alle, og Debianutviklere som tilbyr testutgaver av sine pakker på nettet.
mentors.debian.net-området er interessant (selv om det bare gir kildepakkene), fordi det samler pakker opprettet av kandidater til status som offisielle Debian-utviklere, eller av frivillige som ønsker å lage Debian-pakker uten å gå gjennom denne integreringsprosessen. Disse pakkene er gjort tilgjengelige uten kvalitetsgaranti. Sørg for at du sjekker opprinnelsen og integriteten deres, og test dem deretter ut før du vurderer å bruke dem i produksjonen.
Å installere en pakke betyr å gi rotrettigheter til den som har laget den, fordi de fastsetter innholdet i initialiseringsskriptet som kjøres under denne identiteten. Offisielle Debian-pakker er laget av frivillige som er valgt inn og vurdert, og kan forsegle sine pakker, slik at opprinnelsen og integriteten kan kontrolleres.
Generelt, vær skeptisk til en pakke med en opprinnelse du ikke kjenner, og som ikke ligger på en av de offisielle Debian-tjenerne; vurder i hvilken grad du kan stole på den som har laget den, og sjekk integriteten til pakken.

6.1.6. Mellomlagringstjener for Debian-pakker

Når et helt nettverk av maskiner er satt opp til å bruke samme eksterne tjenermaskin for å laste ned de samme oppdaterte pakker, vet enhver administrator at det vil være fordelaktig å ha en mellomtjener som virker som et lokalt hurtiglager på nettverket (se sidefelt ORDFORRÅD Cache).
Du kan sette opp APT til å bruke en «standard» mellomtjener (se Seksjon 6.2.4, «Oppsettsvalg» etter APT-siden, og Seksjon 11.6, «HTTP/FTP-mellomtjener» etter mellomtjener-siden). Debian økosystem tilbyr imidlertid bedre alternativer for å løse dette problemet. Den egne programvaren som presenteres i dette avsnittet er smartere enn et vanlig mellomtjener hurtiglager fordi de kan stole på den spesifikke strukturen i APTs kodelagre (for eksempel at de vet når enkeltfiler er foreldet eller ikke, og dermed kan justere den tiden de skal beholdes).
apt-cacher og apt-cacher-ng virker som vanlige mellomlager hurtiglager-tjenere. APTs sources.list holdes uendret, mens APT settes opp til å bruke dem som mellomlager for utgående forespørsler.
approx, på den andre siden, fungerer som en HTTP-tjener som «speiler» et ubegrenset antall eksterne kodelagre i sitt øverste nettadresse-nivå. Tilknytningen mellom disse toppnivå-nettlagrene og de eksterne nettadressene til kodelagrene er lagret i /etc/approx/approx.conf:
# <navn>   <grunn-url for pakkebrønn>
debian     https://deb.debian.org/debian
security   http://security.debian.org/debian-security
approx kjører som standard på port 9999 via en systemkontakt, og krever at brukerne justerer sine sources.list-filer til å peke mot approx-tjeneren:
# sources.list-eksempel som peker til lokal approx-tjener
deb http://localhost:9999/security bullseye-security main contrib non-free
deb http://localhost:9999/debian   bullseye main contrib non-free