SOURCES.LIST(5)

NAME
sources.list - Lijst met geconfigureerde gegevensbronnen van APT

OMSCHRIJVING

De pakketbronnenlijst /etc/apt/sources.list en de bestanden die in /etc/apt/sources.list.d/ te vinden zijn, werden ontwikkeld om gelijk welk aantal actieve bronnen en een variatie aan bronmedia te ondersteunen. In de bestanden wordt elke pakketbron op een aparte regel vermeld (de één-regelstijl) of ze bevatten uit meerdere regels bestaande elementen die per element een of meer pakketbronnen definiëren (de deb822 stijl), waarbij de meest wenselijke pakketbron eerst komt (voor het geval een bepaalde versie in meer dan één pakketbron te vinden is). De op deze geconfigureerde pakketbronnen beschikbare informatie wordt opgevraagd met apt-get update (of met een equivalent commando van een ander front-end voor APT).

SOURCES.LIST.D

De map /etc/apt/sources.list.d biedt de mogelijkheid om items voor sources.list in afzonderlijke bestanden toe te voegen. Zoals beschreven wordt in de volgende twee secties, zijn twee verschillende bestandsindelingen toegelaten. Bestandsnamen moeten eindigen op .list of .sources, afhankelijk van welke indeling ze bevatten. De bestandsnamen mogen enkel letters (a-z en A-Z), cijfers (0-9), lage streepjes (_), koppeltekens (-) en punten (.) bevatten. Is dit niet het geval, dan zal APT melden dat het een bestand overgeslagen heeft, tenzij dat bestand beantwoordt aan een patroon uit de configuratielijst Dir::Ignore-Files-Silently - in dat geval zal het stilzwijgend overgeslagen worden.

INDELING IN ÉÉN-REGELSTIJL

Bestanden met deze indeling hebben de extensie .list. Iedere regel die een pakketbron specificeert, begint met het type (bijv. deb-src), gevolgd door opties en argumenten voor dat type. Een individueel item mag niet tot op een volgende regel doorlopen. Lege regels worden overgeslagen en het teken # ergens op een regel geeft aan dat de rest van die regel commentaar bevat. Als gevolg daarvan kan een item gedeactiveerd worden door de hele regel uit te commentariëren. Indien er opties opgegeven moeten worden, worden ze van elkaar gescheiden door komma's en allemaal samen worden ze tussen rechte haakjes ([]) op de regel geplaatst na het type en daarvan gescheiden door een komma. Indien een optie meerdere waarden mag hebben, dan worden ze met een komma (,) van elkaar gescheiden. De naam van een optie wordt van zijn waarde(n) gescheiden met een gelijkheidsteken (=). Multi-waarde opties hebben ook -= en += als scheidingstekens. In plaats van de standaardwaarde(n) te vervangen door de opgegeven waarde(n), wijzigen zij de standaardwaarde(n) door er de opgegeven waarden uit te verwijderen of eraan toe te voegen.

Dit is de traditionele indeling die door alle versies van apt ondersteund wordt. Merk op dat niet alle opties die hieronder beschreven worden door alle versies van apt ondersteund worden. Merk ook op dat sommige oudere toepassingen die zelfstandig deze indeling ontleden wellicht geen opties zullen verwachten, aangezien die ongebruikelijk waren voor de invoering van multi-architectuurondersteuning.

INDELING IN DEB822-STIJL

Bestanden met deze indeling hebben de extensie .sources. Op het gebied van de syntaxis is de indeling gelijkaardig aan andere bestanden die door Debian en zijn derivaten gebruikt worden, zoals de metadatabestanden die apt ophaalt bij de geconfigureerde pakketbronnen of het bestand debian/control in een Debian broncodebestand. Individuele items worden van elkaar gescheiden door een witregel. Bijkomende witregels worden genegeerd en het teken # aan het begin van een regel markeert de volledige regel als commentaar. Een item kan dus gedeactiveerd worden door elke regel die onderdeel is van dat item, uit te commentariëren. Maar meestal is het eenvoudiger om het item te deactiveren door er het veld "Enabled: no" aan toe te voegen. Dat veld verwijderen of het instellen op yes, activeert het item opnieuw. Opties gebruiken dezelfde syntaxis als elk ander veld: een veldnaam gescheiden van zijn waarde(n) door een dubbele punt (:) en optionele spaties. Bijzonder opmerkenswaardig is dat meerdere waarden onderling gescheiden worden door spaties en niet door komma's, zoals het geval is bij de één-regelindeling. Multi-waarde velden, zoals Architectures, kennen ook Architectures-Add en Architectures-Remove om de standaardwaarde te wijzigen eerder dan ze te vervangen.

