SOURCES.LIST(5)

NOME
sources.list - elenco delle fonti di dati configurate per APT

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

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 reenables it. Options have the same syntax as every other field: A fieldname 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.

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 stretch o buster; 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://us.archive.ubuntu.com/ubuntu xenial main restricted
    deb http://security.ubuntu.com/ubuntu xenial-security main restricted
    deb http://us.archive.ubuntu.com/ubuntu xenial-updates main restricted

o a queste in formato in stile deb822:

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

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) è un'opzione multivalore che definisce quali rilasci obiettivo di scaricamento apt cercherà di acquisire da questa fonte. Se non specificata, l'insieme predefinito è definito dall'ambito di configurazione Acquire::IndexTargets (i rilasci obiettivo sono specificati con il loro nome nel campo Created-By). In aggiunta target specifici possono essere abilitati o disabilitati usando il campo Identifier come opzione con un valore booleano invece di usare questa opzione multivalore.

    • 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) e Allow-Downgrade-To-Insecure (allow-downgrade-to-insecure) sono valori booleani che hanno tutti il valore predefinito no. Se impostati a yes aggirano parti di apt-secure(8) e perciò non devono essere usati con leggerezza!

    • 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) è un percorso assoluto ad un file di portachiavi (deve essere accessibile e leggibile dall'utente _apt, perciò assicurarsi che tutti abbiano i permessi di lettura sul file) oppure una o più fingerprint di chiavi nel portachiavi trusted.gpg o nei portachiavi nella directory trusted.gpg.d/ (vedere apt-key fingerprint). Se l'opzione è impostata, solo le chiavi in questo portachiavi oppure solamente la chiave con queste fingerprint vengono usate per la verifica con apt-secure(8) di questo repository. Il valore predefinito è quello dell'opzione omonima se impostata nel file Release precedentemente acquisito. Altrimenti tutte le chiavi nei portachiavi fidati vengono considerate come firmatari validi per questo 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.

    • Check-Date (check-date) is a yes/no value which controls if APT should consider the machine's time correct and hence perform time related checks, such as verifying that a Release file is not from the future. Disabling it also disables the Check-Valid-Until option mentioned above.

    • Date-Max-Future (date-max-future) controls how far from the future a repository may be. Default to the value of the configuration option Acquire::Max-FutureTime which is 10 seconds by default.

    • InRelease-Path (inrelease-path) determines the path to the InRelease file, relative to the normal position of an InRelease file. By default, this option is unset and APT will try to fetch an InRelease or, if that fails, a Release file and its associated Release.gpg file. By setting this option, the specified path will be tried instead of the InRelease file, and the fallback to Release files will be disabled.

SPECIFICARE URI

I tipi di URI attualmente riconosciuti sono:

http (apt-transport-http(1))
    The http scheme specifies an HTTP server for an archive and is the most commonly used method. The URI can directly include login information if the archive requires it, but the use of apt_auth.conf(5) should be preferred. The method also supports SOCKS5 and HTTP(S) proxies either configured via apt-specific configuration or specified by the environment variable http_proxy in the format (assuming an HTTP proxy requiring authentication) http://user:pass@server:port/. The authentication details for proxies can also be supplied via apt_auth.conf(5).

    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 APTs data security model is independent of the chosen transport method. See apt-secure(8) for details.

https (apt-transport-https(1))
    The https scheme specifies an HTTPS server for an archive and is very similar in use and available options to the http scheme. The main difference is that the communication between apt and server (or proxy) is encrypted. Note that the encryption does not prevent an attacker from knowing which server (or proxy) apt is communicating with and deeper analyses can potentially still reveal which data was downloaded. If this is a concern the Tor-based schemes mentioned further below might be a suitable alternative.

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
    The cdrom scheme allows APT to use a local CD-ROM, DVD or USB drive with media swapping. Use the apt-cdrom(8) program to create cdrom entries in the source list.

ftp
    The ftp scheme specifies an FTP server for an archive. Use of FTP is on the decline in favour of http and https and many archives either never offered or are retiring FTP access. If you still need this method many configuration options for it are available in the Acquire::ftp scope and detailed in apt.conf(5).

    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
    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 can be extended with more methods shipped in other optional packages, which should follow the naming scheme apt-transport-method. For instance, the APT team also maintains the package apt-transport-tor, which provides access methods for HTTP and HTTPS URIs routed via the Tor network.

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://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

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

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

    deb ftp://ftp.debian.org/debian stretch 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

VEDERE ANCHE

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

BUG

Pagina dei bug di APT[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 <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.

AUTORI

Jason Gunthorpe

Team APT

NOTE

1.  Pagina dei bug di APT
    http://bugs.debian.org/src:apt