Differences between revisions 1 and 2
Revision 1 as of 2019-09-13 12:22:18
Size: 9892
Comment: First translated page - partial version
Revision 2 as of 2019-09-13 15:28:59
Size: 10218
Comment: first complete IT translation - English master v. 67
Deletions are marked like this. Additions are marked like this.
Line 103: Line 103:
'''Per preferire sempre i pacchetti''' da {{{stretch-backports}}} (e perciò permettere gli [[aggiornamenti con Apt]]), impostare una priorità più alta per il pacchetto proveniente dal rilascio {{{stretch-backports}}}. Modificare il file {{{/etc/apt/preferences.d/99debian-backports}}} (o crearlo): '''Per preferire sempre i pacchetti''' da {{{stretch-backports}}} (e perciò permettere gli aggiornamenti con Apt), impostare una priorità più alta per il pacchetto proveniente dal rilascio {{{stretch-backports}}}. Modificare il file {{{/etc/apt/preferences.d/99debian-backports}}} (o crearlo):
Line 136: Line 136:
File naming in {{{/etc/apt/preferences.d/}}} is free but the last in alphabetical order takes precedence.

The `*` after `Package:`is not a wildcard, but a special case that means "everything". Wildcards are '''NOT''' supported. However, traling wildcards are accepted in versions (`2.6*` will match both `2.6` and `2.6.18`)



=== Other pinning notes ===

In addition `origin`, you can pin packages based on other variables. `apt-cache policy` shows other variables that can be used as the `Pin:` key:
Il modo in cui si nominano i file in {{{/etc/apt/preferences.d/}}} è libero ma l'ultimo in ordine alfabetico ha la precedenza.

Il `*` dopo `Package:` non è un carattere jolly, ma un caso speciale che significa "tutto". I caratteri jolly '''NON''' sono supportati. Tuttavia vendgono accettati caratteri jolly alla fine delle versioni (`2.6*` corrisponde sia a `2.6` sia a `2.6.18`).


=== Altre note sul pinning ===