Dit is een nieuwe indeling die door apt zelf ondersteund wordt sinds versie 1.1. Eerdere versies negeren dergelijke bestanden met een kennisgevingsbericht zoals eerder beschreven. Het is de bedoeling dat deze indeling gaandeweg de standaardindeling wordt en dat de eerder beschreven één-regelstijl uitgefaseerd wordt, vermits het zowel voor mensen als voor machines makkelijker is om in deze nieuwe indeling items aan te maken, uit te breiden en te wijzigen, in het bijzonder als er een heleboel pakketbronnen en/of opties in het spel zijn. Ontwikkelaars die met pakketbronnen van apt werken en/of ze ontleden worden sterk aangemoedigd om ondersteuning voor deze indeling toe te voegen en om met het APT-team contact te nemen om dit werk te coördineren en met elkaar te delen. Gebruikers kunnen nu reeds ongehinderd op deze indeling overschakelen, maar kunnen eventueel problemen ondervinden met software die deze nieuwe indeling nog niet ondersteunt.

DE TYPES DEB EN DEB-SRC: ALGEMENE INDELING

Het type deb verwijst naar een typisch Debian-archief met twee niveaus, distributie/component. De distributie is over het algemeen de naam van een suite zoals stable of testing of een codenaam zoals jessie of stretch, terwijl component een van de volgende kan zijn: main, contrib of non-free. Het type deb-src verwijst in dezelfde vorm als het type deb naar de broncode van een Debian distributie. Om bronnenindexen te kunnen ophalen is een deb-src-regel noodzakelijk.

De indeling van twee items in de één-regelstijl met de types deb en deb-src, ziet er zo uit:

    deb [ optie1=waarde1 optie2=waarde2 ] uri suite [component1] [component2] [...]
    deb-src [ optie1=waarde1 optie2=waarde2 ] uri suite [component1] [component2] [...]

Anderzijds ziet het equivalent van dit item in deb822-stijl er als volgt uit:

         Types: deb deb-src
         URIs: uri
         Suites: suite
         Components: [component1] [component2] [...]
         optie1: waarde1
         optie2: waarde2

De URI voor het type deb moet de basis vermelden van de Debian distributie waar APT de benodigde informatie kan vinden. suite kan een exact pad opgeven en in dat geval moeten de componenten weggelaten worden en moet suite eindigen op een slash (/). Dit is nuttig in een geval waarbij enkel een specifieke sub-sectie van het archief dat door de URI aangeduid wordt, van belang is. Indien suite geen exact pad opgeeft, moet minstens één component vermeld worden.

suite kan ook een variabele, $(ARCH), bevatten, die omgezet wordt naar de Debian architectuur (zoals amd64 of armel) die op het systeem in gebruik is. Dit laat toe om archtectuuronafhankelijke sources.list-bestanden te gebruiken. Over het algemeen is dit enkel van belang wanneer een exact pad opgegeven wordt. Anders zal APT automatisch een URI genereren met de huidige architectuur.

Als uit een bepaalde locatie een subset van alle beschikbare distributies of componenten gewenst wordt, kan het bij het hanteren van de één-regelstijl nodig zijn om meerdere regels voor dezelfde URI te gebruiken, aangezien er per regel slechts één distributie opgegeven kan worden. Nadat APT intern een complete set gegenereerd heeft, zal het de URI-lijst sorteren en bijvoorbeeld meerdere verwijzingen naar eenzelfde computer op het internet, samenbundelen in eenzelfde verbinding. Dit is om niet op een inefficiënte manier te werk te gaan door een FTP-verbinding tot stand te brengen, die te sluiten, iets anders te doen en vervolgens opnieuw een verbinding te moeten maken met dezelfde computer. APT zet ook parallelle verbindingen op met verschillende computers om effectiever om te gaan met sites met een geringe bandbreedte.

