Provided by: apt_2.9.8_amd64 bug

NOME

       apt_preferences - file di controllo delle preferenze per APT

DESCRIZIONE

       Il file delle preferenze di APT, /etc/apt/preferences e i file frammento nella directory
       /etc/apt/preferences.d/ possono essere usati per controllare quale versione verrà
       selezionata per l'installazione.

       Quando il file sources.list(5) contiene riferimenti a più di una distribuzione, potrebbero
       essere disponibili per l'installazione diverse versioni di un pacchetto (ad esempio stable
       e testing). APT assegna una priorità a ciascuna versione che è disponibile. Tenendo in
       considerazione i limiti imposti dalle dipendenze, apt-get seleziona per l'installazione la
       versione con la più alta priorità. Le preferenze di APT scavalcano le priorità che APT
       assegna in modo predefinito alle versioni dei pacchetti, dando perciò all'utente il
       controllo su quale venga selezionata per l'installazione.

       Quando il file sources.list(5) contiene riferimenti a più di una fonte, potrebbero essere
       disponibili più istanze della stessa versione di un pacchetto. In questo caso apt-get
       scarica l'istanza elencata per prima nel file sources.list(5). Le preferenze di APT non
       hanno effetto sulla scelta dell'istanza, ma solo sulla scelta della versione.

       Le preferenze sono uno strumento potente nelle mani di un amministratore di sistema, ma
       possono anche diventare il suo incubo peggiore se usate con poca cautela! APT non mette in
       dubbio le preferenze scelte, perciò impostazioni sbagliate possono avere come risultato
       pacchetti non installabili o decisioni sbagliate durante l'aggiornamento dei pacchetti. Se
       vengono mescolati più rilasci di distribuzione può sorgere un numero ancora più grande di
       problemi, se non si sono capiti bene i concetti spiegati nei prossimi paragrafi. I
       pacchetti inclusi in uno specifico rilascio non sono testati (e perciò non sempre
       funzionano come atteso) in rilasci più vecchi o più nuovi, o insieme ad altri pacchetti da
       altri rilasci. Ci si consideri avvertiti.

       Notare che i file nella directory /etc/apt/preferences.d vengono analizzati in ordine
       alfanumerico crescente e i loro nomi devono conformarsi alle seguenti convenzioni: non
       devono avere estensione o avere estensione "pref", e possono contenere solo caratteri
       alfanumerici, trattini (-), trattini bassi (_) e punti (.). In caso contrario APT stampa
       un messaggio che informa che un file è stato ignorato, a meno che tale file non
       corrisponda ad un modello nell'elenco di configurazione Dir::Ignore-Files-Silently, nel
       qual caso viene ignorato in modo silenzioso.

   Assegnazioni della priorità predefinite di APT
       Se non c'è alcun file di preferenze o non c'è nel file una voce applicabile ad una
       versione particolare, allora la priorità assegnata a quella versione è la priorità della
       distribuzione a cui essa appartiene. È possibile distinguere una distribuzione, il
       «rilascio obiettivo», che riceve in modo predefinito una priorità maggiore delle altre
       distribuzioni. Il rilascio obiettivo può essere impostato nella riga di comando di apt-get
       o nel file di configurazione di APT, /etc/apt/apt.conf. Notare che questa impostazione ha
       precedenza rispetto a qualsiasi priorità generale sia stata impostata nel file
       /etc/apt/preferences descritto in seguito, ma non rispetto a pacchetti per cui è
       specificatamente indicato un pin. Per esempio,

           apt-get install -t testing un-pacchetto

           APT::Default-Release "stable";

       Se il rilascio obiettivo è stato specificato, allora APT usa il seguente algoritmo per
       impostare le priorità delle versioni di un pacchetto. Assegna:

       priorità 1
           to the versions coming from archives which in their Release files are marked as
           "NotAutomatic: yes" but not as "ButAutomaticUpgrades: yes" like the Debian
           experimental archive, as well as versions that are not phased on this systems.

       priorità 100
           alla versione che è già installata (se esiste) e alla versioni che provengono da
           archivi che, nei loro file Release, sono contrassegnati come «NotAutomatic: yes» e
           «ButAutomaticUpgrades: yes», come l'archivio Debian backports a partire da
           squeeze-backports.

       priorità 500
           alle versioni che non appartengono al rilascio obiettivo.

       priorità 990
           alle versioni che appartengono al rilascio obiettivo.
       Alla versione viene assegnata la più alta di queste priorità la cui descrizione
       corrisponde alla versione.

       Se il rilascio obiettivo non è stato specificato, allora APT assegna semplicemente la
       priorità 100 a tutte le versioni di pacchetto installate e la priorità 500 a tutte le
       versioni di pacchetto non installate, tranne le versioni che provengono da archivi che,
       nei loro file Release, sono contrassegnati come «NotAutomatic: yes»; queste ultime
       versioni hanno priorità 1, oppure priorità 100 se sono in aggiunta contrassegnate come
       «ButAutomaticUpgrades: yes».

       Per determinare quale versione di un pacchetto installare APT applica poi le seguenti
       regole, elencate in ordine di precedenza.

       •   Non retrocede mai ad una versione più bassa, a meno che la priorità della versione
           disponibile non sia maggiore di 1000. («Retrocedere» significa installare una versione
           meno recente di un pacchetto al posto di una più recente. Notare che nessuna delle
           priorità predefinite di APT è maggiore di 1000; priorità così alte possono solo essere
           impostate nel file delle preferenze. Notare inoltre che retrocedere un pacchetto può
           essere rischioso.)

       •   Installa la versione con la priorità più alta.

       •   Se due o più versioni hanno la stessa priorità, installa la versione più recente (cioè
           quella con il numero di versione più alto).

       •   Se due o più versioni hanno la stessa priorità e lo stesso numero di versione, ma
           hanno una qualche differenza in alcuni dei loro metadati, oppure viene usata l'opzione
           --reinstall, installa quella non installata.

       In una situazione tipica, la versione installata di un pacchetto (priorità 100) non è così
       recente come una delle versioni disponibili dalle fonti elencate nel file sources.list(5)
       (priorità 500 o 990). Quindi il pacchetto viene aggiornato quando viene eseguito apt-get
       install un-pacchetto o apt-get upgrade.

       Più raramente, la versione installata di un pacchetto è più recente di qualsiasi altra
       versione disponibile. Il pacchetto non viene retrocesso quando viene eseguito apt-get
       install un-pacchetto o apt-get upgrade.

       A volte la versione installata di un pacchetto è più recente di quella che appartiene al
       rilascio obiettivo, ma non così recente come la versione che appartiene a qualche altra
       distribuzione. Un tale pacchetto verrà di fatto aggiornato quando viene eseguito apt-get
       install un-pacchetto o apt-get upgrade, perché almeno una delle versioni disponibili ha
       una priorità più alta di quella installata.

   Phased Updates
       APT understands a field called Phased-Update-Percentage which can be used to control the
       rollout of a new version. It is an integer between 0 and 100.

       A system's eligibility to a phased update is determined by seeding random number generator
       with the package source name, the version number, and /etc/machine-id, and then
       calculating an integer in the range [0, 100]. If this integer is larger than the
       Phased-Update-Percentage, the version is pinned to 1, and thus held back. Otherwise,
       normal policy rules apply.

       In case you have multiple systems that you want to receive the same set of updates, you
       can set APT::Machine-ID to a UUID such that they all phase the same, or set
       APT::Get::Never-Include-Phased-Updates or APT::Get::Always-Include-Phased-Updates to true
       such that APT will never/always consider phased updates.

   L'effetto delle preferenze di APT
       Il file delle preferenze di APT permette all'amministratore di sistema di controllare
       l'assegnazione delle priorità. Il file consiste di uno o più record su più righe, separati
       da righe vuote. I record possono avere una tra due forme: una forma specifica e una forma
       generica.

       •   La forma specifica assegna una priorità (una «Pin-Priority») ad uno o più pacchetti
           specifici con una versione o un intervallo di versioni specifici. Ad esempio, il
           record seguente assegna una priorità alta a tutte le versioni del pacchetto perl il
           cui numero di versione inizia con «5.32». Più pacchetti possono essere separati da
           spazi.

               Package: perl
               Pin: version 5.32*
               Pin-Priority: 1001

       •   La forma generica assegna una priorità a tutte le versioni di pacchetto in una data
           distribuzione (cioè a tutte le versioni dei pacchetti che sono elencati in un
           determinato file Release) o a tutte le versioni di pacchetto che provengono da un
           particolare sito Internet identificato in base al suo nome di dominio pienamente
           qualificato.

           Queste voci in forma generica nel file di preferenze di APT si applicano solo ai
           gruppi di pacchetti. Per esempio, il record seguente assegna una priorità alta a tutte
           le versioni di pacchetto disponibili dal sito locale.

               Package: *
               Pin: origin ""
               Pin-Priority: 999

           Un avvertimento: la parola chiave usata in questo caso è «origin» e può essere usata
           per indicare un nome host. Il record seguente assegna una priorità alta a tutte le
           versioni disponibili dal server identificato dal nome host «ftp.de.debian.org»

               Package: *
               Pin: origin "ftp.de.debian.org"
               Pin-Priority: 999

           Questo non deve essere confuso con l'Origine di una distribuzione come indicata in un
           file Release. Ciò che segue il tag «Origin:» in un file Release non è un indirizzo
           Internet, ma un nome di autore o produttore, come «Debian» o «Ximian».

           Il record seguente assegna una priorità bassa a tutte le versioni di pacchetto che
           appartengono ad una qualsiasi distribuzione il cui nome di archivio è «unstable».

               Package: *
               Pin: release a=unstable
               Pin-Priority: 50

           Il record seguente assegna una priorità alta a tutte le versioni di pacchetto che
           appartengono ad una qualsiasi distribuzione il cui nome in codice è «trixie».

               Package: *
               Pin: release n=trixie
               Pin-Priority: 900

           Il record seguente assegna una priorità alta a tutte le versioni di pacchetto che
           appartengono ad un qualsiasi rilascio il cui nome di archivio è «stable» e il cui
           numero di versione del rilascio è «12».

               Package: *
               Pin: release a=stable, v=12
               Pin-Priority: 500

       L'effetto dell'operatore virgola è simile ad un «AND» nella logica: tutte le condizioni
       devono essere soddisfatte affinche il pin faccia corrispondenza. Esiste una sola
       eccezione: per ciascun tipo di condizione (come due condizioni «a»), solo l'ultima di
       queste condizioni viene controllata.

   Matching packages in the Package field
       The Package field specifies the package that a pinning priority is applied to. The field
       can either contain a binary package name, a source package name (prefixed with "src:"), a
       glob(7) expression or a regular expression (surrounded by slashes). Multiple package
       names, glob(7) expressions and regular expressions can be listed separated by whitespace
       in which case the record will match any of the matched packages.

       By default, only packages of the native architecture are matched. To match binary packages
       of any architecture, add the :any suffix to the package name. You can also limit matching
       to a specific architecture by appending the architecture name to the package name,
       separated by a colon character.

       For example, the following example uses a glob expression and a regular expression to
       assign the priority 500 to all packages from experimental where the name starts with gnome
       (as a glob(7)-like expression) or contains the word kde (as a POSIX extended regular
       expression surrounded by slashes).

           Package: gnome* /kde/
           Pin: release a=experimental
           Pin-Priority: 500

       Di norma queste espressioni possono essere utilizzate ovunque c'è una stringa. Perciò il
       pin seguente assegna la priorità 990 a tutti i pacchetti provenienti da un rilascio il cui
       nome inizia con lunar.

           Package: *
           Pin: release n=lunar*
           Pin-Priority: 990

       Se un'espressione regolare viene usata in un campo Package, il comportamento è equivalente
       a quello che si otterrebbe se l'espressione regolare fosse sostituita da un elenco di
       tutti i nomi di pacchetto a cui corrisponde. Non è chiaro se questo comportamento verrà
       modificato in futuro; perciò si dovrebbero sempre indicare per primi i pin con caratteri
       jolly, in modo che i pin specifici successivi abbiano precedenza su di essi. Il modello
       «*» in un campo Package non viene considerato come un'espressione glob(7).

       To pin all binaries produced by the apt source package of this APT's version to 990, you
       can do:

           Package: src:apt
           Pin: version 2.9.8
           Pin-Priority: 990

       Source package pinning can be combined with regular expressions and glob patterns, and can
       also take a binary architecture.

       For example, let's pin all binaries for all architectures produced by any source package
       containing apt in its name to 990:

           Package: src:*apt*:any
           Pin: version *
           Pin-Priority: 990

       The :any suffix makes sure to select binary packages from any architecture. Without that
       suffix, apt implicitly assumes the :native suffix which would only select packages from
       the native architecture.

   Come APT interpreta le priorità
       Le priorità (P) assegnate nel file delle preferenze di APT devono essere rappresentate da
       interi positivi o negativi. Vengono interpretate nel modo seguente (semplificando le
       cose):

       P >= 1000
           causa l'installazione di una versione anche se ciò costituisce una retrocessione del
           pacchetto

       990 <= P < 1000
           causa l'installazione di una versione anche se non proviene dal rilascio obiettivo, a
           meno che la versione installata non sia più recente

       500 <= P < 990
           causa l'installazione di una versione, a meno che non ci sia una versione disponibile
           appartenente al rilascio obiettivo o la versione installata non sia più recente

       100 <= P < 500
           causa l'installazione di una versione, a meno che non ci sia una versione disponibile
           appartenente ad una qualche altra distribuzione o la versione installata non sia più
           recente

       0 < P < 100
           causa l'installazione di una versione solo se nessuna versione del pacchetto è
           installata

       P < 0
           impedisce l'installazione della versione

       P = 0
           ha un comportamento non definito, non usarlo.

       Il primo record in forma specifica, che corrisponde ad una versione di pacchetto
       disponibile, determina la priorità della versione del pacchetto. In caso contrario, la
       priorità del pacchetto viene definita come il valore massimo di tutte le priorità definite
       da record in forma generica che corrispondono alla versione. I record definiti usando
       modelli nel campo Pin diversi da «*» sono trattati come record in forma specifica.

       Per esempio, supponendo che il file di preferenze di APT contenga i tre record descritti
       in precedenza:

           Package: perl
           Pin: version 5.32*
           Pin-Priority: 1001

           Package: *
           Pin: origin ""
           Pin-Priority: 999

           Package: *
           Pin: release unstable
           Pin-Priority: 50

       Allora:

       •   Verrà installata la più recente versione disponibile del pacchetto perl, fintanto che
           il suo numero di versione inizia con «5.32». Se è disponibile una qualsiasi versione
           5.32* di perl e la versione installata è 5.36*, allora perl verrà retrocesso.

       •   Una versione di un qualsiasi pacchetto diverso da perl che sia disponibile sul sistema
           locale ha la priorità rispetto ad altre versioni, incluse quelle che appartengono al
           rilascio obiettivo.

       •   Una versione di un pacchetto la cui origine non sia il sistema locale, ma un qualche
           altro sito elencato in sources.list(5) e che appartiene ad una distribuzione unstable,
           viene installata solamente se è selezionata per l'installazione e nessuna versione del
           pacchetto è già installata.

   Determinazione delle proprietà di versione del pacchetto e di distribuzione
       Le posizioni elencate nel file sources.list(5) dovrebbero fornire i file Packages e
       Release che descrivono i pacchetti disponibili in quelle posizioni.

       Il file Packages si trova normalmente nella directory .../dists/nome-dist/componente/arch:
       per esempio, .../dists/stable/main/binary-i386/Packages. È costituito da una serie di
       record su più righe, uno per ogni pacchetto disponibile in tale directory. In ciascun
       record solo due righe sono rilevanti per l'impostazione delle priorità di APT:

       la riga Package:
           indica il nome del pacchetto

       la riga Version:
           indica il numero di versione per il pacchetto indicato

       Il file Release si trova normalmente nella directory .../dists/nome-dist: ad esempio,
       .../dists/stable/Release o .../dists/bookworm/Release. Consiste di un record su più righe
       che si applica a tutti i pacchetti nell'albero di directory sottostante alla directory
       genitrice. A differenza di ciò che avviene per il file Packages, quasi tutte le righe in
       un file Release sono importanti per l'impostazione delle priorità di APT:

       la riga Archive: o Suite:
           indica l'archivio a cui appartengono tutti i pacchetti nell'albero di directory. Per
           esempio, la riga «Archive: stable» o «Suite: stable» specifica che tutti i pacchetti
           nell'albero di directory sottostante la directory che contiene il file Release sono
           nell'archivio stable. Per specificare questo valore nelle preferenze di APT si deve
           usare la riga:

               Pin: release a=stable

       la riga Codename:
           indica il nome in codice a cui appartengono tutti i pacchetti nell'albero di
           directory. Per esempio, la riga «Codename: trixie» specifica che tutti i pacchetti
           nell'albero di directory sottostante la directory che contiene il file Release
           appartengono ad una versione chiamata trixie. Per specificare questo valore nelle
           preferenze di APT si deve usare la riga:

               Pin: release n=trixie

       la riga Version:
           indica la versione del rilascio. Per esempio, i pacchetti nell'albero potrebbero
           appartenere alla versione 12 del rilascio Debian. Notare che normalmente non esiste un
           numero di versione per le distribuzioni testing e unstable, perché non sono ancora
           state rilasciate. Per specificare questo valore nelle preferenze di APT si deve usare
           una delle seguenti righe:

               Pin: release v=12
               Pin: release a=stable, v=12
               Pin: release 12

       la rigaComponent:
           indica le componenti con le varie licenze associate ai pacchetti nell'albero di
           directory del file Release. Per esempio, la riga «Component: main» specifica che tutti
           i pacchetti nell'albero di directory provengono dalla componente main, e quindi che
           sono rilasciati nei termini elencati nelle Linee guida per il Software Libero di
           Debian. Per specificare questa componente nelle preferenze di APT si deve usare la
           riga:

               Pin: release c=main

       la riga Origin:
           indica l'origine dei pacchetti nell'albero di directory del file Release. Normalmente
           è Debian. Per specificare questa origine nelle preferenze di APT si deve usare la
           riga:

               Pin: release o=Debian

       la riga Label:
           indica l'etichetta dei pacchetti nell'albero di directory del file Release.
           Normalmente è Debian. Per specificare questa etichetta nelle preferenze di APT si deve
           usare la riga:

               Pin: release l=Debian

       Tutti i file Packages e Release recuperati dalle posizioni elencate nel file
       sources.list(5) sono memorizzati nella directory /var/lib/apt/lists o nel file indicato
       dalla variabile Dir::State::Lists nel file apt.conf. Per esempio, il file
       debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release contiene il file
       Release recuperato dal sito debian.lcs.mit.edu per i file dell'architettura binary-i386
       nella componente contrib della distribuzione unstable.

   Righe opzionali in un record delle preferenze di APT
       Ogni record nel file delle preferenze di APT può iniziare opzionalmente con una o più
       righe che cominciano con la parola Explanation:. Ciò fornisce un posto dove mettere
       commenti.

