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: 1.il file specificato dalla variabile d'ambiente
APT_CONFIG (se presente)
2.tutti i file in Dir::Etc::Parts, in ordine
alfanumerico crescente, se il loro nome file non ha estensione o ha
«conf» come estensione, e contiene solamente caratteri
alfanumerici, trattini (-), caratteri di sottolineatura (_) e punti (.).
Altrimenti, APT visualizza un messaggio che informa 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 verrà ignorato
silenziosamente.
3.il file di configurazione principale specificato da
Dir::Etc::main
4.le opzioni nella riga di comando sono applicate per
scavalcare le direttive di configurazione o per caricare ulteriori file di
configurazione.
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"; }; };
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
IL GRUPPO APT¶
Questo gruppo di opzioni controlla il comportamento generale di APT, oltre a contenere le opzioni per tutti gli strumenti. ArchitectureArchitettura di sistema; imposta l'architettura da usare
quando si recuperano i file e si analizzano gli elenchi dei pacchetti. Il
valore predefinito interno è l'architettura per la quale apt è
stato compilato.
Architectures
Tutte le architetture supportate dal sistema. Ad esempio,
le CPU che implementano l'insieme di istruzioni amd64 (chiamato anche x86-64)
sono anche in grado di eseguire binari compilati per l'insieme di istruzioni
i386 (x86). Questo elenco viene usato quando si recuperano i file e si
analizzano gli elenchi dei pacchetti. Il valore iniziale predefinito è
sempre l'architettura nativa del sistema (APT::Architecture), e le altre
architetture vengono aggiunte all'elenco predefinito quando sono registrate
con dpkg --add-architecture.
Build-Profiles
Elenco dei profili di compilazione abilitati per la
risoluzione delle dipendenze di compilazione, senza il prefisso dello spazio
dei nomi «profile.». In modo predefinito questa lista è
vuota. DEB_BUILD_PROFILES, come usata da dpkg-buildpackage(1) ha
la precedenza sulla notazione della lista.
Default-Release
Il rilascio predefinito da cui installare i pacchetti se
è disponibile più di una versione. Contiene il nome del
rilascio, il nome in codice o la versione del rilascio. Esempi:
«stable», «testing», «unstable»,
«jessie», «stretch», «4.0»,
«5.0*». Vedere anche apt_preferences(5).
Ignore-Hold
Ignora i pacchetti bloccati; questa opzione globale fa
sì che il risolutore di problemi ignori i pacchetti bloccati nel suo
processo decisionale.
Clean-Installed
Attiva in modo predefinito. Quando attiva, la
funzionalità autoclean rimuove dalla cache ogni pacchetto che non
può più essere scaricato. Se disattivata, allora sono esclusi
dalla rimozione anche i pacchetti che sono installati; fare attenzione
però al fatto che APT non fornisce alcun mezzo diretto per
reinstallarli.
Immediate-Configure
Attiva in modo predefinito, il che fa sì che APT
installi i pacchetti essenziali e importanti non appena è possibile
durante un'installazione o aggiornamento, per limitare l'effetto di una
chiamata a dpkg(1) che non ha successo. Se questa opzione è
disattivata, APT tratta un pacchetto importante nello stesso modo di un
pacchetto extra: tra lo spacchettamento del pacchetto A e la sua
configurazione possono esserci molte altre chiamate di spacchettamento o
configurazione per altri pacchetti non correlati B, C, ecc. Se queste causano
il fallimento della chiamata a dpkg(1) (ad esempio perché lo
script del manutentore di B genera un errore), ciò ha come risultato un
sistema in cui il pacchetto A è spacchettato ma non configurato;
perciò non è più garantito il funzionamento di ogni
pacchetto che dipende da A, dato che la dipendenza da A non è
più soddisfatta.
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
Non attivare mai questa opzione a meno di non sapere
veramente ciò che si sta facendo. Permette ad APT di rimuovere
temporaneamente un pacchetto essenziale per rompere un ciclo
Conflicts/Conflicts o Conflicts/Pre-Depends tra due pacchetti essenziali.
Un tale ciclo non dovrebbe mai esistere ed è un bug grave.
Questa opzione funziona se i pacchetti essenziali non sono tar,
gzip, libc, dpkg, dash o qualsiasi altro da cui
dipendono tali pacchetti.
Cache-Start, Cache-Grow, Cache-Limit
APT, a partire dalla versione 0.7.26, usa un file cache
ridimensionabile mappato in memoria per memorizzare le informazioni
disponibili. Cache-Start funziona da indicatore della dimensione che la cache
raggiungerà ed è perciò la quantità di memoria che
APT richiederà all'avvio. Il valore predefinito è 20971520 byte
(~20 MB). Notare che questa quantità di spazio deve essere disponibile
per APT, altrimenti probabilmente terminerà con un fallimento in modo
molto poco grazioso; perciò per i dispositivi con memoria limitata
questo valore dovrebbe essere abbassato, mentre nei sistemi con molte fonti
configurate dovrebbe essere aumentato. Cache-Grow definisce di quanto
verrà aumentata la dimensione della cache in byte, se lo spazio
definito da Cache-Start non è sufficiente; il valore predefinito
è 1048576 (~1 MB). Questo valore verrà applicato più
volte, fino a che la cache non è grande abbastanza per memorizzare
tutte le informazioni o la dimensione della cache raggiunge il valore
Cache-Limit. Il valore predefinito di Cache-Limit è 0 che indica nessun
limite. Se Cache-Grow viene impostato a 0 la crescita automatica della cache
è disabilitata.
Build-Essential
Definisce quali pacchetti sono considerati dipendenze di
compilazione essenziali.
Get
La sottosezione Get controlla lo strumento
apt-get(8); vedere la sua documentazione per maggiori informazioni su
queste opzioni.
Cache
La sottosezione Cache controlla lo strumento
apt-cache(8); vedere la sua documentazione per maggiori informazioni su
queste opzioni.
CDROM
La sottosezione CDROM controlla lo strumento
apt-cdrom(8); vedere la sua documentazione per maggiori informazioni su
queste opzioni.
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-UntilOpzione relativa alla sicurezza attiva in modo
predefinito, poiché dare una data di scadenza alla convalida di un file
Release evita attacchi ripetuti nel corso del tempo e può anche, per
esempio, aiutare gli utenti a identificare i mirror che non sono più
aggiornati, ma la funzionalità dipende dall'esattezza dell'orologio sul
sistema dell'utente. I manutentori degli archivi sono incoraggiati a creare
file Release con l'intestazione Valid-Until, ma se non lo fanno o se si
desidera un valore più restrittivo può essere utilizzata
l'opzione Max-ValidTime seguente.
Max-ValidTime
Tempo massimo (in secondi) dalla sua creazione (come
indicata dall'intestazione Date) per il quale il file Release deve essere
considerato valido. Se il file Release stesso include un'intestazione
Valid-Until, viene usata come data di scadenza quella più corta. Il
valore predefinito è 0 che sta per «valido per sempre».
Possono essere fatte impostazioni specifiche per ciascun archivio aggiungendo
l'etichetta dell'archivio in fondo al nome dell'opzione.
Min-ValidTime
Tempo minimo (in secondi) dalla sua creazione (come
indicata dall'intestazione Date) per il quale il file Release deve essere
considerato valido. Utilizzare questa opzione se si deve usare un mirror
(locale), aggiornato raramente, di un archivio aggiornato più spesso
che ha un'intestazione Valid-Until, invece di disabilitare completamente il
controllo della data di scadenza. Possono essere fatte impostazioni specifiche
per ciascun archivio aggiungendo l'etichetta dell'archivio in fondo al nome
dell'opzione.
PDiffs
Cerca di scaricare le differenze chiamate PDiff per gli
indici (come i file Packages), invece di scaricare interamente i nuovi. Attiva
in modo predefinito.
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.
Queue-Mode
Modalità di coda; Queue-Mode può essere
host o access, che determinano come APT mette in parallelo le connessioni in
uscita. host significa che viene aperta una connessione per ogni host
bersaglio, access significa che viene aperta una connessione per ogni tipo di
URI.
Retries
Numero di tentativi successivi da effettuare. Se è
diverso da zero, APT riproverà per il numero di volte specificato a
scaricare i file con cui non ha avuto successo.
Source-Symlinks
Usa i collegamenti simbolici per gli archivi sorgente. Se
impostata a vero, allora per gli archivi sorgente verranno creati, quando
possibile, dei collegamenti simbolici invece di fare una copia. Il valore
predefinito è vero.
http
http::Proxy imposta il proxy predefinito da usare per gli
URI HTTP. È nella forma standard
http://[[utente][:password]@]host[:porta]/. Possono anche essere specificati
proxy per ciascun host usando la forma http::Proxy::<host> con la
speciale parola chiave DIRECT che significa di non usare un proxy. Se non
viene specificata alcuna delle impostazioni precedenti, viene usata la
variabile d'ambiente http_proxy.
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. Le versioni precedenti di APT avevano
un valore predefinito di 10 per questa impostazione, ma il valore predefinito
è ora 0 (= disabilitata) per evitare problemi con il numero sempre
crescente di server web e proxy che scelgono di non essere conformi con la
specifica HTTP/1.1.
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 può essere usato per specificare un
comando esterno per rilevare il proxy http da usare. Apt si aspetta che il
comando produca in output il proxy sullo stdout nello stile
http://proxy:porta/. Questo avrà la precedenza sul generico
Acquire::http::Proxy, ma non su qualsiasi configurazione specifica di host
proxy impostata con Acquire::http::Proxy::$HOST. Vedere il pacchetto
squid-deb-proxy-client(1) per un esempio di implementazione che usa
avahi. Questa opzione ha la precedenza sull'opzione col nome obsoleto
ProxyAutoDetect.
https
Le opzioniCache-control, Timeout, AllowRedirect, Dl-Limit
e proxy funzionano per gli URI HTTPS nello stesso modo che per il metodo http
e assumono in modo predefinito lo stesso valore, a meno di non essere
impostate in modo esplicito. L'opzione Pipeline-Depth non è ancora
supportata.
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
ftp::Proxy imposta il proxy predefinito da usare per gli
URI FTP. È nella forma standard
ftp://[[utente][:password]@]host[:porta]/. Si possono anche specificare proxy
per ciascun host usando la forma ftp::Proxy::<host> con la speciale
parola chiave DIRECT che indica di non usare proxy. Se nessuna delle opzioni
precedenti è impostata, viene usata la variabile d'ambiente
ftp_proxy. Per usare un proxy FTP è necessario impostare lo
script ftp::ProxyLogin nel file di configurazione. Questa voce specifica i
comandi da inviare per dire al server proxy a cosa connettersi. Vedere
/usr/share/doc/apt/examples/configure-index.gz per un esempio di come
utilizzarla. Le variabili di sostituzione che rappresentano i corrispondenti
componenti dell'URI sono $(PROXY_USER), $(PROXY_PASS), $(SITE_USER),
$(SITE_PASS), $(SITE) e $(SITE_PORT).
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
Per URI che usano il metodo cdrom, l'unica opzione
configurabile è il punto di mount, cdrom::Mount, che deve essere il
punto di mount dell'unità CD-ROM (o DVD o quello che è), come
specificato in /etc/fstab. È possibile fornire comandi alternativi per
il montaggio e lo smontaggio se il proprio punto di mount non può
essere elencato in fstab. La sintassi prevede di mettere
all'interno del blocco cdrom. È importante che sia presente la barra in
fondo. I comandi per lo smontaggio possono essere specificati usando
UMount.
gpgv
/cdrom/::Mount "pippo";
Per gli URI GPGV l'unica opzione configurabile è
gpgv::Options, che passa parametri aggiuntivi a gpgv.
CompressionTypes
Elenco di tipi di compressione che sono capiti dai metodi
di acquisizione. I file come Packages possono essere disponibili in vari
formati di compressione. In modo predefinito i metodi di acquisizione possono
decomprimere file compressi con bzip2, lzma e gzip; con
questa impostazione si possono aggiungere altri formati al volo oppure
può essere cambiato il metodo usato. La sintassi è:
Inoltre si può usare il sottogruppo Order per definire in quale ordine il
sistema di acquisizione cerca di scaricare i file compressi. Il sistema tenta
con il primo tipo di compressione e in caso di errore passa al successivo
nell'elenco perciò, per preferire un tipo rispetto ad un altro, basta
mettere il tipo preferito per primo; i tipi predefiniti che non sono
già presenti vengono aggiunti in modo implicito alla fine dell'elenco,
perciò si può usare, ad esempio,
per preferire i file compressi con gzip a bzip2 e lzma. Se
si volesse preferire lzma rispetto a gzip e bzip2,
l'impostazione di configurazione sarebbe:
Non è necessario aggiungere esplicitamente bz2 all'elenco, dato che
verrà aggiunto automaticamente.
Notare che Dir::Bin:: NomeMetodo viene controllata al momento
dell'esecuzione. Se questa opzione è stata impostata, il metodo
verrà usato solo se questo file è esistente; ad esempio, per il
metodo bzip2 l'impostazione (interna) è:
Notare anche che le voci nell'elenco specificate nella riga di comando vengono
aggiunte alla fine dell'elenco specificato nei file di configurazione, ma
prima delle voci predefinite. In questo caso, per preferire un tipo rispetto a
quelli specificati nei file di configurazione si può impostare
l'opzione direttamente, non nello stile per elenco. Ciò non sovrascrive
l'elenco definito; aggiunge solamente il tipo indicato all'inizio dell'elenco.
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
Acquire::CompressionTypes:: EstensioneFile "NomeMetodo";
Acquire::CompressionTypes::Order:: "gz";
Acquire::CompressionTypes::Order { "lzma"; "gz"; };
Dir::Bin::bzip2 "/bin/bzip2";
Quando si scaricano indici compressi con gzip (Packages,
Sources o Translations), li mantiene localmente compressi con gzip invece di
spacchettarli. Questo fa risparmiare parecchio spazio su disco a spese di un
maggiore uso della CPU quando si creano le cache locali dei pacchetti. In modo
predefinito è disabilitato.
Languages
La sottosezione Languages controlla quali file
Translation sono scaricati e in quale ordine APT cerca di visualizzare le
traduzioni delle descrizioni. APT cerca di visualizzare la prima descrizione
disponibile nella lingua elencata per prima. Le lingue possono essere definite
con i loro codici brevi o lunghi. Notare che non tutti gli archivi forniscono
i file Translation per tutte le lingue; i codici di lingua lunghi sono
particolarmente rari.
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»).
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
Acquire::Languages { "environment"; "it"; "en"; "none"; "fr"; };
Durante gli scaricamenti, forza l'uso del solo protocollo
IPv4.
ForceIPv6
Durante gli scaricamenti, forza l'uso del solo protocollo
IPv6.
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 contains locations pertaining to local cache information, such as the two package caches srcpkgcache and pkgcache as well as the location to place downloaded archives, Dir::Cache::archives. Generation of caches can be turned off by setting pkgcache or srcpkgcache to "". This will slow down startup but save disk space. It is probably preferable to turn off the pkgcache rather than the srcpkgcache. Like Dir::State the default directory is contained 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-getdpkg-sourcedpkg-buildpackage e apt-cache specificano la posizione dei rispettivi programmi. La voce di configurazione RootDir ha un significato speciale. Se impostata, tutti i percorsi in Dir:: 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. 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. CleanModalità di pulizia della cache; i valori permessi
sono always, prompt, auto, pre-auto e never. always e prompt rimuovono tutti i
pacchetti dalla cache dopo ogni aggiornamento; prompt (il valore predefinito)
lo fa in modo condizionato. auto rimuove solo quei pacchetti che non sono
più scaricabili (ad esempio perché sostituiti da una nuova
versione). pre-auto effettua questa azione prima di scaricare i nuovi
pacchetti.
options
Il contenuto di questa variabile è passato come
opzioni per la riga di comando ad apt-get(8), quando questo viene
eseguito per la fase di installazione.
Updateoptions
Il contenuto di questa variabile è passato come
opzioni per la riga di comando ad apt-get(8), quando questo viene
eseguito per la fase di aggiornamento.
PromptAfterUpdate
Se impostato a vero l'operazione [A]ggiorna di
dselect(1) chiederà sempre conferma prima di continuare. Il
comportamento predefinito è di chiedere solo in caso di errore.
COME APT INVOCA DPKG(1)¶
Diverse direttive di configurazione controllano il modo in cui APT invoca dpkg(1); sono nella sezione DPkg. optionsQuesta è una lista di opzioni da passare a
dpkg(1). Le opzioni devono essere specificate usando la notazione per
le liste e ogni voce nella lista viene passata a dpkg(1) come un
singolo argomento.
Pre-Invoke, Post-Invoke
Questa è una lista di comandi di shell da eseguire
prima/dopo l'invocazione di dpkg(1). Come options deve essere
specificata con la notazione per le liste. I comandi sono invocati in ordine
usando /bin/sh; se qualcuno dei comandi fallisce APT terminerà
annullando.
Pre-Install-Pkgs
Questa è una lista di comandi di shell da eseguire
prima di invocare dpkg(1). Come options deve essere specificata con la
notazione per le liste. I comandi sono invocati in ordine usando /bin/sh; se
qualcuno dei comandi fallisce APT terminerà annullando. APT passa i
nomi di file di tutti i file .deb che sta per installare ai comandi, uno per
riga sul descrittore di file richiesto, usando in modo predefinito lo standard
input.
La versione 2 di questo protocollo fa il dump di più informazioni,
inclusi la versione del protocollo, lo spazio di configurazione di APT, e i
pacchetti, file e versioni che vengono modificati. La versione 3 aggiunge
l'architettura e il contrassegno MultiArch per ciascuna versione di cui viene
fatto il dump.
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
APT cambia la directory attuale in questa prima di
invocare dpkg(1); il valore predefinito è /.
Build-options
Queste opzioni sono passate a dpkg-buildpackage(1)
quando vengono compilati i pacchetti; il valore predefinito disabilita la
firma e produce tutti i binari.
Uso dei trigger di dpkg (e relative opzioni)¶
APT può invocare dpkg(1) in modo tale da permettergli di fare un uso più aggressivo dei trigger su chiamate multiple di dpkg(1). Senza opzioni ulteriori dpkg(1) usa i trigger una volta sola per ogni volta che viene eseguito. Attivando queste opzioni si può quindi diminuire il tempo necessario per effettuare l'installazione o l'aggiornamento. Notare che questo è pensato per attivare queste opzioni in modo predefinito nel futuro ma, dato che cambia drasticamente il modo in cui APT chiama dpkg(1), necessita di essere testato ancora molto. Queste opzioni sono perciò al momento sperimentali e non dovrebbero essere usate in ambienti di produzione. Inoltre rende difettosi i rapporti sull'avanzamento, tanto che che tutte le interfacce attualmente rimangono per metà (o più) del tempo nello stato 100% mentre in realtà stanno venendo configurati i pacchetti. Notare che non è garantito che APT supporterà queste opzioni o che queste opzioni non causeranno (grossi) problemi in futuro. Se i rischi e i problemi attuali legati a queste opzioni sono chiari, ma si è abbastanza coraggiosi da volere aiutare a testarle, creare un nuovo file di configurazione e provare una combinazione di opzioni. Segnalare ogni bug, problema o miglioramento che si presenta e assicurarsi di indicare nella segnalazione quali opzioni sono state usate. Potrebbe anche essere utile chiedere aiuto a dpkg(1) per il debug; vedere ad esempio dpkg --audit. Una combinazione di opzioni sulla difensiva sarebbeDPkg::NoTriggers "true"; PackageManager::Configure "smart"; DPkg::ConfigurePending "true"; DPkg::TriggersPending "true";
Aggiunge l'opzione --no-triggers a tutte le invocazioni
di dpkg(1) (tranne la chiamata ConfigurePending). Se si è
interessati a capire cosa ciò significhi veramente, vedere
dpkg(1). In breve: quando questa opzione è presente
dpkg(1) non esegue i trigger, a meno che non sia esplicitamente
chiamato per farlo con una chiamata aggiuntiva. Notare che questa opzione
esiste (non documentata) anche in versioni più vecchie di APT, con un
significato leggermente diverso: prima queste opzioni aggiungevano solamente
--no-triggers alle chiamate di dpkg(1) per la configurazione, ora APT
aggiunge questa opzione anche alle chiamate per lo spacchettamento e la
rimozione.
PackageManager::Configure
Valori permessi sono «all»,
«smart» e «no». Il valore predefinito è
«all», il che fa sì che APT configuri tutti i pacchetti.
Il modo «smart» (intelligente) è quello di configurare
solo i pacchetti che devono essere configurati prima che possa essere
spacchettato un altro pacchetto (Pre-Depends), e lasciare che il resto venga
configurato da dpkg(1) con una chiamata generata dall'opzione
ConfigurePending (vedere più sotto). D'altro canto, «no»
non configura nulla e si affida completamente a dpkg(1) per la
configurazione (che al momento fallisce se viene incontrata una relazione
Pre-Depends). Impostare questo parametro ad un qualsiasi valore diverso da all
attiva implicitamente in modo predefinito anche l'opzione successiva, dato che
altrimenti il sistema potrebbe finire in uno stato non configurato e
potenzialmente non avviabile.
DPkg::ConfigurePending
Se questa opzione è impostata, APT invoca dpkg
--configure --pending per lasciare che dpkg(1) gestisca tutte le
configurazioni e i trigger necessari. Questa opzione viene attivata
automaticamente in modo predefinito se l'opzione precedente non è
impostata a all, ma potrebbe essere utile disattivarla se si desidera eseguire
APT più volte di seguito, ad esempio in un installatore. In uno
scenario simile si può disattivare questa opzione in tutte le
esecuzioni tranne l'ultima.
DPkg::TriggersPending
Utile per la configurazione smart dato che un pacchetto
che ha trigger in sospeso non è considerato come installato e
dpkg(1) attualmente lo tratta come spacchettato che è un
ostacolo per le relazioni Pre-Depends (vedere il bug Debian #526774). Notare
che questo elaborerà tutti i trigger, non solo quelli necessari per
configurare il pacchetto in questione.
OrderList::Score::Immediate
I pacchetti essenziali (e le loro dipendenze) dovrebbero
essere configurati immediatamente dopo essere stati spacchettati. È una
buona idea farlo abbastanza presto nel processo di aggiornamento, dato che
queste chiamate di configurazione al momento richiedono anche
DPkg::TriggersPending che esegue un certo numero di trigger (che potrebbero
non essere necessari). I pacchetti essenziali ottengono in modo predefinito un
punteggio alto, ma il contrassegno di immediatezza è relativamente
basso (un pacchetto che ha una relazione Pre-Depends è valutato con un
punteggio maggiore). Queste opzioni e le altre nello stesso gruppo possono
essere usate per cambiare il punteggio. L'esempio seguente mostra le
impostazioni con i loro valori predefiniti.
OrderList::Score { Delete 500; Essential 200; Immediate 10; PreDepends 50; };
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:•Debug::pkgProblemResolver abilita l'output
relativo alle decisioni prese da dist-upgrade, upgrade, install, remove,
purge.
•Debug::NoLocking disabilita tutti i lock sui
file. Può essere usato per eseguire alcune operazioni (ad esempio
apt-get -s install) come utente non root.
•Debug::pkgDPkgPM stampa l'effettiva riga di
comando ogni volta che apt invoca dpkg(1).
•Debug::IdentCdrom disabilita l'inclusione di dati
statfs negli ID dei CD-ROM.
Segue un elenco completo delle opzioni di debug per apt.
Debug::Acquire::cdrom
Stampa informazioni relative all'accesso a fonti
cdrom://.
Debug::Acquire::ftp
Stampa informazioni relative allo scaricamento dei
pacchetti usando FTP.
Debug::Acquire::http
Stampa informazioni relative allo scaricamento dei
pacchetti usando HTTP.
Debug::Acquire::https
Stampa informazioni relative allo scaricamento dei
pacchetti usando HTTPS.
Debug::Acquire::gpgv
Stampa informazioni relative alla verifica delle firme di
cifratura fatta usando gpg.
Debug::aptcdrom
Produce in output informazioni sul processo di accesso a
raccolte di pacchetti memorizzati su CD-ROM.
Debug::BuildDeps
Descrive il processo di risoluzione delle dipendenze di
compilazione in apt-get(8).
Debug::Hashes
Produce in output ogni hash crittografico che viene
generato dalle librerie apt.
Debug::IdentCDROM
Quando viene generato l'ID per un CD-ROM, non include
informazioni da statfs, cioè il numero di blocchi usati e liberi sul
file system del CD-ROM.
Debug::NoLocking
Disabilita tutti i lock sui file. Per esempio permette di
eseguire due istanze di «apt-get update»
contemporaneamente.
Debug::pkgAcquire
Registra nel log quando vengono aggiunte o rimosse voci
dalla coda globale degli scaricamenti.
Debug::pkgAcquire::Auth
Produce in output messaggi di stato ed errori relativi
alla verifica dei codici di controllo e delle firme di cifratura dei file
scaricati.
Debug::pkgAcquire::Diffs
Produce in output informazioni sullo scaricamento e
l'applicazione dei diff per gli elenchi degli indici dei pacchetti, e gli
errori relativi a tali diff.
Debug::pkgAcquire::RRed
Produce in output informazioni relative all'applicazione
di patch agli elenchi dei pacchetti di apt quando vengono scaricati i diff per
gli indici invece degli indici completi.
Debug::pkgAcquire::Worker
Registra nel log tutte le interazioni con i sottoprocessi
che effettuano realmente gli scaricamenti.
Debug::pkgAutoRemove
Registra nel log gli eventi relativi allo stato di
automaticamente installato dei pacchetti e alla rimozione dei pacchetti non
utilizzati.
Debug::pkgDepCache::AutoInstall
Genera messaggi di debug che descrivono quali pacchetti
vengono automaticamente installati per risolvere delle dipendenze. Corrisponde
al passo iniziale di installazione automatica effettuato, ad esempio, in
apt-get install e non all'intero risolutore di dipendenze di apt; per quello
vedere Debug::pkgProblemResolver.
Debug::pkgDepCache::Marker
Genera messaggi di debug che descrivono quali pacchetto
vengono contrassegnati per essere mantenuti/installati/rimossi mentre il
ProblemResolver fa il suo lavoro. Ogni aggiunta o rimozione può causare
azioni aggiuntive che vengono mostrate con un rientro di due spazi in
più sotto alla voce originale. Il formato per ogni riga è
MarkKeep, MarkDelete o MarkInstall seguito da nome-pacchetto <a.b.c ->
d.e.f | x.y.z> (sezione) dove a.b.c è l'attuale versione del
pacchetto, d.e.f è la versione presa in considerazione per
l'installazione e x.y.z è una versione più recente, ma non
considerata per l'installazione (a causa di un punteggio di pin più
basso). Gli ultimi due possono essere omessi se non esistono o se sono uguali
alla versione installata. sezione è il nome della sezione in cui
compare il pacchetto.
Debug::pkgDPkgPM
Quando invoca dpkg(1), produce in output l'esatta
riga di comando usata, con gli argomenti separati da un singolo carattere di
spazio.
Debug::pkgDPkgProgressReporting
Produce in output tutti i dati ricevuti da dpkg(1)
sul descrittore del file di stato ed ogni errore incontrato durante la sua
analisi.
Debug::pkgOrderList
Genera un trace dell'algoritmo che decide l'ordine in cui
apt deve passare i pacchetti a dpkg(1).
Debug::pkgPackageManager
Produce in output messaggi di stato che indicano i passi
effettuati nell'invocazione di dpkg(1).
Debug::pkgPolicy
Produce in output la priorità di ogni elenco di
pacchetti all'avvio.
Debug::pkgProblemResolver
Traccia l'esecuzione del risolutore di dipendenze (questo
ha effetto solo per ciò che accade quando viene incontrato un problema
complesso di dipendenze).
Debug::pkgProblemResolver::ShowScores
Visualizza un elenco di tutti i pacchetti installati con
il loro punteggio calcolato che è usato dal pkgProblemResolver. La
descrizione dei pacchetti è la stessa descritta in
Debug::pkgDepCache::Marker
Debug::sourceList
Stampa informazioni sui fornitori lette da
/etc/apt/vendors.list.
Debug::RunScripts
Display the external commands that are called by apt
hooks. This includes e.g. the config options DPkg::{Pre,Post}-Invoke or
APT::Update::{Pre,Post}-Invoke.
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.confFile di configurazione di APT. Voce di configurazione:
Dir::Etc::Main.
/etc/apt/apt.conf.d/
Frammenti di file di configurazione di APT. Voce di
configurazione: Dir::Etc::Parts.
VEDERE ANCHE¶
apt-cache(8), apt-config(8), apt_preferences(5).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). 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 Daniel Burrows <dburrows@debian.org>Documentazione iniziale di Debug::*.
NOTE¶
- 1.
- Pagina dei bug di APT
09 giugno 2012 | APT 1.0.9.8.4 |