Het is belangrijk om pakketbronnen in volgorde van voorkeur te vermelden met de grootste voorkeur eerst. Een typisch gebruik is een ordening volgens snelheid van snelst naar traagst (bijvoorbeeld een CD gevolgd door computers op een lokaal netwerk en tenslotte afgelegen internetcomputers).

Bij wijze van voorbeeld zouden de pakketbronnen voor uw distributie er als volgt kunnen uitzien met de indeling in de één-regelstijl:

    deb http://us.archive.ubuntu.com/ubuntu trusty main restricted
    deb http://security.ubuntu.com/ubuntu trusty-security main restricted
    deb http://us.archive.ubuntu.com/ubuntu trusty-updates main restricted

en als volgt met de indeling in de deb822-stijl:

    Types: deb
    URIs: http://us.archive.ubuntu.com/ubuntu
    Suites: trusty trusty-updates
    Components: main restricted
    Types: deb
    URIs: http://security.ubuntu.com/ubuntu
    Suites: trusty-security
    Components: main restricted

DE TYPES DEB EN DEB-SRC: OPTIES

Bij elk pakketbronitem kunnen opties opgegeven worden om aan te passen welke bron gebruikt wordt en op welke manier er gegevens van opgehaald worden. Indeling, syntaxis en namen van de opties variëren naargelang het een één-regelstijl of een deb822-stijl betreft, zoals eerder beschreven, maar met beide stijlen kunnen dezelfde opties gebruikt worden. Om het eenvoudig te houden vermelden we hier de veldnaam voor de deb822-stijl en geven we de naam voor de één-regelstijl er tussen haakjes bij. Onthoud dat u multi-waarde opties expliciet kunt vermelden, maar dat u daarnaast over de optie beschikt om ze aan te passen uitgaande van hun standaardwaarde. Maar hier geven we hun namen expliciet weer. Niet-ondersteunde opties worden door alle versies van APT geruisloos genegeerd.

    • Architectures (arch) is een multi-waarde optie waarmee opgegeven wordt voor welke architecturen er informatie opgehaald moet worden. Indien deze optie niet ingesteld werd, geldt als standaard alle architecturen die in de configuratieoptie APT::Architectures gedefinieerd zijn.

    • Languages (lang) is een multi-waarde optie waarmee opgegeven wordt voor welke talen er informatie, zoals vertaalde pakketbeschrijvingen, opgehaald moet worden. Indien deze optie niet ingesteld werd, geldt als standaard alle talen die in de configuratieoptie Acquire::Languages gedefinieerd zijn.

    • Targets (target) is een multi-waarde optie waarmee opgegeven wordt welke downloaddoelen apt uit deze pakketbron zal trachten te ophalen. Indien deze optie niet gespecificeerd werd, wordt de standaardset gedefinieerd door het configuratiebereik Acquire::IndexTargets. Daarenboven kunnen specifieke doelen geactiveerd of gedeactiveerd worden door hun naam als veldnaam te gebruiken in plaats van deze multi-waarde optie te gebruiken.

    • PDiffs (pdiffs) is een yes/no (ja/nee) waarde die regelt of APT moet proberen om PDiffs op te halen om oude indexen bij te werken in plaats van de volledige nieuwe indexen te downloaden. De waarde van deze optie wordt genegeerd als de pakketbron niet aangeeft dat er PDiffs beschikbaar zijn. Standaard is dit de waarde van de optie met eenzelfde naam voor een specifiek indexbestand, zoals gedefinieerd in het bereik Acquire::IndexTargets, dat zelf als standaard de waarde krijgt van de configuratieoptie Acquire::PDiffs, die op zijn beurt standaard op yes ingesteld staat.

    • By-Hash (by-hash) kan als waarde hebben yes, no of force en regelt of APT moet proberen de indexen te bekomen via een URI die geconstrueerd wordt op basis van de hash-som van het verwachte bestand, in plaats van de welbekende stabiele bestandsnaam van het indexbestand te gebruiken. Dit gebruiken kan een discrepantie tussen hash-sommen voorkomen, maar het vereist wel een spiegelserver die dit ondersteunt. De waarde yes activeert en no deactiveert het gebruik van deze functionaliteit in het geval de pakketbron aangeeft dit te ondersteunen, terwijl force deze functionaliteit activeert, ongeacht wat de pakketbron aangeeft. Standaard is dit de waarde van de optie met eenzelfde naam voor een specifiek indexbestand, zoals gedefinieerd in het bereik Acquire::IndexTargets, dat zelf als standaard de waarde krijgt van de configuratieoptie Acquire::By-Hash, die op zijn beurt standaard op yes ingesteld staat.