ESEMPI

   Seguire Stable in modo continuativo
       Il seguente file di preferenze di APT fa sì che APT assegni una priorità più alta di
       quella predefinita (500) a tutte le versioni di pacchetto che appartengono alla
       distribuzione stable, e una priorità eccezionalmente bassa alle versioni di pacchetto che
       appartengono alle altre distribuzioni Debian.

           Explanation: Disinstallare o non installare ogni versione di
           Explanation: pacchetto originata da Debian che non sia nella
           Explanation: distribuzione stable
           Package: *
           Pin: release a=stable
           Pin-Priority: 900

           Package: *
           Pin: release o=Debian
           Pin-Priority: -10

       Con un file sources.list(5) adatto e il file di preferenze descritto sopra, uno qualsiasi
       dei seguenti comandi farà sì che APT aggiorni il sistema alle versioni più recenti di
       stable.

           apt-get install nome-pacchetto
           apt-get upgrade
           apt-get dist-upgrade

       Il seguente comando farà sì che APT aggiorni il pacchetto specificato alla versione più
       recente nella distribuzione testing; il pacchetto non verrà successivamente aggiornato a
       meno di non usare nuovamente questo comando.

           apt-get install pacchetto/testing

   Seguire Testing o Unstable in modo continuativo
       Il seguente file di preferenze di APT fa sì che APT assegni una priorità alta alle
       versioni di pacchetto nella distribuzione testing, una priorità più bassa alle versioni di
       pacchetto nella distribuzione unstable, e una priorità eccezionalmente bassa alle versioni
       di pacchetto nelle altre distribuzioni Debian.

           Package: *
           Pin: release a=testing
           Pin-Priority: 900

           Package: *
           Pin: release a=unstable
           Pin-Priority: 800

           Package: *
           Pin: release o=Debian
           Pin-Priority: -10

       Con un file sources.list(5) adatto e il file di preferenze descritto sopra, uno qualsiasi
       dei seguenti comandi farà sì che APT aggiorni il sistema alle versioni più recenti di
       testing.

           apt-get install nome-pacchetto
           apt-get upgrade
           apt-get dist-upgrade

       Il comando seguente farà sì che APT aggiorni il pacchetto specificato alla più recente
       versione nella distribuzione unstable. Successivamente, apt-get upgrade aggiornerà il
       pacchetto alla versione più recente in testing, se è più nuova di quella installata,
       altrimenti alla più recente versione in unstable se è più recente di quella installata.

           apt-get install pacchetto/unstable

   Seguire l'evoluzione di un rilascio in base al nome in codice
       Il seguente file delle preferenze di APT farà sì che APT assegni una priorità più alta di
       quella predefinita (500) a tutte le versioni di pacchetto che appartengono alla
       distribuzione con il nome in codice specificato, e una priorità eccezionalmente bassa alle
       versioni di pacchetto che appartengono ad altre distribuzioni, nomi in codice e archivi
       Debian. Notare che con questa preferenza, APT segue la migrazione di un rilascio
       dall'archivio testing a stable e successivamente a oldstable. Se si vuole seguire il
       progresso, ad esempio, di testing indipendentemente dai cambi di nome in codice si devono
       usare le configurazioni negli esempi precedenti.

           Explanation: Disinstallare o non installare qualsiasi versione di pacchetto
           Explanation: originata da Debian che non sia nella distribuzione con
           Explanation: nome in codice trixie o sid
           Package: *
           Pin: release n=trixie
           Pin-Priority: 900

           Explanation: Debian unstable ha sempre il nome in codice side
           Package: *
           Pin: release n=sid
           Pin-Priority: 800

           Package: *
           Pin: release o=Debian
           Pin-Priority: -10

       Con un file sources.list(5) adatto e il file di preferenze descritto sopra, uno qualsiasi
       dei seguenti comandi farà sì che APT aggiorni il sistema alle versioni più recenti nel
       rilascio con nome in codice trixie.

           apt-get install nome-pacchetto
           apt-get upgrade
           apt-get dist-upgrade

       Il comando seguente farà sì che APT aggiorni il pacchetto specificato alla più recente
       versione nella distribuzione sid. Successivamente, apt-get upgrade aggiornerà il pacchetto
       alla versione più recente in trixie, se è più nuova di quella installata, altrimenti alla
       più recente versione in sid se è più recente di quella installata.

           apt-get install pacchetto/sid

FILE

       /etc/apt/preferences
           File di preferenze di versione. Qui si specifica il "pinning", ossia una preferenza a
           prendere determinati pacchetti da una fonte separata o da una diversa versione di una
           distribuzione. Voce di configurazione: Dir::Etc::Preferences.

       /etc/apt/preferences.d/
           Frammenti di file per le preferenze di versione. Voce di configurazione:
           Dir::Etc::PreferencesParts.

VEDERE ANCHE

       apt-get(8) apt-cache(8) apt.conf(5) sources.list(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, 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.

AUTORE

       Team APT

NOTE

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