APT.CONF(5) | APT | APT.CONF(5) |
NOME¶
apt.conf - file di configurazione di APTDESCRIZIONE¶
/etc/apt/apt.conf è il file di configurazione principale condiviso da tutti gli strumenti nella suite APT, anche se non è affatto l'unico posto in cui possono essere impostate opzioni. La suite condivide anche un analizzatore comune della riga di comando per fornire un ambiente uniforme.Quando uno strumento APT viene avviato, legge i file di configurazione nel seguente ordine:
SINTASSI¶
Il file di configurazione ha un'organizzazione ad albero con le opzioni riunite in gruppi funzionali. Un'opzione viene specificata con una notazione a due punti (:); per esempio APT::Get::Assume-Yes è un'opzione per lo strumento Get all'interno del gruppo dello strumento APT. Le opzioni non ereditano dai gruppi genitori.Sintatticamente il linguaggio di configurazione è basato sul modello di quello usato dagli strumenti ISC come bind e dhcp. Le righe che iniziano con // vengono trattate come commenti (ignorate), così come tutto il testo racchiuso tra /* e */, proprio come i commenti C/C++. Ogni riga ha la forma APT::Get::Assume-Yes "true";. Le virgolette e il punto e virgola finale sono obbligatori. I valori non possono includere barre inverse (\) o ulteriori virgolette. I nomi delle opzioni sono costituiti da caratteri alfanumerici e dai caratteri «/-:._+». Un nuovo ambito può essere aperto con parentesi graffe come in:
APT { Get { Assume-Yes "true"; Fix-Broken "true"; }; };
con le nuove righe posizionate in modo da renderle più leggibili. Si possono creare elenchi aprendo un ambito e includendo una singola stringa racchiusa tra virgolette e seguita da un punto e virgola. Possono essere incluse più voci, separate da un punto e virgola.
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
In generale i file di configurazione d'esempio /usr/share/doc/apt/examples/configure-index.gz sono una buona guida su come debba essere un file di configurazione.
I nomi delle voci di configurazione sono insensibili all'uso di maiuscole e minuscole, perciò nell'esempio precedente si sarebbe potuto usare dpkg::pre-install-pkgs.
I nomi delle voci di configurazione sono opzionali se viene definito un elenco come si può vedere nell'esempio DPkg::Pre-Install-Pkgs precedente. Se non si specifica un nome, una nuova voce aggiunge semplicemente una nuova opzione all'elenco. Se si specifica un nome, si può sovrascrivere l'opzione come per ogni altra, assegnandole un nuovo valore.
Sono definiti due comandi speciali: #include (che è deprecato e non supportato da implementazioni alternative) e #clear. #include include il file indicato a meno che il suo nome non termini con un carattere «/», nel qual caso viene inclusa l'intera directory. #clear viene usato per eliminare una parte dell'albero di configurazione. L'elemento specificato e tutti i suoi discendenti vengono eliminati. (Notare che anche queste righe devono terminare con un punto e virgola.)
Il comando #clear è l'unico modo di cancellare un elenco o un intero ambito. Riaprire un ambito (o usare la sintassi descritta più sotto aggiungendo alla fine ::) non sovrascrive le voci precedentemente scritte. Le opzioni possono essere sovrascritte solamente assegnandovi un nuovo valore; gli elenchi e gli ambiti non possono essere sovrascritti, solo cancellati.
Tutti gli strumenti APT accettano un'opzione -o che permette di specificare una direttiva di configurazione arbitraria nella riga di comando. La sintassi è un nome completo di opzione (per esempio APT::Get::Assume-Yes) seguito da un segno di uguaglianza e quindi il nuovo valore dell'opzione. Per aggiungere un nuovo elemento ad un elenco, aggiungere :: alla fine del nome dell'elenco. (Come si può immaginare, la sintassi per gli ambiti non può essere usata nella riga di comando.)
Notare che aggiungere voci in coda ad un elenco usando :: funziona solamente con un elemento per riga, e che non si dovrebbe usarlo insieme alla sintassi per gli ambiti (che aggiunge implicitamente ::). L'uso di entrambe le sintassi insieme fa apparire un bug che sfortunatamente alcuni utenti utilizzano: un'opzione con l'insolito nome «::» che funziona come una qualsiasi altra opzione con nome. Ciò introduce molti problemi; innanzitutto gli utenti che scrivono più righe con questa sintassi sbagliata nella speranza di aggiungere voci ad un elenco ottengono il risultato opposto, dato che viene usata solo l'ultima assegnazione per questa opzione «::». Le versioni future di APT causeranno errori e smetteranno di funzionare se incontrano questo uso scorretto, perciò è bene correggere tali dichiarazioni ora, quando APT ancora non si lamenta esplicitamente.
IL GRUPPO APT¶
Questo gruppo di opzioni controlla il comportamento generale di APT, oltre a contenere le opzioni per tutti gli strumenti.Architecture
Architectures
Compressor
Build-Profiles
Default-Release
Ignore-Hold
Clean-Installed
Immediate-Configure
Il contrassegno di configurazione immediata viene applicato anche nel caso potenzialmente problematico di dipendenze circolari, dato che una dipendenza con il contrassegno di immediato è equivalente ad una pre-dipendenza. In teoria ciò permette ad APT di riconoscere una situazione in cui non è in grado di effettuare la configurazione immediata, di terminare annullando e di suggerire all'utente che l'opzione dovrebbe essere temporaneamente disattivata per permettere la continuazione dell'operazione. Notare come sia stata usata l'espressione «in teoria»: in realtà questo problema si è verificato molto di rado, in versioni non stabili di distribuzione, ed è stato causato da dipendenze sbagliate del pacchetto interessato o da un sistema che era già in uno stato erroneo; perciò non si dovrebbe disattivare alla cieca questa opzione, dato che lo scenario descritto sopra non è l'unico problema che può aiutare a prevenire.
Prima di eseguire una grossa operazione come dist-upgrade con questa opzione disattivata, si dovrebbe provare a usare esplicitamente install sul pacchetto che APT non è stato in grado di configurare immediatamente; assicurarsi però di segnalare il problema alla propria distribuzione e al Team di APT usando il collegamento per i bug indicato in seguito, in modo che possano lavorare a migliorare o correggere il processo di aggiornamento.
Force-LoopBreak
Cache-Start, Cache-Grow, Cache-Limit
Build-Essential
Get
Cache
CDROM
IL GRUPPO ACQUIRE¶
Il gruppo di opzioni Acquire controlla lo scaricamento dei pacchetti così come i vari «metodi di acquisizione» responsabili per lo scaricamento stesso (vedere anche sources.list(5)).Check-Valid-Until
Max-ValidTime
Min-ValidTime
PDiffs
Sono disponibili anche due sotto-opzioni per limitare l'uso dei PDiff: FileLimit può essere usata per specificare un numero massimo di file PDiff che devono essere scaricati per aggiornare un file. SizeLimit, invece, è la percentuale massima della dimensione di tutte le patch in rapporto alla dimensione del file finale considerato. Se uno di questi limiti viene superato, viene scaricato il file completo invece delle patch.
By-Hash
Queue-Mode
Retries
Source-Symlinks
http
Sono fornite tre impostazioni per il controllo della cache in proxy con cache conformi a HTTP/1.1. No-Cache indica al proxy di non usare la sua risposta in cache in nessuna circostanza. Max-Age imposta l'età massima consentita (in secondi) di un file indice nella cache del proxy. No-Store specifica che il proxy non deve memorizzare i file archivio richiesti nella sua cache, il che può essere usato per evitare che il proxy riempia la propria cache con (grandi) file .deb.
L'opzione timeout imposta il tempo di timeout usato dal metodo; questo valore si applica sia al timeout per la connessione sia a quello per i dati.
L'impostazione Acquire::http::Pipeline-Depth può essere usata per abilitare le pipeline HTTP (RFC 2616, sezione 8.1.2.2) che possono essere utili, ad esempio, in connessioni con grande latenza. Specifica quante richieste sono inviate in una pipeline. APT cerca di rilevare al momento dell'esecuzione i server web e i proxy con comportamento non corretto e di aggirare il problema, ma se è noto che i propri non sono conformi alla specifica HTTP/1.1, l'uso delle pipeline può essere disabilitato impostando il valore a 0. In modo predefinito è abilitato con il valore 10.
Acquire::http::AllowRedirect specifica se APT segue o meno le ridirezioni che sono abilitate in modo predefinito.
La quantità di banda utilizzata può essere limitata con Acquire::http::Dl-Limit che accetta valori interi in kilobyte al secondo. Il valore predefinito è 0 che disattiva il limite e cerca di usare tutta la banda disponibile. Notare che questa opzione implicitamente disabilita lo scaricamento da più server contemporaneamente.
Acquire::http::User-Agent può essere usata per impostare un User-Agent diverso per il metodo di scaricamento http, dato che alcuni proxy permettono l'accesso per i client solo se usano un identificativo conosciuto.
Acquire::http::Proxy-Auto-Detect can be used to specify an external command to discover the http proxy to use. The first and only parameter is an URI denoting the host to be contacted to allow for host-specific configuration. APT expects the command to output the proxy on stdout as a single line in the style http://proxy:port/ or the word DIRECT if no proxy should be used. No output indicates that the generic proxy settings should be used. Note that auto-detection will not be used for a host if a host-specific proxy configuration is already set via Acquire::http::Proxy::HOST. See the squid-deb-proxy-client(1) package for an example implementation that uses avahi. This option takes precedence over the legacy option name ProxyAutoDetect.
https
La sotto-opzione CaInfo specifica la posizione del file che contiene le informazioni sui certificati fidati; <host>::CaInfo è la corrispondente opzione specifica per ciascun host. La sotto-opzione booleana Verify-Peer determina se il certificato host del server deve o non deve essere verificato usando i certificati fidati; <host>::Verify-Peer è la corrispondente opzione specifica per ciascun host. La sotto-opzione booleana Verify-Host determina se il nome host del server deve o non deve essere verificato; <host>::Verify-Host è la corrispondente opzione specifica per ciascun host. SslCert determina quale certificato usare per l'autenticazione client; <host>::SslCert è la corrispondente opzione specifica per ciascun host. SslKey determina quale chiave privata usare per l'autenticazione client; <host>::SslKey è la corrispondente opzione specifica per ciascun host. SslForceVersion scavalca la versione predefinita SSL da usare e può contenere la stringa «TLSv1» o «SSLv3»; <host>::SslForceVersion è la corrispondente opzione specifica per ciascun host.
ftp
L'opzione timeout imposta il tempo di timeout usato dal metodo; questo valore si applica sia al timeout per la connessione sia a quello per i dati.
Sono fornite diverse impostazioni per controllare la modalità passiva. Generalmente è sicuro lasciare attiva la modalità passiva; funziona in quasi tutti gli ambienti. Tuttavia in alcune situazioni è necessario disabilitare la modalità passiva e usare invece la modalità per porta FTP. Ciò può essere fatto globalmente o, per connessioni che passano attraverso un proxy, per uno specifico host (vedere il file di configurazione d'esempio).
È possibile usare FTP attraverso un proxy via HTTP impostando la variabile d'ambiente ftp_proxy ad un URL HTTP; per la sintassi vedere la spiegazione del metodo http più sopra. Non è possibile impostare questa opzione nel file di configurazione e l'uso di FTP via HTTP non è raccomando a causa della sua bassa efficienza.
L'impostazione ForceExtended controlla l'uso dei comandi EPSV e EPRT della RFC 2428. Il valore predefinito è falso, il che significa che questi comandi sono usati solamente se la connessione di controllo è IPv6. Impostare questo valore a vero forza il loro uso anche su connessioni IPv4. Notare che la maggior parte dei server FTP non supporta la RFC 2428.
cdrom
/cdrom/::Mount "pippo";
all'interno del blocco cdrom. È importante che sia presente la barra in fondo. I comandi per lo smontaggio possono essere specificati usando UMount.
gpgv
CompressionTypes
Acquire::CompressionTypes::EstensioneFile "NomeMetodo";
Also, the Order subgroup can be used to define in which order the acquire system will try to download the compressed files. The acquire system will try the first and proceed with the next compression type in this list on error, so to prefer one over the other type simply add the preferred type first - types not already added will be implicitly appended to the end of the list, so e.g.
Acquire::CompressionTypes::Order:: "gz";
can be used to prefer gzip compressed files over all other compression formats. If xz should be preferred over gzip and bzip2 the configure setting should look like this:
Acquire::CompressionTypes::Order { "xz"; "gz"; };
It is not needed to add bz2 to the list explicitly as it will be added automatically.
Note that the Dir::Bin::Methodname will be checked at run time. If this option has been set and support for this format isn't directly built into apt, the method will only be used if this file exists; e.g. for the bzip2 method (the inbuilt) setting is:
Dir::Bin::bzip2 "/bin/bzip2";
Note also that list entries specified on the command line will be added at the end of the list specified in the configuration files, but before the default entries. To prefer a type in this case over the ones specified in the configuration files you can set the option direct - not in list style. This will not override the defined list; it will only prefix the list with this type.
Il tipo speciale uncompressed può essere usato per dare la precedenza ai file non compressi, ma è bene notare che la maggior parte degli archivi non fornisce file non compressi, perciò questo è utilizzabile soprattutto per i mirror locali.
GzipIndexes
Languages
L'elenco predefinito include «environment» ed «en». «environment» ha un significato speciale in questo contesto: viene sostituito al momento dell'esecuzione dai codici di lingua estratti dalla variabile d'ambiente LC_MESSAGES. Assicura anche che questi codici non vengano inclusi due volte nell'elenco. Se LC_MESSAGES è impostata a «C», viene usato solamente il file Translation-en (se disponibile). Per forzare APT a non usare alcun file Translation, usare l'impostazione Acquire::Languages=none. "none" è un altro codice con significato speciale che interrompe la ricerca di un file Translation adatto. Questo dice ad APT di scaricare anche queste traduzioni, senza usarle realmente a meno che l'ambiente non specifichi le lingue. Perciò il seguente esempio di configurazione avrà come risultato l'ordine «en, it» in una localizzazione inglese o «it, en» in una italiana. Notare che «fr» viene scaricato, ma non usato, a meno che APT non venga usato in una localizzazione francese (dove l'ordine sarebbe «fr, it, en»).
Acquire::Languages { "environment"; "it"; "en"; "none"; "fr"; };
Notare che per prevenire problemi risultanti dall'uso di APT in ambienti differenti (ad esempio da parte di utenti o programmi diversi), tutti i file Translation che si trovano in /var/lib/apt/lists/ vengono aggiunti alla fine dell'elenco (dopo un "none" implicito).
ForceIPv4
ForceIPv6
MaxReleaseFileSize
EnableSrvRecords
AllowInsecureRepositories
AllowWeakRepositories
AllowDowngradeToInsecureRepositories
Changelogs::URI ambito
CONFIGURAZIONE SPECIFICA PER BINARI¶
Specialmente con l'introduzione del binario apt può essere utile impostare determinate opzioni solamente per uno specifico binario, dato che anche opzioni che sembrerebbero avere effetto solo su un determinato binario come APT::Get::Show-Versions, hanno effetto su apt-get così come su apt.L'impostazione di un'opzione per un solo binario specifico può essere ottenuta solamente impostando l'opzione all'interno di un ambito Binary::binario-specifico. Ad esempio impostare l'opzione APT::Get::Show-Versions solamente per apt può essere fatto impostando invece Binary::apt::APT::Get::Show-Versions.
Notare che, come visto nella sezione DESCRIZIONE più in alto, non si possono impostare opzioni specifiche per un binario dalla riga di comando né nei file di configurazione caricati tramite la riga di comando
DIRECTORY¶
La sezione Dir::State contiene directory che sono relative a informazioni di stato locali. lists è la directory in cui mettere gli elenchi scaricati dei pacchetti e status è il nome del file di stato di dpkg(1). preferences è il nome del file preferences di APT. Dir::State contiene la directory predefinita da anteporre a tutte le sottovoci che non iniziano con / o ./.Dir::Cache contiene le posizioni relative alle informazioni della cache locale, come le due cache dei pacchetti srcpkgcache e pkgcache, così come la posizione in cui mettere gli archivi scaricati: Dir::Cache::archives. La generazione delle cache può essere disattivata impostando pkgcache o srcpkgcache a "". Questo rallenta l'avvio ma fa risparmiare spazio su disco. È probabilmente preferibile disattivare pkgcache piuttosto che srcpkgcache. Come per Dir::State, la directory predefinita è contenuta in Dir::Cache
Dir::Etc contiene la posizione dei file di configurazione; sourcelist fornisce la posizione di sourcelist e main è il file di configurazione predefinito (l'impostazione non ha effetto, a meno che non venga fatta dal file di configurazione specificato da APT_CONFIG).
L'impostazione Dir::Parts legge dalla directory specificata tutti i frammenti di configurazione in ordine lessicale. Al termine viene caricato il file di configurazione principale.
Dir::Bin punta ai programmi binari; Dir::Bin::Methods specifica la posizione dei gestori dei metodi e gzip, bzip2, lzma, dpkg, apt-get dpkg-source dpkg-buildpackage e apt-cache specificano la posizione dei rispettivi programmi.
La voce di configurazione RootDir ha un significato speciale. Se impostata, tutti i percorsi saranno relativi a RootDir, anche i percorsi che sono specificati in modo assoluto. Perciò, ad esempio, se RootDir è impostata a /tmp/staging e Dir::State::status è impostata a /var/lib/dpkg/status, allora il file di stato verrà cercato in /tmp/staging/var/lib/dpkg/status. Se si desidera un prefisso solo per i percorsi relativi, impostare invece Dir.
La lista Ignore-Files-Silently può essere usata per specificare quali file debbano essere ignorati in modo silenzioso da APT mentre analizza i file nelle directory con i frammenti. In modo predefinito un file il cui nome termina con .disabled, ~, .bak o .dpkg-[a-z]+ viene ignorato in modo silenzioso. Come si vede nell'ultimo valore predefinito questi modelli possono usare una sintassi con espressioni regolari.
APT IN DSELECT¶
Quando APT viene usato come metodo per dselect(1) svariate direttive di configurazione controllano il comportamento predefinito; queste sono nella sezione DSelect.Clean
options
Updateoptions
PromptAfterUpdate
COME APT INVOCA DPKG(1)¶
Diverse direttive di configurazione controllano il modo in cui APT invoca dpkg(1); sono nella sezione DPkg.options
Pre-Invoke, Post-Invoke
Pre-Install-Pkgs
La versione 2 di questo protocollo invia più informazioni attraverso il descrittore di file richiesto: una riga con il testo VERSION 2, lo spazio di configurazione di APT e un elenco di azioni di pacchetto con nome file e informazioni sulle versioni.
Ogni riga con una direttiva di configurazione ha la forma chiave=valore. I caratteri speciali (segno di uguale, a capo, caratteri non stampabili, virgolette e segno di percentuale in chiave e a capo, caratteri non stampabili e segno di percentuale in valore) sono codificati con %-valore. Le liste sono rappresentate da più righe chiave::=valore con la stessa chiave. La sezione di configurazione termina con una riga vuota.
Package action lines consist of five fields in Version 2: package name (without architecture qualification even if foreign), old version, direction of version change (< for upgrades, > for downgrades, = for no change), new version, action. The version fields are "-" for no version at all (for example when installing a package for the first time; no version is treated as earlier than any real version, so that is an upgrade, indicated as - < 1.23.4). The action field is "**CONFIGURE**" if the package is being configured, "**REMOVE**" if it is being removed, or the filename of a .deb file if it is being unpacked.
Nella Versione 3 ogni campo di versione viene seguito dall'architettura di questa versione, che è «-» se non c'è versione, e da un campo che mostra il tipo MultiArch «same», «foreign», «allowed» o «none». Notare che «none» è un nome di tipo non corretto che viene mantenuto per questioni di compatibilità e dovrebbe essere letto come «no» e gli utenti sono incoraggiati a supportarli entrambi.
La versione del protocollo da usare per il comando cmd può essere scelta impostando in modo appropriato DPkg::Tools::options::cmd::Version, il cui valore predefinito è la versione 1. Se APT non supporta la versione richiesta invierà invece l'informazione nella versione più alta per cui ha il supporto.
Il descrittore di file da usare per inviare le informazioni può essere richiesto con DPkg::Tools::options::cmd::InfoFD che è in modo predefinito 0 per lo standard input ed è disponibile a partire dalla versione 0.9.11. Il supporto per l'opzione può essere controllato guardando la variabile d'ambiente APT_HOOK_INFO_FD che contiene il numero del descrittore di file usato per conferma.
Run-Directory
Build-options
DPkg::ConfigurePending
OPZIONI PERIODIC E ARCHIVES¶
I gruppi di opzioni APT::Periodic e APT::Archives configurano il comportamento degli aggiornamenti periodici di apt, ciò viene fatto attraverso lo script /etc/cron.daily/apt. Per una breve documentazione di queste opzioni, vedere all'inizio dello script.OPZIONI DI DEBUG¶
Se si abilitano le opzioni nella sezione Debug:: verranno inviate delle informazioni di debug nel flusso dello standard error del programma usando le librerie apt, o verranno abilitate speciali modalità del programma che sono principalmente utili per far il debug del comportamento di apt. La maggior parte di queste opzioni non è interessante per l'utente normale, ma alcune potrebbero esserlo:Segue un elenco completo delle opzioni di debug per apt.
Debug::Acquire::cdrom
Debug::Acquire::ftp
Debug::Acquire::http
Debug::Acquire::https
Debug::Acquire::gpgv
Debug::aptcdrom
Debug::BuildDeps
Debug::Hashes
Debug::IdentCDROM
Debug::NoLocking
Debug::pkgAcquire
Debug::pkgAcquire::Auth
Debug::pkgAcquire::Diffs
Debug::pkgAcquire::RRed
Debug::pkgAcquire::Worker
Debug::pkgAutoRemove
Debug::pkgDepCache::AutoInstall
Debug::pkgDepCache::Marker
Debug::pkgDPkgPM
Debug::pkgDPkgProgressReporting
Debug::pkgOrderList
Debug::pkgPackageManager
Debug::pkgPolicy
Debug::pkgProblemResolver
Debug::pkgProblemResolver::ShowScores
Debug::sourceList
Debug::RunScripts
ESEMPI¶
/usr/share/doc/apt/examples/configure-index.gz è un file di configurazione che mostra valori d'esempio per tutte le opzioni possibili.FILE¶
/etc/apt/apt.conf/etc/apt/apt.conf.d/
VEDERE ANCHE¶
apt-cache(8), apt-config(8), apt_preferences(5).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.
AUTORI¶
Jason GunthorpeAPT team
Daniel Burrows <dburrows@debian.org>
NOTE¶
- 1.
- APT bug page
25 novembre 2016 | APT 1.4.9 |