Scroll to navigation

SOURCES.LIST(5) APT 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 stretch of buster, 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://deb.debian.org/debian stretch main contrib non-free
deb http://security.debian.org stretch/updates main contrib non-free

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

Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
Components: main contrib non-free
Types: deb
URIs: http://security.debian.org
Suites: stretch/updates
Components: main contrib non-free

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 downloadtargets apt uit deze pakketbron zal trachten op te halen. Indien deze optie niet gespecificeerd werd, wordt de standaardset gedefinieerd door het configuratiebereik Acquire::IndexTargets (targets worden aan de hand van hun naam gepreciseerd in het veld Created-By). Daarenboven kunnen specifieke targets geactiveerd of gedeactiveerd worden door het veld Identifier als een optie met een booleaanse waarde te gebruiken in plaats van op deze multi-waarde optie beroep te doen.

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.

Allow-Insecure (allow-insecure), Allow-Weak (allow-weak) en Allow-Downgrade-To-Insecure (allow-downgrade-to-insecure) zijn booleaanse waarden die allemaal standaard de waarde no hebben. Indien ze op yes ingesteld worden, omzeilen ze delen van apt-secure(8) en daarom zouden ze niet lichtzinnig gebruikt moeten worden!

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 gebruiker _apt; zorg er dus voor dat iedereen leesrechten heeft voor het bestand), ofwel een of meer vingerafdrukken van sleutels uit de sleutelbos trusted.gpg of uit 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 sleutels met deze vingerafdrukken gebruikt voor de verificatie van die pakketbron door apt-secure(8). Heeft standaard de waarde van de optie met dezelfde naam indien die ingesteld staat in het vooraf opgehaalde bestand Release. 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://deb.debian.org/debian stretch main
deb [ arch=amd64,armel ] http://deb.debian.org/debian stretch main

Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
Components: main
Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
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.

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 stretch/contrib.

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

Types: deb
URIs: ftp://ftp.debian.org/debian
Suites: stretch
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://deb.debian.org/debian stable main contrib
deb-src http://deb.debian.org/debian stable main contrib
deb http://deb.debian.org/debian testing main contrib
deb-src http://deb.debian.org/debian testing main contrib
deb http://deb.debian.org/debian unstable main contrib
deb-src http://deb.debian.org/debian unstable main contrib

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

ZIE OOK

apt-get(8), apt.conf(5), /usr/share/doc/apt-doc/acquire-additional-files.txt

BUGS

APT bug page[1]. If you wish to report a bug in APT, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

TRANSLATION

The english translation was done by John Doe <john@doe.org> in 2009, 2010 and Daniela Acme <daniela@acme.us> in 2010 together with the Debian Dummy l10n Team <debian-l10n-dummy@lists.debian.org>.

Note that this translated document may contain untranslated parts. This is done on purpose, to avoid losing content when the translation is lagging behind the original content.

AUTEURS

Jason Gunthorpe

APT team

OPMERKINGEN

1.
APT bug page
25 november 2016 APT 1.4.9