Daarnaast zijn er opties die, als ze ingesteld worden, betrekking hebben op alle pakketbronnen met dezelfde URI en Suite, waardoor ze ingesteld moeten worden voor alle soortgelijke items en er niet gevarieerd kan worden tussen verschillende componenten. Als er zich dergelijke anomalieën manifesteren, zal APT ze proberen te ontdekken en verbeteren.

    • Trusted (trusted) is een drie-status waarde die als standaardgedrag heeft dat APT uitmaakt of een pakketbron als betrouwbaar aanzien wordt, dan wel of er een waarschuwing getoond moet worden vooraleer bijvoorbeeld pakketten van die pakketbron geïnstalleerd worden. Deze optie kan gebruikt worden om die beslissing te omzeilen. De waarde yes zegt APT om die pakketbron steeds als betrouwbaar te beschouwen, zelfs als ze niet slaagt bij authenticatietoetsen. Ze schakelt delen van apt-secure(8) uit en zou daarom enkel gebruikt mogen worden in een lokale en betrouwbare context (als men ze hoe dan ook al zou gebruiken), aangezien anders de beveiliging verbroken wordt. De waarde no doet het tegenovergestelde en zorgt ervoor dat een pakketbron behandeld wordt als onbetrouwbaar, zelfs al was ze succesvol bij de authenticatietoetsen. De standaardwaarde kan niet expliciet ingesteld worden.

    • Signed-By (signed-by) is ofwel een absoluut pad naar een sleutelbosbestand (moet toegankelijk zijn voor en te lezen door de gebruiker _apt; zorg er dus voor dat iedereen leesrechten heeft voor het bestand), ofwel een vingerafdruk van een sleutel uit de sleutelbos trusted.gpg of uit een van de sleutelbossen in de map trusted.gpg.d/ (zie apt-key fingerprint). Indien de optie ingesteld werd, worden enkel de sleutel(s) uit die sleutelbos of enkel de sleutel met deze vingerafdruk gebruikt voor de verificatie door apt-secure(8) van die pakketbron. Anders worden alle sleutels uit de betrouwbare sleutelbossen als geldige ondertekenaars van deze pakketbron aanzien.

    • Check-Valid-Until (check-valid-until) is een yes/no (ja/nee) waarde die regelt of APT moet proberen om replay-aanvallen te ontdekken. De maker van een pakketbron kan een tijdstip bepalen tot wanneer de gegevens die door de pakketbron ter beschikking gesteld worden, als geldig beschouwd mogen worden. Als dat tijdstip aangebroken is en er geen nieuwe gegevens ter beschikking gesteld werden, zullen de gegevens als vervallen beschouwd worden en er zal een foutmelding gegeven worden. Dit verhoogt niet enkel de veiligheid, aangezien een aanvaller met kwade bedoelingen niet eeuwig oude gegevens kan blijven versturen om op die manier een gebruiker van een opwaardering af te houden, het helpt gebruikers ook om spiegelservers die niet langer bijgewerkt worden te detecteren. Sommige pakketbronnen, zoals historische archieven, worden evenwel met opzet niet langer bijgewerkt en om die reden kan deze toets uitgezet worden door deze optie op no in te stellen. Als standaard geldt de waarde van de configuratieoptie Acquire::Check-Valid-Until, die op haar beurt yes als standaard heeft.

    • Valid-Until-Min (valid-until-min) en Valid-Until-Max (valid-until-max) kunnen gebruikt worden om, uitgedrukt in seconden, de periode tot wanneer gegevens van deze pakketbron als geldig beschouwd mogen worden, te verlengen of te verkorten. -Max kan vooral nuttig zijn om uw eigen waarde in te stellen in het geval van een pakketbron met een Release-bestand waarin het veld Valid-Until ontbreekt, terwijl -Min gebruikt kan worden om de geldigheidsduur te verlengen van een zelden opgewaardeerde (lokale) spiegelserver van een vaker bijgewerkt, maar moeilijker toegankelijk archief (dat ook vermeld staat in sources.list). Op die manier hoeft men deze toets niet volledig uit te schakelen. Als standaard geldt de waarde van de configuratieopties Acquire::Min-ValidTime en Acquire::Max-ValidTime, die beide standaard niet ingesteld zijn.