In aggiunta a usare `origin`, si può fare il pinning di pacchetti sulla base di altre variabili. `apt-cache policy` mostra le altre variabili che possono essere utilizzate come chiave per il `Pin:`:
Line 152: Line 151:
 * `release`: the DebianRelease full name
 * `archive`: archive (base directory in the repository)
 * `release`: il nome completo del [[it/DebianRelease|rilascio Debian]]
 * `archive`: archivio (directory base nel repository
Line 155: Line 154:
 * `origin`: domain name of the repository (ToDo verify)  * `origin`: nome di dominio del repository ('''informazione da verificare''')
Line 157: Line 156:
 * `b`,`architecture`: processor [[SupportedArchitectures|architecture]]

Thes
e variables are provided by `Release` files in [[DebianRepository|Debian repositories]].

See also
:

 * [[https://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin| APT HOWTO (Obsolete Documentation) Managing packages]]
 * `b`,`architecture`: [[it/SupportedArchitectures|architettura]] del processore

Quest
e variabili sono fornite dai file `Release` nei [[it/DebianRepository|repository Debian]].

Vedere anche
:

 * [[https://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin| APT HOWTO (Documentazione obsoleta) sulla gestione dei pacchetti]]
Line 165: Line 164:
 * John H. Robinson's [[https://web.archive.org/web/20021010033255/http://jaqque.sbih.org/kplug/apt-pinning.html|Apt-Pinning for beginners]] (2002)  * John H. Robinson's [[https://web.archive.org/web/20021010033255/http://jaqque.sbih.org/kplug/apt-pinning.html|Apt-Pinning per principianti]] (2002)
Line 171: Line 170:
Apt accepts configuration files (without extension) in {{{/etc/apt/apt.conf.d/}}}. These are processed by Apt in numeric/alphabetical order. {{{/etc/apt/apt.conf}}} is also valid but deprecated.

These files can contain various directives:

 * {{{Dpkg::Pre-Install-Pkgs {"mycommand";};}}}: executes {{{mycommand}}} before package installation/unpacking by Dpkg.
 * {{{Dpkg::Pre-Invoke {"mycommand";};}}}: executes {{{mycommand}}} before apt calls dpkg
 * {{{Dpkg::Post-Invoke {"mycommand";};}}}: executes {{{mycommand}}} after apt calls dpkg
 * {{{Pre-Install-Pkgs}}}: ??? '''ToDo''' /* package filename in /var/cache/apt/archives/ is passed as stdin */
 * {{{APT::Default-Release "testing";}}}: sets the default Debian release used by Apt ('''ToDo''' use case?)
Apt accetta file di configurazione (senza estensione) in {{{/etc/apt/apt.conf.d/}}}. Questi vengono elaborati da Apt in ordine numerico/alfabetico. Anche {{{/etc/apt/apt.conf}}} è valido, ma deprecato.

Questi file possono contenere varie direttive:

 * {{{Dpkg::Pre-Install-Pkgs {"miocomando";};}}}: esegue {{{miocomando}}} prima dell'installazione/spacchettamento da parte di dpkg.
 * {{{Dpkg::Pre-Invoke {"miocomando";};}}}: esegue {{{miocomando}}} prima che apt chiami dpkg
 * {{{Dpkg::Post-Invoke {"miocomando";};}}}: esegue {{{miocomando}}} dopo che apt ha chiamato dpkg
 * {{{Pre-Install-Pkgs}}}: ??? '''ToDo''' /* package filename in /var/cache/apt/archives/ is passed as stdin */
 * {{{APT::Default-Release "testing";}}}: imposta il rilascio Debian usato in modo predefinito da Apt ('''ToDo''' caso d'uso?)
Line 182: Line 181:
 * {{{Acquire::http::Proxy "http://proxy:8080";}}}: sets the proxy for HTTP downloads
 * {{{Acquire::https::Proxy "https://proxy:8443";}}}: sets the proxy for HTTPS downloads
 * {{{Acquire::http::Timeout "2";}}}: sets the timeout for HTTP downloads
 * {{{Acquire::https::Timeout "2";}}}: sets the timeout for HTTPS downloads
 * {{{Acquire::ftp::Timeout "2";}}}: sets the timeout for FTP downloads


If you really have to use FTP, this sets the FTP proxy:
 * {{{Acquire::http::Proxy "http://proxy:8080";}}}: imposta il proxy per scaricamenti via HTTP
 * {{{Acquire::https::Proxy "https://proxy:8443";}}}: imposta il proxy per scaricamenti via HTTPS
 * {{{Acquire::http::Timeout "2";}}}: imposta il tempo di scadenza per scaricamenti HTTP
 * {{{Acquire::https::Timeout "2";}}}: imposta il tempo di scadenza per scaricamenti HTTPS
 * {{{Acquire::ftp::Timeout "2";}}}: imposta il tempo di scadenza per scaricamenti FTP

Se si deve veramente utilizzare FTP, quello che segue imposta il proxy FTP:

Translation(s): English - Italiano


LAVORI IN CORSO: refactoring of AptConf, AptPreferences and other apt configuration pages

Apt è configurato da diverse risorse, incluse:


apt_preferences (pinning di APT)

Quando sono abilitati più repository Apt, un pacchetto può essere presente in diversi. Per sapere quale deve essere installato, Apt assegnapriorità ai pacchetti. Quella predefinita è 500.

  • Se i pacchetti hanno la stessa priorità, vince il pacchetto con il più alto numero di versione (il più recente).
  • Se i pacchetti hanno priorità diverse, vince quella con la priorità più alta.

Il Pinning permette di cambiare priorità per solo alcuni pacchetti/repository, in modo che si possa:

  • preferire un pacchetto Debian Backports rispetto a uno di Debian Stable: in modo predefinito i repository Debian backports hanno una priorità più bassa di stabile (100). Non vengono installati o aggiornati a meno che non siano esplicitamente configurati per farlo (o il pacchetto esista solamente in backports).

  • permettere solo alcuni pacchetti da un repository di terze parti e ignorare gli altri anche se più recenti: si può voler aggiungere repository sperimentali/unstable/di terze parti con software aggiuntivo o più recente, ma permettere l'installazione solo di alcuni dei pacchetti.

  • forzare la regressione di un pacchetto (non raccomandato).

<!> Con alcune eccezioni (Debian Backports) non è raccomandato mescolare repository o rilasci a meno che non siano preparati specialmente. Vedere Non rompere Debian. Non abilitare repository Debian Unstable su Debian Stable. Quando si usa il pinning è necessario assicurarsi per conto proprio della compatibilità tra i pacchetti dato che Debian non la garantisce.

Per visualizzare la priorità di un pacchetto specifico, usare apt-cache policy nomepacchetto:

$ apt-cache policy claws-mail
claws-mail:
  Installed : (none)
  Candidate : 3.14.1-3+b1
 Version table :
     3.17.1-1~bpo9+1 100
        100 https://deb.debian.org/debian stretch-backports/main amd64 Packages
     3.14.1-3+b1 500
        500 https://deb.debian.org/debian stretch/main amd64 Package

Nell'esempio sopra il pacchetto che verrebbe installato (Candidate) sarebbe il più vecchio, la versione 3.14 da stretch/main. stretch-backports/main ha una versione più nuova 3.17, ma con una priorità più bassa (100 invece di 500 di stretch).

Per visualizzare la priorità globale di ogni fonte di Apt (repository):

$ apt-cache policy 
Package files: 
 # Il repository predefinito https://wiki.debian.org/DebianStable con priorità 500
 500 https://deb.debian.org/debian stable/main amd64 Packages
     o=Debian,n=stable,l=Debian,c=main,b=amd64
     origin deb.debian.org

 # Il repository per le https://wiki.debian.org/PointReleases Debian (risoluzione di problemi di sicurezza e bug gravi ~ ogni 2 mesi)
 500 https://deb.debian.org/debian stable-updates/main amd64 Packages
     release o=Debian,a=oldstable-updates,n=stable-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org

 # Il repository https://wiki.debian.org/DebianSecurity con tempo di risposta breve per risoluzione di problemi di sicurezza
 500 http://security.debian.org stable/updates/main amd64 Packages
     release v=9,o=Debian,a=oldstable,n=stable,l=Debian-Security,c=main,b=amd64
     origin security.debian.org

 # Il repository https://wiki.debian.org/DebianBackports che ha una priorità di 100
 100 https://deb.debian.org/debian stable-backports/main amd64 Packages
     release o=Debian Backports,a=stable-backports,n=stable-backports,l=Debian Backports,c=main,b=amd64
     origin deb.debian.org

 # La priorità dei pacchetti installati localmente
 100 /var/lib/dpkg/status 
     release a=now

Forzare l'installazione di un pacchetto da un repository

Per dire ad Apt di installare un pacchetto da stretch-backports, anche se il pacchetto ha priorità bassa:

apt install -t stretch-backports claws-mail

Notare che il pacchetto non verrà automaticamente aggiornato in caso di esecuzione di un aggiornamento con Apt.

Preferire sempre i pacchetti da un repository

Per preferire sempre i pacchetti da stretch-backports (e perciò permettere gli aggiornamenti con Apt), impostare una priorità più alta per il pacchetto proveniente dal rilascio stretch-backports. Modificare il file /etc/apt/preferences.d/99debian-backports (o crearlo):

Package: claws-mail
Pin: release a=stretch-backports
Pin-Priority: 900

Ora se si installa il pacchetto claws-mail si installerà la versione da  stretch-backports. L'esecuzione di un aggiornamento di Apt prenderà automaticamente le versioni più nuove da stable-backports. Eseguendo di nuovo apt-cache policy si può vedere:

Pinned packages:
     claws-mail -> 3.17.1-1~bpo9+1 with priority 900

Installazione impedita o selettiva da repository di terze parti

Per evitare l'installazione di pacchetti più nuovi da un repository di terze parti (Non rompere Debian), anche se hanno uguale priorità, modificare il file /etc/apt/preferences.d/99my-custom-repository:

# Non preferire mai pacchetti dal repository mio-repo-personalizzato
Package: *
Pin: origin o=mio-repo-personalizzato
Pin-Priority: 1

# Permettere l'aggiornamento solo de software mio-software-specifico da mio-repo-personalizzato
Package: mio-software-specifico
Pin: origin o=mio-repo-personalizzato
Pin-Priority: 500

Il modo in cui si nominano i file in /etc/apt/preferences.d/ è libero ma l'ultimo in ordine alfabetico ha la precedenza.

Il * dopo Package: non è un carattere jolly, ma un caso speciale che significa "tutto". I caratteri jolly NON sono supportati. Tuttavia vendgono accettati caratteri jolly alla fine delle versioni (2.6* corrisponde sia a 2.6 sia a 2.6.18).

Altre note sul pinning

In aggiunta a usare origin, si può fare il pinning di pacchetti sulla base di altre variabili. apt-cache policy mostra le altre variabili che possono essere utilizzate come chiave per il Pin::

   1 https://deb.debian.org/debian stretch-backports/non-free i386 Packages
     release o=Debian Backports,a=stretch-backports,n=stretch-backports,l=Debian Backports,c=non-free,b=i386
     origin deb.debian.org
  • release: il nome completo del ?rilascio Debian

  • archive: archivio (directory base nel repository

  • c,component: main/contrib/non-free

  • origin: nome di dominio del repository (informazione da verificare)

  • l,label: ToDo

  • b,architecture: architettura del processore

Queste variabili sono fornite dai file Release nei repository Debian.

Vedere anche:

apt.conf

man 5 apt.conf

Apt accetta file di configurazione (senza estensione) in /etc/apt/apt.conf.d/. Questi vengono elaborati da Apt in ordine numerico/alfabetico. Anche /etc/apt/apt.conf è valido, ma deprecato.

Questi file possono contenere varie direttive:

  • Dpkg::Pre-Install-Pkgs {"miocomando";};: esegue miocomando prima dell'installazione/spacchettamento da parte di dpkg.

  • Dpkg::Pre-Invoke {"miocomando";};: esegue miocomando prima che apt chiami dpkg

  • Dpkg::Post-Invoke {"miocomando";};: esegue miocomando dopo che apt ha chiamato dpkg

  • Pre-Install-Pkgs: ??? ToDo

  • APT::Default-Release "testing";: imposta il rilascio Debian usato in modo predefinito da Apt (ToDo caso d'uso?)

  • APT::Cache-Limit 10000000;: ??? ToDo

  • Apt::Get::Purge;: ??? ToDo

  • Acquire::http::Proxy "http://proxy:8080";: imposta il proxy per scaricamenti via HTTP

  • Acquire::https::Proxy "https://proxy:8443";: imposta il proxy per scaricamenti via HTTPS

  • Acquire::http::Timeout "2";: imposta il tempo di scadenza per scaricamenti HTTP

  • Acquire::https::Timeout "2";: imposta il tempo di scadenza per scaricamenti HTTPS

  • Acquire::ftp::Timeout "2";: imposta il tempo di scadenza per scaricamenti FTP

Se si deve veramente utilizzare FTP, quello che segue imposta il proxy FTP:

 Acquire::ftp
 {
   Proxy "ftp://proxy:2121/";
   ProxyLogin
   {
      "USER $(SITE_USER)@$(SITE)";
      "PASS $(SITE_PASS)";
   }
 }


CategoryPackageManagement | CategorySoftware | CategorySystemAdministration