DESCRIZIONE
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).
SOURCES.LIST.D
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.
FORMATO CON STILE A UNA RIGA
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.
FORMATO IN STILE DEB822
I file in questo formato hanno l'estensione .sources. Il formato è simile nella sintassi ad altri file usati in Debian e nelle sue derivate, come i file dei metadati che apt scarica dalle fonti configurate o il file debian/control in un pacchetto sorgente Debian. Le singole voci sono separate da una riga vuota; righe vuote aggiuntive sono ignorate e un carattere # all'inizio della riga contrassegna l'intera riga come un commento. Una voce può quindi essere disabilitata commentando ogni riga che appartiene alla sezione ma, per disabilitare la voce, è solitamente più facile aggiungere il campo «Enabled: no» alla sezione. Rimuovere il campo, o impostarlo a «yes» la riabilita. Le opzioni hanno la stessa sintassi di ogni altro campo: un nome di campo separato dai suoi valori con da due punti (:) e spazi opzionali. Notare in particolar modo che valori multipli sono separati da spazi, non da virgole come nel formato a singola riga. I campi con più valori, come Architectures hanno anche Architectures-Add e Architectures-Remove per modificare il valore predefinito invece di sostituirlo.
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.
I TIPI DEB E DEB-SRC: FORMATO GENERICO
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 jessie o stretch; 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://httpredir.debian.org/debian jessie main contrib non-free deb http://security.debian.org jessie/updates main contrib non-free
o a queste in formato in stile deb822:
-
Types: deb URIs: http://httpredir.debian.org/debian Suites: jessie Components: main contrib non-free Types: deb URIs: http://security.debian.org Suites: jessie/updates Components: main contrib non-free
I TIPI DEB E DEB-SRC: OPZIONI
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.
- • Architectures (arch) è un'opzione multivalore che definisce le architetture per le quali scaricare le informazioni. Se questa opzione non è impostata il valore predefinito è tutte le architetture come definite dall'opzione di configurazione APT::Architectures.
- • Languages (lang) è un'opzione multivalore che definisce le lingue per cui scaricare informazioni quali le traduzioni delle descrizioni dei pacchetti. Se questa opzione non è impostata il valore predefinito è tutte le lingue come definite dall'opzione di configurazione Acquire::Languages.
- • Targets (target) is a multivalue option defining which download targets apt will try to acquire from this source. If not specified, the default set is defined by the Acquire::IndexTargets configuration scope (targets are specified by their name in the Created-By field). Additionally, targets can be enabled or disabled by using the Identifier field as an option with a boolean value instead of using this multivalue option.
- • PDiffs (pdiffs) è un valore «yes»/«no» che controlla se APT deve cercare di usare i PDiff per aggiornare i vecchi indici invece di scaricare interamente i nuovi indici. Il valore di questa opzione viene ignorato se il repository non annuncia la disponibilità dei Pdiff. In modo predefinito assume il valore dell'opzione omonima per uno specifico file indice definito nell'ambito Acquire::IndexTargets, che a sua volta assume in modo predefinito il valore dell'opzione di configurazione Acquire::PDiffs che assume in modo predefinito il valore yes.
- • By-Hash (by-hash) può avere il valore yes, no o force edetermina se APT debba cercare di acquisire gli indici attraverso un URI costruito a partire da una somma hash del file atteso, invece di usare il ben noto nome file stabile dell'indice. Il suo uso può evitare mancate corrispondenze delle somme hash, ma richiede un mirror che la supporti. Un valore yes o no attiva o disattiva l'uso di questa funzionalità se la fonte indica che la supporta, mentre force abilita la funzionalità indipendentemente da ciò che viene indicato dalla fonte. Assume in modo predefinito il valore dell'opzione omonima per uno specifico file indice definito nell'ambito Acquire::IndexTargets, che a sua volta assume in modo predefinito il valore dell'opzione di configurazione Acquire::By-Hash che assume in modo predefinito il valore yes.
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.
- • Allow-Insecure (allow-insecure), Allow-Weak (allow-weak) and Allow-Downgrade-To-Insecure (allow-downgrade-to-insecure) are boolean values which all default to no. If set to yes they circumvent parts of apt-secure(8) and should therefore not be used lightly!
- • Trusted (trusted) è un valore con tre stati che in modo predefinito lascia che sia APT a decidere se una fonte è considerata fidata o se debbano essere prodotti degli avvertimenti prima, ad esempio, che vengano installati pacchetti da questa fonte. Questa opzione può essere usata per scavalcare tale decisione. Il valore yes dice ad APT di considerare sempre questa fonte come fidata, anche se non supera i controlli di autenticazione. Disabilita parti di apt-secure(8) e dovrebbe perciò essere usata (se proprio si deve) solamente in un contesto locale e fidato, dato che altrimenti la sicurezza è compromessa. Il valore no fa l'opposto, facendo sì che la fonte venga gestita come non fidata anche se i controlli di autenticazione sono stati superati con successo. Il valore predefinito non può essere impostato esplicitamente.
- • Signed-By (signed-by) is either an absolute path to a keyring file (has to be accessible and readable for the _apt user, so ensure everyone has read-permissions on the file) or one or more fingerprints of keys either in the trusted.gpg keyring or in the keyrings in the trusted.gpg.d/ directory (see apt-key fingerprint). If the option is set, only the key(s) in this keyring or only the keys with these fingerprints are used for the apt-secure(8) verification of this repository. Defaults to the value of the option with the same name if set in the previously acquired Release file. Otherwise all keys in the trusted keyrings are considered valid signers for this repository.
- • Check-Valid-Until (check-valid-until) è un valore «yes»/«no» che determina se APT debba cercare di rilevare attacchi di tipo replay. Un creatore di un repository può dichiarare una data fino alla quale i dati forniti nel repository devono essere considerati validi e, se viene raggiunta questa data ma non sono stati forniti nuovi dati, i dati sono considerati scaduti e viene generato un errore. Oltre ad aumentare la sicurezza, dato che un autore di attacchi malintenzionato non può inviare vecchi dati per sempre per evitare che un utente aggiorni ad una nuova versione, questo aiuta anche gli utenti ad identificare i mirror che non vengono più aggiornati. Alcuni repository, tuttavia, come gli archivi storici non vengono più aggiornati appositamente, perciò questo controllo può essere disabilitato impostando questa opzione a no. Assume in modo predefinito il valore dell'opzione di configurazione Acquire::Check-Valid-Until che a sua volta ha come valore predefinito yes.
- • Valid-Until-Min (valid-until-min) e Valid-Until-Max (valid-until-max) possono essere usate per aumentare o diminuire il periodo di tempo in secondi per il quale sono considerati validi i dati da questo repository. -Max può essere particolarmente utile per impostare un proprio valore se il repository non fornisce un campo Valid-Until nel suo file Release, mentre -Min può essere usato per aumentare il tempo di validità di mirror (locali) aggiornati raramente di un archivio aggiornato più frequentemente ma meno raggiungibile (che è anch'esso nel sources.list) invece di disabilitare completamente il controllo. I valori assunti in modo predefinito sono quelli delle opzioni di configurazione Acquire::Min-ValidTime e Acquire::Max-ValidTime che sono entrambe non impostate in modo predefinito.
SPECIFICARE URI
I tipi di URI attualmente riconosciuti sono:
file
- Il tipo file permette di considerare come un archivio una directory arbitraria nel file system. È utile per file system NFS montati e mirror o archivi locali.
cdrom
- Il tipo cdrom permette ad APT di usare un'unità CD-ROM locale cambiando i supporti. Usare il programma apt-cdrom(8) per creare voci cdrom nell'elenco delle fonti.
http
- Il tipo http specifica un server HTTP per l'archivio. Se è impostata una variabile d'ambiente http_proxy con il formato http://server:porta/, verrà usato il server proxy specificato in http_proxy. Gli utenti con proxy HTTP/1.1 con autenticazione possono usare una stringa nel formato http://utente:password@server:porta/. Notare che questo è un metodo di autenticazione non sicuro.
ftp
- Il tipo ftp specifica un server FTP per l'archivio. Il comportamento FTP di APT è altamente configurabile; per maggiori informazioni vedere la pagina di manuale apt.conf(5). Notare che è possibile specificare un proxy FTP usando la variabile d'ambiente ftp_proxy. È possibile specificare un proxy HTTP (i server proxy HTTP spesso gestiscono gli URL FTP) usando questa e SOLO questa variabile d'ambiente. I proxy che usano HTTP specificati nel file di configurazione verranno ignorati.
copy
- Il tipo copy è identico al tipo file tranne per il fatto che i pacchetti vengono copiati nella directory della cache invece di essere usati direttamente dalla loro posizione. Ciò è utile per coloro che usano supporti rimovibili, per copiare i file nelle varie posizioni con APT.
rsh, ssh
- Il metodo rsh/ssh invoca RSH/SSH per connettersi ad un host remoto e accedere ai file come un determinato utente. È raccomandato configurare precedentemente le chiavi RSA o rhosts. Per effettuare i trasferimenti di file dall'host remoto vengono usati i comandi standard find e dd.
aggiungere ulteriori tipi di URI riconoscibili
- APT può essere esteso con ulteriori metodi forniti in altri pacchetti opzionali, i cui nomi devono seguire lo schema apt-transport-metodo. Per esempio, il team di APT mantiene anche il pacchetto apt-transport-https che fornisce i metodi di accesso per URI HTTPS con funzionalità simili a quelle del metodo http. Sono disponibili anche i metodi per usare, ad esempio, debtorrrent; vedere apt-transport-debtorrent(1).
ESEMPI
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://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
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 jessie/contrib.
-
deb ftp://ftp.debian.org/debian jessie contrib
-
deb ftp://ftp.debian.org/debian jessie 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://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
BUG
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
Traduzione in italiano a cura del Team italiano di localizzazione di Debian <[email protected]>. 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.
AUTORI
Jason Gunthorpe
Team APT
NOTE
- 1.
-
Pagina dei bug di APT