L'elenco delle fonti /etc/apt/sources.list e i file contenuti in /etc/apt/sources.list.d/ sono progettati per supportare qualsiasi numero di fonti attive e svariati supporti. I file elencano una fonte per riga (stile a una riga) o contengono sezioni multiriga che definiscono una o più fonti per sezione (stile deb822), con la fonte preferita elencata per prima (nel caso in cui una singola versione sia disponibile da più di una fonte). Le informazioni disponibili dalle fonti configurate sono acquisite con apt-get update (o con un comando equivalente in un'altra interfaccia per APT).
La directory /etc/apt/sources.list.d permette di aggiungere voci per sources.list in file separati. Sono permessi due formati di file differenti, come descritto nelle due sezioni seguenti. I nomi dei file devono terminare con l'estensione .list o .sources a seconda del formato contenuto. I nomi di file possono contenere solamente lettere (a-z e A-Z), cifre (0-9), trattini bassi (_), trattini (-) e punti (.). In caso contrario APT stampa un messaggio che notifica che un file è stato ignorato, a meno che il file non corrisponda ad un modello nell'elenco di configurazione Dir::Ignore-Files-Silently, nel qual caso viene ignorato in modo silenzioso.
I file in questo formato hanno l'estensione .list. Ogni riga che specifica una fonte inizia con un tipo (es. deb-src seguito da opzioni e argomenti per questo tipo. Voci singole non possono proseguire su una riga successiva. Le righe vuote sono ignorate e un carattere # in qualunque punto di una riga contrassegna il resto di tale riga come commento. Di conseguenza una voce può essere disabilitata commentando l'intera riga. Se devono essere fornite opzioni, esse sono separate da spazi e tutte insieme sono racchiuse tra parentesi quadre ([]), incluse nella riga dopo il tipo e separate da esso con uno spazio. Se un'opzione permette più valori, questi sono separati con una virgola (,). Un nome di opzione è separato dal suo o dai suoi valori da un segno di uguale (=). Opzioni con più valori usano come separatori anche -= e += che, invece di sostituire i valori predefiniti con quelli specificati, modificano i valori predefiniti per rimuovere o includere i valori specificati.
Questo è il formato tradizionale ed è supportato da tutte le versioni di apt. Notare che non tutte le opzioni come descritte in seguito sono supportate da tutte le versioni di apt. Notare anche che alcune applicazioni più vecchie che analizzano questo formato da sole possono non aspettarsi di incontrare opzioni, dato che erano non comuni prima dell'introduzione del supporto multiarchitettura.
Files in this format have the extension .sources. The format is similar in syntax to other files used by Debian and its derivatives, such as the metadata files that apt will download from the configured sources or the debian/control file in a Debian source package. Individual entries are separated by an empty line; additional empty lines are ignored, and a # character at the start of the line marks the entire line as a comment. An entry can hence be disabled by commenting out each line belonging to the stanza, but it is usually easier to add the field "Enabled: no" to the stanza to disable the entry. Removing the field or setting it to yes re-enables it. Options have the same syntax as every other field: A field name separated by a colon (:) and optionally spaces from its value(s). Note especially that multiple values are separated by whitespaces (like spaces, tabs and newlines), not by commas as in the one-line format. Multivalue fields like Architectures also have Architectures-Add and Architectures-Remove to modify the default value rather than replacing it.
Questo è un nuovo formato supportato da apt stesso a partire dalla versione 1.1. Le versioni precedenti ignorano questo tipo di file con un messaggio di notifica come descritto in precedenza. L'intenzione è di rendere in modo graduale questo formato il formato predefinito, rendendo deprecato il formato con lo stile a singola riga descritto prima, dato che è più facile da creare, estendere e modificare sia per le persone sia per le macchine, specialmente se sono coinvolte molte fonti e opzioni. Gli sviluppatori che lavorano o analizzano fonti di apt sono caldamente incoraggiati ad aggiungere il supporto per questo formato e a contattare il team di APT per coordinare e condividere il lavoro. Gli utenti possono già adottare liberamente questo formato, ma potrebbero incontrare problemi con il software che non supporta ancora il formato.
Il tipo deb è un riferimento a un tipico archivio Debian a due livelli, distribuzione/componente. distribuzione è tipicamente un nome di suite come stable o testing, oppure un nome in codice come bullseye o bookworm; componente è uno tra main, contrib o non-free. Il tipo deb-src è un riferimento al codice sorgente di una distribuzione Debian nella stessa forma di quella del tipo deb. Per recuperare gli indici dei pacchetti sorgente è necessaria una riga deb-src.
Il formato per due voci in stile a singola riga che usano il tipo deb e deb-src è:
deb [ opzione1=valore1 opzione2=valore2 ] uri suite [componente1] [componente2] [...] deb-src [ opzione1=valore1 opzione2=valore2 ] uri suite [componente1] [componente2] [...]
In alternativa la voce equivalente in stile deb822 è simile a questa:
Types: deb deb-src URIs: uri Suites: suite Components: [componente1] [componente2] [...] opzione1: valore1 opzione2: valore2
L'URI per il tipo deb deve specificare la base della distribuzione Debian, dalla quale APT troverà le informazioni di cui ha bisogno. suite può specificare un percorso esatto, nel qual caso le componenti devono essere omesse e suite deve terminare con una sbarra (/). Questo è utile nel caso in cui si è interessati solo a una particolare sottodirectory dell'archivio indicato dall'URI. Se suite non specifica un percorso esatto, deve essere presente almeno una componente.
suite può anche contenere una variabile $(ARCH) che viene espansa nell'architettura Debian (come amd64 o armel) usata nel sistema. Ciò consente di utilizzare file sources.list indipendenti dall'architettura. In generale questo è interessante solo quando viene specificato un percorso esatto, altrimenti APT genera automaticamente un URI con l'architettura corrente.
Specialmente nel formato in stile a singola riga, dato che può essere specificata solo una distribuzione per riga, può essere necessario avere più righe per lo stesso URI, se si desidera un sottoinsieme di tutte le distribuzioni o componenti disponibili in quella posizione. APT ordinerà la lista degli URI dopo aver generato internamente un insieme completo, e riunirà i riferimenti multipli, per esempio al medesimo host Internet in una singola connessione; in questo modo non stabilisce in modo inefficiente una connessione per poi chiuderla, fare qualcos'altro e quindi ristabilire una connessione con il medesimo host. APT inoltre parallelizza le connessioni a host differenti, per gestire in maniera più efficiente i siti con scarsa larghezza di banda.
È importante elencare le fonti in ordine di preferenza con la fonte preferita elencata per prima. Tipicamente ciò viene fatto ordinando per velocità dalla più veloce alla più lenta (per esempio CD-ROM seguiti da host in una rete locale, seguiti da host Internet distanti).
Come esempio, le fonti per la propria distribuzione potrebbero essere simili a queste in formato in stile a singola riga:
deb http://deb.debian.org/debian bullseye main contrib non-free deb http://security.debian.org bullseye-security main contrib non-free
o a queste in formato in stile deb822:
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main contrib non-free Types: deb URIs: http://security.debian.org Suites: bullseye-security Components: main contrib non-free
Ogni voce di fonte può avere specificate delle opzioni per modificare a quale fonte venga fatto l'accesso e come vengano acquisiti i dati da essa. Il formato, la sintassi e i nomi delle opzioni variano, come descritto, tra i formati in stile a singola riga e in stile deb822, ma entrambi hanno disponibili le stesse opzioni. Per semplicità viene elencato il nome del campo deb822 e viene fornito in nome per la singola riga tra parentesi. Ricordarsi che oltre a impostare esplicitamente le opzioni multivalore, è anche possibile modificarle sulla base del loro valore predefinito, ma qui non vengono esplicitamente elencati questi nomi. Le opzioni non supportate vengono ignorate silenziosamente da tutte le versioni di APT.
Inoltre ci sono opzioni che, se impostate, hanno effetto su tutte le fonti con gli stessi URI e suite, perciò devono essere impostate su tutte queste voci e non possono essere cambiate tra le diverse componenti. APT cerca di rilevare queste anomalie e risolverle.
I tipi di URI attualmente riconosciuti sono:
http (apt-transport-http(1))
Note that these forms of authentication are insecure as the whole communication with the remote server (or proxy) is not encrypted so a sufficiently capable attacker can observe and record login as well as all other interactions. The attacker can not modify the communication through as APT's data security model is independent of the chosen transport method. See apt-secure(8) for details.
https (apt-transport-https(1))
mirror, mirror+scheme (apt-transport-mirror(1))
file
cdrom
ftp
Please note that an FTP proxy can be specified by using the ftp_proxy environment variable. It is possible to specify an HTTP proxy (HTTP proxy servers often understand FTP URLs) using this environment variable and only this environment variable. Proxies using HTTP specified in the configuration file will be ignored.
copy
rsh, ssh
aggiungere ulteriori tipi di URI riconoscibili
Usa l'archivio memorizzato in locale (o montato via NFS) in /home/apt/debian per stable/main, stable/contrib e 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
Come sopra, tranne per il fatto che usa la distribuzione unstable (di sviluppo)
deb file:/home/apt/debian unstable main contrib non-free
Types: deb URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free
Indicazione per i sorgenti corrispondente alla precedente.
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
La prima riga ottiene le informazioni sui pacchetti per le architetture in APT::Architectures, mentre la seconda scarica sempre amd64 e armel.
deb http://deb.debian.org/debian bullseye main deb [ arch=amd64,armel ] http://deb.debian.org/debian bullseye main
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Architectures: amd64 armel
Usa HTTP per accedere all'archivio in archive.debian.org e usa solo l'area hamm/main.
deb http://archive.debian.org/debian-archive hamm main
Types: deb URIs: http://archive.debian.org/debian-archive Suites: hamm Components: main
Usa FTP per accedere all'archivio in ftp.debian.org, nella directory debian e usa solo l'area bullseye/contrib.
deb ftp://ftp.debian.org/debian bullseye contrib
deb ftp://ftp.debian.org/debian bullseye contrib
Usa FTP per accedere all'archivio in ftp.debian.org nella directory debian e usa solo l'area unstable/contrib. Se in sources.list sono presenti sia questa riga sia quella nell'esempio precedente, verrà usata una sola sessione FTP per entrambe le righe.
deb ftp://ftp.debian.org/debian unstable contrib
Types: deb URIs: ftp://ftp.debian.org/debian Suites: unstable Components: contrib
Usa HTTP per accedere all'archivio in ftp.tlh.debian.org nella directory universe e usa solo i file che si trovano in unstable/binary-i386 sulle macchine i386, unstable/binary-amd64 su quelle amd64 e così via per le altre architetture supportate. [Notare che questo esempio illustra solamente come usare la variabile per la sostituzione; gli archivi Debian ufficiali non sono strutturati in questo modo.]
deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/
Types: deb URIs: http://ftp.tlh.debian.org/universe Suites: unstable/binary-$(ARCH)/
Usa HTTP per ottenere i pacchetti binari, così come quelli sorgenti, dalle suite stable, testing e unstable e le componenti main e contrib.
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
apt-get(8), apt.conf(5), /usr/share/doc/apt/acquire-additional-files.md.gz
m[blue]Pagina dei bug di APTm[][1]. Se si desidera segnalare un bug in APT, vedere /usr/share/doc/debian/bug-reporting.txt o il comando reportbug(1).
Traduzione in italiano a cura del Team italiano di localizzazione di Debian <debian-l10n-italian@lists.debian.org>. In particolare hanno contribuito Eugenia Franzoni (2000), Hugh Hartmann (2000-2012), Gabriele Stilli (2012), Beatrice Torracca (2012, 2014, 2015).
Notare che questa versione tradotta del documento può contenere parti non tradotte. Ciò è voluto, per evitare di perdere contenuti quando la traduzione non è aggiornata rispetto all'originale.
Jason Gunthorpe
Team APT