Product SiteDocumentation Site

Hoofdstuk 6. Onderhoud en Updates: De APT Gereedschappen

6.1. Het sources.list Bestand Invullen
6.1.1. Syntaxis
6.1.2. Bewaarplaatsen voor Stabiel Gebruikers
6.1.3. Bewaarplaatsen voor Testen/Onstabiel Gebruikers
6.1.4. Niet-Officiële Middelen: mentors.debian.net\t
6.1.5. Proxy Cache voor Debian Pakketten
6.2. aptitude, apt-get en apt Commando's
6.2.1. Initialisatie
6.2.2. Installeren en Verwijderen
6.2.3. Systeem Opwaarderen
6.2.4. Configuratie Opties
6.2.5. Pakket Prioriteiten Beheren
6.2.6. Werken met Verschillende Distributies
6.2.7. Volgen van Automatisch Geïnstalleerde Pakketten
6.3. Het apt-cache Commando
6.4. Frontends: aptitude, synaptic
6.4.1. aptitude
6.4.2. synaptic
6.5. Pakket Authenticiteit Controleren
6.6. Opwaarderen van Een Stabiele Distributie naar de Volgende
6.6.1. Aanbevolen Procedure
6.6.2. Problemen na een Opwaardering Afhandelen
6.7. Een Systeem Recent Houden
6.8. Automatisch Opwaarderen
6.8.1. dpkg configureren
6.8.2. APT configureren
6.8.3. debconf configureren
6.8.4. Commandoregel Interacties Afhandelen
6.8.5. De Mirakel Combinatie
6.9. Zoeken naar Pakketten
De reden dat Debian zo populair is bij beheerders is hoe gemakkelijk software geïnstalleerd kan worden en hoe gemakkelijk het systeem geüpdatet kan worden. Dit unieke voordeel is grotendeels dankzij het APT programma, wat de Falcot Corp beheerders enthousiast hebben bestudeerd.
APT is de afkorting van Advanced Package Tool. Wat dit programma zo “geavanceerd” is de benadering van pakketten. Het doet geen simpele individuele evaluatie, maar het beschouwd ze als een geheel en produceert de best mogelijke combinatie van pakketten afhankelijk van wat er beschikbaar of compatible is (volgens de afhankelijkheden).
APT moet van een “lijst van pakket bronnen” voorzien worden: het bestand /etc/apt/sources.list zal een lijst van de verschillende bewaarplaatsen (of “bronnen”) bevatten die Debian pakketten publiceren. APT zal dan de lijst met pakketten gepubliceerd door ieder van deze bronnen importeren. Deze handeling wordt bereikt door het downloaden van Packages.xz of een variant die een andere compressiemethode gebruikt (zoals Packages.gz of .bz2) bestanden. en Sources.xz of een variant (in geval van een bron of bronpakket en door het analyseren van hun inhoud. Wanneer een oude copy van deze bestanden al bestaat, zal APT het updaten door enkel de verschillen te downloaden (zie marge TIP Incrementele opwaardering).

6.1. Het sources.list Bestand Invullen

6.1.1. Syntaxis

Iedere actieve regel van het /etc/apt/sources.list bestand bevat de omschrijving van een bron, bestaand uit 3 delen gescheiden door spaties.
Het eerste veld geeft het bron type aan:
  • deb” voor binaire pakketten,
  • deb-sec” voor bron pakketten.
Het tweede veld geeft het basis URL van de bron bestanden (gecombineerd met de bestandsnamen in het Packages.gz aan, het moet een volledig en geldig URL zijn): dit kan bestaan in een Debian spiegel of in ieder ander pakket archief opgezet door een derde partij. Het URL zal beginnen met file:// om een lokale bron aan te geven dat is geïnstalleerd in het bestands-hiërarchie, met http:// om aan te geven dat de bron bereikbaar is vanaf een web server, of met ftp:// voor een bron beschikbaar op een FTP server, het URL kan ook beginnen met cdrom: voor op CD-ROM/DVD-ROM+Blue-Ray gebaseerde installaties, hoewel dit minder frequent voorkomt, omdat netwerk-gebaseerde installatie methoden veel en veel algemener zijn.
De syntaxis van het laatste veld hangt af van de structuur van de bewaarplaats. In het simpelste geval, kun je simpelweg een subdirectory aangeven. (met een vereiste slash op het einde) of de gewenste bron (dit is vaak een simpele “./” welke verwijst naar de afwezigheid van een subdirectory — de pakketten zijn dan direct op het aangegeven URL-. Maar in de meeste gevallen, zullen de bewaarplaatsen gestructureerd zijn zoals een Debian spiegel, met meedere distributies met ieder zijn eigen componenten. In deze gevallen,noem je de gekozen distributie (bij zijn “codenaam” — zie de lijst in de marge GEMEENSCHAP Bruce Perens, een controversieel leider — of bij het corresponderende “suites” — stable, testing, unstable en dan de componenten (of secties) te activeren (gekozen tussen main, contrib, en non-free in een Typische Debian Spiegel).
De cdrom ingang beschrijft de CD/DVD-ROM's die je hebt. In tegenstelling tot andere ingangen, is een CD-ROM niet altijd beschikbaar omdat het in de drive moet zitten en omdat er op ieder moment enkel één disk gelezen kan worden. Daarom worden deze bronnen op een iets andere manier behandeld, en moeten toegevoegd worden met het apt-cdrom programma, meestal uitgevoerd met de add parameter, dit zal dan vragen om de disk in de drive te steken en zal het nalopen op zoek naar Packages bestanden. Het zal deze bestanden gebruiken om zijn databank met beschikbare pakketten te updaten (deze operatie wordt meestal gedaan door het apt update commando). Vanaf dan, zal APT naar de disk vragen als het een van zijn pakketten nodig heeft.

6.1.2. Bewaarplaatsen voor Stabiel Gebruikers

Hier is een standaard sources.list voor een systeem dat de Stabiele distributie van Debian draait:

Voorbeeld 6.1. /etc/apt/sources.list bestand voor gebruikers van Debian Stabiel

# Security updates
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

## Debian mirror

# Base repository
deb http://ftp.debian.org/debian jessie main contrib non-free
deb-src http://ftp.debian.org/debian jessie main contrib non-free

# Stable updates
deb http://ftp.debian.org/debian jessie-updates main contrib non-free
deb-src http://ftp.debian.org/debian jessie-updates main contrib non-free

# Stable backports
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free
Dit bestand toont alle bronnen van pakketten geassocieerd met de Jessie versie van Debian (de huidige Stabiele bij het schrijven). We kozen expliciet voor het gebruik van de naam “jessie” in plaats van de corresponderende “Stabiele” alias (stable, stable-updates, stable-backports) omdat we niet wikken dat de onderliggende distributie veranderd buiten onze controle wanneer de volgende stabiele vrijgave uitkomt.
De meeste pakketten zullen uit de “basis bewaarplaats” komen, welke alle pakketten bevat maar zelden geüpdatet wordt (onveveer om de twee maanden voor een “punt vrijgave”). De andere bewaarplaatsen zijn gedeeltelijk (ze bevatten niet all pakketten) en kunnen updates herbergen (pakketten met nieuwere versie) die APT zou kunnen installeren. De folgende secties zullen het doel en de regels van ieder van deze bewaarplaatsen uitleggen.
Merk op dat wanneer de gewenste versie van een pakket beschikbaar is op verschillende bewaarplaatsen, de eerste in het sources.list bestand gebruikt zal worden. Daarom worden niet-officiële bronnen gewoonlijk aan het einde van het bestand gevoegd.
terzijde, het meeste wat deze sectie zegt over Stabiel is evenzeer van toepassing op Oudstabiel ondat het laatste gewoon een oudere Stabiele is die in parallel wordt onderhouden.

6.1.2.1. Beveiligings Updates

De beveiligings updates worden niet geherbergd op het gewoonlijke netwerk van Debian spiegels, maar op security.debian.org (op een kleine groep van machines onderhouden door de Debian System Administrators. Dit archief bevat beveiligings-updates (voorbereid door het Beveiligings Team en/of door pakket onderhouders) voor de Stabiele distributie.
De server kan ook beveiligings-updates herbergen voor Testen maar dit gebeurd niet vaak omdat deze updates de neiging hebben om Testen via de normale weg van updates van Onstabiel te bereiken.

6.1.2.2. Stabiele Updates

Stabiele updates zijn niet beveiligings-gevoelig maar worden als belangrijk genoeg beschouwd om naar de gebruiker geduwd te worden voor de volgende punt vrijgave.
Deze bewaarplaats zal typisch oplossingen voor kritieke fouten bevatten die niet opgelost konden worden voor de vrijgave of welke zijn geïntroduceerd door latere updates. Afhankelijk van de dringendheid, kan het ook updates voor pakketten die gedurende de tijd geëvolueerd zijn bevatten, zoals de spam detectie regels van spamassassin, de virus databank van clamav of de zomertijd regels voor al de tijdzones (tzdata).
In de praktijk zijn deze bewaarplaatsen een deelverzameling van de proposed-updates bewaarplaats, zorgvuldig geselecteerd door de Stable Release Managers.

6.1.2.3. Voorgestelde Updates

Eenmaal gepubliceerd, wordt de Stabiele distributie enkel geüpdatet iedere 2 maanden. De proposed-updates bewaarplaats is waar de verwachte updates worden voorbereid (onder toezicht van de Stable Release Managers).
De beveiliging en stabiele updates gedocumenteerd in het vorige deel zijn altijd inbegrepen in deze bewaarplaats, maar er is nog meer, omdat pakket onderhouders ook de mogelijkheid hebben om belangrijke fouten te repareren die geen onmiddellijke vrijgave verdienen.
Iedereen kan deze bewaarplaatsen gebruiken om deze updates te testen voor hun officiële publicatie. Het uittreksel hieronder gebruikt de jessie-proposed-updates alias welke zowel meer expliciet en consistenter is omdat wheeze-proposed-updates ook bestaan (voor de Oudstabiele updates):
deb http://ftp.debian.org/debian jessie-proposed-updates main contrib non-free

6.1.2.4. Stabiele Backports

De stable-backports bewaarplaats herbergt “package backports”. Deze term refereert naar een pakket van wat recente software welke opnieuw gecompileerd is voor een oudere distributie, meestal voor Stabiel.
Wanneer de distributie een beetje gedateerd wordt, hebben talloze software projecten nieuwe versies vrijgegeven die niet geïntegreerd zijn in de huidige Stabiele (welke enkel wordt aangepast om de meeste kritische problemen, zoals een beveiligings-probleem, op te lossen). Omdat de Testen en Onstabiele distributies riskenter kunnen zijn,compileren de pakket beheerders soms recente software applicaties voor Stabiel, wat het voordeel heeft dat mogelijke onstabiliteit beperkt tot een klein aantal pakketten.
De stable-backports bewaarplaats is nu beschikbaar op de gewoonlijke Debian spiegels. Maar backports voor Squeeze zijn nog steeds geherbergd op een toegewijde server. (backports.debian.org), and vereist de volgende regel in sources.list:
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
Backports van stable-backports worden altijd gecreëerd van pakketten beschikbaar in Testen. Dit verzekerd dat al de geïnstalleerde backports geüpdatet zullen worden naar de corresponderende stabiele versie eenmaal de volgende stabiele vrijgave van Debian beschikbaar is.
Hoewel deze bewaarplaats nieuwere versies van palletten aanbied, zal APT ze niet installeren tenzij je expliciet instructies geeft om dat te doen (of tenzij je dit al gedaan hebt met een vorige versie van deze backport):
$ sudo apt-get install package/jessie-backports
$ sudo apt-get install -t jessie-backports package

6.1.3. Bewaarplaatsen voor Testen/Onstabiel Gebruikers

Hier is een standaard sources.list voor een systeem dat de Testen of Onstabiele versie van Debian draait:

Voorbeeld 6.2. /etc/apt/sources.list bestand voor gebruikers van Debian Testen/Onstabiel

# Onstabiel (Unstable)
deb http://ftp.debian.org/debian unstable main contrib non-free
deb-src http://ftp.debian.org/debian unstable main contrib non-free

# Testen (Testing)
deb http://ftp.debian.org/debian testing main contrib non-free
deb-src http://ftp.debian.org/debian testing main contrib non-free

# Stabiel (Stable)
deb http://ftp.debian.org/debian stable main contrib non-free
deb-src http://ftp.debian.org/debian stable main contrib non-free

# Beveiligings Updates (Security updates)
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free
Met dit sources.list bestand zal APT pakketten installeren van Onstabiel. Als dat niet gewenst is, gebruik de APT::Default-Release instelling (zie Paragraaf 6.2.3, “Systeem Opwaarderen”) om APT te instrueren pakketten van een andere distributie te pakken (meest waarschijnlijk Testen in dit geval).
Er zijn goede redenen om all deze bewaarplaatsen in te sluiten, zelfs indien een enkel genoeg zou zijn. Testen gebruikers zullen de mogelijkheid om een gerepareerd pakket te kiezen van de Onstabiele distributie, wanneer de versie in Testen aangetast is door een vervelende fout. In tegenstelling, onstabiel gebruikers geplaagd door onverwachte regressies hebben de mogelijkheid om het pakket te downgraden naar hun (vermoedelijke werkende) Testen versie.
Het insluiten van Stabiel is meer open voor discussie, maar het geeft vaak toegang tot bepaalde pakketten welke verwijderd zijn van de ontwikkel versies. Het verzekerd ook dat je de laatste updates krijgt van pakketten welke niet zijn aangepast sinds de laatste stabiele vrijgave.

6.1.3.1. De Experimentele Bewaarplaats

Het archief van Experimenteel pakketten is aanwezig op alle Debian spiegels en bevat pakketten welke nog niet in de Onstabiele versie opgenomen zijn vanwege hun ondermaatse kwaliteit — Het zijn vaak software ontwikkeling versies of pre-versies (alpha, beta, release candidate…). Een pakket kan er ook naartoe gestuurd worden na het ondergaan van veranderingen die voor problemen kunnen zorgen. De onderhouder probeert ze dan te achterhalen met hulp van geavanceerde gebruikers die belangrijke problemen aankunnen. Na deze eerste fase, wordt het pakket verplaatst naar Onstabiel, waar het een groter publiek bereikt en waar het in veel groter detail getest zal worden.
Experimenteel wordt in het algemeen gebruikt door gebruikers die er geen probleem me hebben om hun systeem te breken en dan te repareren. Deze distributie geeft de mogelijkheid om een pakket te importeren dat een andere gebruiker wil proberen of gebruiken als de nood daar is. Dit is precies hoe Debian het benadert, omdat het toevoegen in het sources.list bestand van APT niet leid naar het systematische gebruik van zijn pakketten. De toe te voegen regel is:
deb http://ftp.debian.org/debian experimental main contrib non-free

6.1.4. Niet-Officiële Middelen: mentors.debian.net\t

Er zijn talloze niet-officiële bronnen van Debian pakketten opgezet door geavanceerde gebruikers die bepaalde software, van programmeurs die hun creatie voor iedereen beschikbaar maken, opnieuw gecompileerd hebben (Ubuntu heeft dit populair gemaakt met hun Personal Package Archive dienst) en zelfs door Debian ontwikkelaars die pre-versies van hun pakketten online aanbieden.
De mentors.debian.net site is interessant (hoewel het enkel bron pakketten aanbied), omdat het pakketten verzamelt die gemaakt zijn door kandidaten voor de status can officiële Debian ontwikkelaar of door vrijwilligers die Debian pakketten wensen te creëren zonder door het proces van integratie te gaan. Deze pakketten worden beschikbaar gemaakt zonder enige garantie betreffende hun kwaliteit; zorg ervoor dat je hun oorsprong en integriteit controleert en ze dan test voor te overwegen om ze in productie te nemen.
Een pakket installeren betekend de maker root rechten geven, omdat ze beslissen over de inhoud van het initialisatie script welke onder die identiteit uitgevoerd worden. Officiële Debian pakketten zijn gemaakt door vrijwilligers die geco-opteert en beoordeeld zijn en hun pakketten kunnen verzegelen zodat hun oorsprong en integriteit gecontroleerd kan worden.
Wees in het algemeen omzichtig met een pakket waarvan je de oorsprong niet kent en welke niet geherbergd wordt op één van de officiële Debian servers: evalueer de graat tot welke je de maker kunt vertrouwen, en controleer de integriteit van het pakkett.

6.1.5. Proxy Cache voor Debian Pakketten

Wanneer een volledig netwerk van machines geconfigureerd is om dezelfde remote server te gebruiken om dezelfde updates te downloaden, weet iedere beheerder dat het gunstig os om een tussen-proxy te hebben die zich als een lokaal-netwerk cache gedraagt (zie marge WOORDENSCHAT Cache).
Je kunt APT configureren om een "standaard" proxy te gebruiken (zie Paragraaf 6.2.4, “Configuratie Opties” voor de APT zijde, en Paragraaf 11.6, “HTTP/FTP Proxy” voor de proxy zijde), maar het Debian ecosysteem biedt betere opties om dit probleem op te lossen. De toegewijde software gepresenteerd in deze sectie sn slimmer dan een gewone proxy cache omdat ze kunnen rekenen op de specifieke structuur van APT bewaarplaatsen (bij voorbeeld weten ze wanneer individuele bestanden verouderd zijn of niet, en past dus de tijd aan gedurende ze bewaard worden).
apt-cacher en apt-cacher-ng werken zoals gewone proxy cache servers. de sources.list van APT wordt onveranderd gelaten, maar APT is geconfigureerd om hen als proxy voor uitgaande verzoeken te gebruiken.
approx, aan de andere kant, gedraagt zich als een HTTP server die een aantal remote bewaarplaatsen in zijn top-level URL's “spiegelt" De mapping tussen deze twee top-level directory's en de remote URL's van de bewaarplaatsen is bewaard in /etc/approx/approx.conf:
# <name> <repository-base-url>
debian   http://ftp.debian.org/debian
security http://security.debian.org
approx draait standaard op poort 9999 via inetd (zie Paragraaf 9.6, “The inetd Super-Server”) en verijst dat de de gebruikers hun sources.list bestand aanpassen om te verwijzen naar de approx server:
# Sample sources.list pointing to a local approx server
deb http://apt.falcot.com:9999/security jessie/updates main contrib non-free
deb http://apt.falcot.com:9999/debian jessie main contrib non-free