URI-SPECIFICATIE

De momenteel herkende URI-types zijn:

file
    De methode file laat toe om gelijk welke map uit het bestandssysteem als een archief te beschouwen. Dit is nuttig voor aankoppelingen via NFS, voor lokale spiegelservers en lokale archieven.

cdrom
    De methode cdrom laat APT toe om met meerdere CD's in een lokaal CD-station te werken. Gebruik het programma apt-cdrom(8) om regels met CD-pakketbronnen aan te maken in de lijst met pakketbronnen.

http
    De methode http specificeert een HTTP-server voor het archief. Indien een omgevingsvariabele http_proxy bestaat in het formaat http://server:port/, dan zal de in http_proxy opgegeven proxy-server gebruikt worden. Gebruikers van een geauthenticeerde HTTP/1.1 proxy kunnen een tekenreeks gebruiken volgens het formaat http://user:pass@server:port/. Merk op dat dit geen veilige authenticatiemethode is.

ftp
    De methode ftp specificeert een FTP-server voor het archief. Het FTP-gedrag van APT kan in belangrijke mate geconfigureerd worden. Zie voor meer informatie de man-pagina apt.conf(5). Noteer dat een FTP-proxy opgegeven kan worden met de omgevingsvariabele ftp_proxy. Met deze omgevingsvariabele en enkel daarmee kan ook een HTTP-proxy opgegeven worden (HTTP proxyservers kunnen vaak omgaan met FTP-URL's). Proxy's die HTTP gebruiken en in het configuratiebestand vermeld staan worden genegeerd.

copy
    De methode copy is identiek aan de methode file behalve dat pakketten gekopieerd worden naar de cache-map in plaats van ze rechtstreeks op hun locatie te gebruiken. Dit is nuttig voor gebruikers van verwijderbare media om met behulp van APT bestanden te kopiëren.

rsh, ssh
    De methode rsh/ssh maakt gebruik van RSH/SSH om een verbinding met een externe computer te maken en als een welbepaalde gebruiker toegang te krijgen tot de bestanden. Voorafgaandelijke configuratie van rhosts of RSA-sleutels wordt aanbevolen. De standaardcommando's find en dd worden gebruikt om de overdracht van bestanden van de externe computer uit te voeren.

nog andere herkenbare URI-types toevoegen
    APT kan uitgebreid worden met extra methodes die door andere optionele pakketten ter beschikking gesteld worden en die moeten voldoen aan het naamgevingsschema apt-transport-methode. Het APT-team onderhoudt bijvoorbeeld ook het pakket apt-transport-https, dat methodes aanbiedt om toegang te krijgen tot HTTPS URI's met dezelfde functionaliteit als bij de http-methode. Er zijn ook methodes beschikbaar om bijvoorbeeld van debtorrent gebruik te maken - zie apt-transport-debtorrent(1).

VOORBEELDEN

Gebruikt het lokaal opgeslagen (of via NFS aangekoppelde) archief in /home/apt/debian voor stable/main, stable/contrib, en stable/non-free.

    deb file:/home/apt/debian stable main contrib non-free

    Types: deb
    URIs: file:/home/apt/debian
    Suites: stable
    Components: main contrib non-free

Zoals hierboven, behalve dat hier de distributie unstable (distributie in ontwikkeling) gebruikt wordt.

    deb file:/home/apt/debian unstable main contrib non-free

    Types: deb
    URIs: file:/home/apt/debian
    Suites: unstable
    Components: main contrib non-free

Specificatie voor de bronbestanden van het voorgaande.

    deb-src file:/home/apt/debian unstable main contrib non-free

    Types: deb-src
    URIs: file:/home/apt/debian
    Suites: unstable
    Components: main contrib non-free

De eerste regel haalt pakketinformatie op voor de architecturen uit APT::Architectures terwijl de tweede steeds amd64 en armel ophaalt.

    deb http://httpredir.debian.org/debian jessie main
    deb [ arch=amd64,armel ] http://httpredir.debian.org/debian jessie main

    Types: deb
    URIs: http://httpredir.debian.org/debian
    Suites: jessie
    Components: main
    Types: deb
    URIs: http://httpredir.debian.org/debian
    Suites: jessie
    Components: main
    Architectures: amd64 armel

Gebruikt HTTP om toegang te krijgen tot het archief van archive.debian.org en gebruikt daar enkel het gebied hamm/main.

    deb http://archive.debian.org/debian-archive hamm main

    Types: deb
    URIs: http://archive.debian.org/debian-archive
    Suites: hamm
    Components: main

Gebruikt FTP om toegang te krijgen tot het archief op ftp.debian.org onder de map debian en gebruikt er enkel het gebied jessie/contrib.

    deb ftp://ftp.debian.org/debian jessie contrib

    Types: deb
    URIs: ftp://ftp.debian.org/debian
    Suites: jessie
    Components: contrib

Gebruikt FTP om toegang te krijgen tot het archief op ftp.debian.org onder de map debian en gebruikt er enkel het gebied unstable/contrib. Indien deze regel en die uit het voorgaande voorbeeld allebei voorkomen in sources.list zal een enkele FTP-verbinding gebruikt worden voor beide regels met pakketbronnen.

    deb ftp://ftp.debian.org/debian unstable contrib

    Types: deb
    URIs: ftp://ftp.debian.org/debian
    Suites: unstable
    Components: contrib

Gebruikt HTTP om toegang te krijgen tot het archief op ftp.tlh.debian.org onder de map universe en gebruikt op i386-computers enkel bestanden die te vinden zijn onder unstable/binary-i386 en op amd64-computers bestanden onder unstable/binary-amd64 en zo verder voor andere ondersteunde architecturen. [Merk op dat dit voorbeeld enkel toont hoe de substitutievariabele moet gebruikt worden; officiële debian-archieven worden niet op die manier georganiseerd]

    deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/

    Types: deb
    URIs: http://ftp.tlh.debian.org/universe
    Suites: unstable/binary-$(ARCH)/

Gebruikt HTTP om binaire pakketten en broncode uit de suites stable, testing en unstable en uit de componenten main en contrib op te halen.

    deb http://httpredir.debian.org/debian stable main contrib
    deb-src http://httpredir.debian.org/debian stable main contrib
    deb http://httpredir.debian.org/debian testing main contrib
    deb-src http://httpredir.debian.org/debian testing main contrib
    deb http://httpredir.debian.org/debian unstable main contrib
    deb-src http://httpredir.debian.org/debian unstable main contrib

    Types: deb deb-src
    URIs: http://httpredir.debian.org/debian
    Suites: stable testing unstable
    Components: main contrib

ZIE OOK

apt-get(8), apt.conf(5)

BUGS

APT bugpagina[1]. Indien u een bug in APT wilt rapporteren, raadpleeg dan /usr/share/doc/debian/bug-reporting.txt of het reportbug(1) commando.

VERTALING

De Nederlandse vertaling werd in 2015 gemaakt door Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, in samenwerking met het Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>.

Merk op dat de vertaling van dit document nog onvertaalde delen kan bevatten. Dit is intentioneel om te vermijden dat inhoud verloren zou gaan door een vertaling die achterop loopt op het origineel.

AUTEURS

Jason Gunthorpe

APT-team

OPMERKINGEN

1.  APT bugpagina
    http://bugs.debian.org/src:apt