3 581
contributi
m (→Comandi utili: aggiunto apt-show-versions) |
(task Revisione Wiki #61) |
||
Riga 89: | Riga 89: | ||
{{Warningbox| | {{Warningbox| | ||
* Tale priorità si applica alla release e non alla fonte, quindi ad ottenere la suddetta priorità non saranno solo i pacchetti appartenenti al repository principale (o ai due repository principali), ma anche quelli provenienti da altre fonti se il gestore di tale repository usa lo stesso valore per i parametri [[suite]] e [[codename]] di quelli principali, ad esempio ''stable'' e '' | * Tale priorità si applica alla release e non alla fonte, quindi ad ottenere la suddetta priorità non saranno solo i pacchetti appartenenti al repository principale (o ai due repository principali), ma anche quelli provenienti da altre fonti se il gestore di tale repository usa lo stesso valore per i parametri [[suite]] e [[codename]] di quelli principali, ad esempio ''stable'' e ''{{Codename|stable}}''. | ||
* Questa direttiva influenza la priorità del repository principale di una release, nonché di quella relativa alla sua sicurezza, per esempio: | * Questa direttiva influenza la priorità del repository principale di una release, nonché di quella relativa alla sua sicurezza, per esempio: | ||
** <code>deb http://ftp.it.debian.org/debian/ | ** <code>deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main</code> | ||
** <code>deb http://security.debian.org/ | ** <code>deb <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main</code> | ||
}} | }} | ||
Riga 110: | Riga 110: | ||
Un po' di esempi del tutto arbitrari: | Un po' di esempi del tutto arbitrari: | ||
Package: vlc | Package: vlc | ||
Pin: release a=testing | Pin: release a=testing | ||
Pin-Priority: 991 | Pin-Priority: 991 | ||
Package: vlc | |||
Package: vlc | Pin: release n={{Codename|testing}} | ||
Pin: release n= | Pin-Priority: 991 | ||
Pin-Priority: 991 | |||
Package: virtualbox4* | |||
Pin: Release o=Oracle Corporation | |||
Package: virtualbox4* | Pin-Priority: 780 | ||
Pin: Release o=Oracle Corporation | |||
Pin-Priority: 780 | Il primo e il secondo esempio sono equivalenti, il primo fa riferimento alla [[suite]] (detta anche '''''a'''rchive'') mentre il secondo al [[codename]] ('''''n'''ome in codice''). In entrambi si è definito il pinning per il pacchetto di nome "vlc", richiedendo che le versioni appartenenti alla release testing, attualmente [[{{Codename|Testing}}]], abbiano priorità 991. Attenzione però che quando {{Codename|Testing}} diverrà la nuova [[stable]], il primo si applicherà alla nuova testing mentre il secondo continuerà a far riferimento a {{Codename|Testing}}. Solitamente è consigliabile il secondo (con ''codename''), se si utilizza una stable e si vogliono prelevare pacchetti da testing, mentre il primo (con ''suite'') se si utilizza una testing e si vuole restare sempre con quella. La scelta dovrebbe inoltre riflettere quella adottata per tutti i repository in <code>/etc/apt/sources.list</code>, tenendo presente anche che i [[backports]] contengono sempre il ''codename''. | ||
Il primo e il secondo esempio sono equivalenti, il primo fa riferimento alla [[suite]] (detta anche '''''a'''rchive'') mentre il secondo al [[codename]] ('''''n'''ome in codice''). In entrambi si è definito il pinning per il pacchetto di nome "vlc", richiedendo che le versioni appartenenti alla release testing, attualmente [[ | |||
Nel terzo esempio invece, sfruttando un semplicissimo pattern, si impone che tutti i pacchetti il cui nome inizia per "virtualbox4" e appartenenti al repository la cui origine è definita come "Oracle Corporation" abbiano priorità 780. | Nel terzo esempio invece, sfruttando un semplicissimo pattern, si impone che tutti i pacchetti il cui nome inizia per "virtualbox4" e appartenenti al repository la cui origine è definita come "Oracle Corporation" abbiano priorità 780. | ||
Riga 166: | Riga 164: | ||
== Stable con backports == | == Stable con backports == | ||
Non è necessario alcun pinning nemmeno aggiungendo i [[backports]] ai repository della [[stable]] (attualmente [[ | Non è necessario alcun pinning nemmeno aggiungendo i [[backports]] ai repository della [[stable]] (attualmente [[{{Codename|Stable}}]]), in quanto di default sono disattivati, a eccezione dei pacchetti presenti soltanto lì, e consentono solo l'aggiornamento automatico dei pacchetti installati manualmente dai backports. | ||
Per installare un pacchetto dai backports la prima volta, basta utilizzare [[apt]] (o equivalentemente [[apt-get]]): | Per installare un pacchetto dai backports la prima volta, basta utilizzare [[apt]] (o equivalentemente [[apt-get]]): | ||
# apt -t {{Codename|stable}}-backports install nomepacchetto | |||
Per esempio per installare <code>libreoffice</code>: | Per esempio per installare <code>libreoffice</code>: | ||
# apt -t {{Codename|stable}}-backports install libreoffice | |||
Dopo di che sarà aggiornato automaticamente assieme agli altri pacchetti di | Dopo di che sarà aggiornato automaticamente assieme agli altri pacchetti di {{Codename|Stable}} con: | ||
<pre> | <pre> | ||
# apt update | # apt update | ||
Riga 192: | Riga 190: | ||
Le principali alternative, presentate a solo scopo didattico: | Le principali alternative, presentate a solo scopo didattico: | ||
* nessuna <code>Default-Release</code> in <code>apt.conf</code> e file <code>/etc/apt/preferences</code> come segue | * nessuna <code>Default-Release</code> in <code>apt.conf</code> e file <code>/etc/apt/preferences</code> come segue | ||
Package: libreoffice | |||
Package: libreoffice | Pin: release n={{Codename|stable}}-backports | ||
Pin: release n= | Pin-Priority: 500 | ||
Pin-Priority: 500 | |||
* nessuna <code>Default-Release</code> in <code>apt.conf</code> e file <code>/etc/apt/preferences</code> come segue | * nessuna <code>Default-Release</code> in <code>apt.conf</code> e file <code>/etc/apt/preferences</code> come segue | ||
Package: libreoffice* | |||
Package: libreoffice* | Pin: release n={{Codename|stable}}-backports | ||
Pin: release n= | Pin-Priority: 500 | ||
Pin-Priority: 500 | |||
* nessuna impostazione in <code>/etc/apt/preferences</code> e file <code>/etc/apt/apt.conf</code> come segue | * nessuna impostazione in <code>/etc/apt/preferences</code> e file <code>/etc/apt/apt.conf</code> come segue | ||
APT::Default-Release "{{Codename|stable}}-backports"; | |||
APT::Default-Release " | |||
La prima possibilità restituisce errore quando si cerca di installare il pacchetto, costringendo a ricorrere all'opzione <code>-t</code> oppure lasciando ad [[aptitude]] il compito di risolvere i conflitti. In modo analogo può restituire errore durante un aggiornamento, se richiede anche l'aggiornamento delle sue [[dipendenze]], costringendo a ripetere il comando di installazione con <code>-t</code>. | La prima possibilità restituisce errore quando si cerca di installare il pacchetto, costringendo a ricorrere all'opzione <code>-t</code> oppure lasciando ad [[aptitude]] il compito di risolvere i conflitti. In modo analogo può restituire errore durante un aggiornamento, se richiede anche l'aggiornamento delle sue [[dipendenze]], costringendo a ripetere il comando di installazione con <code>-t</code>. | ||
Riga 214: | Riga 206: | ||
La terza alternativa è l'unica che funziona sempre in automatico, ma si applica indiscriminatamente a tutti i pacchetti contenuti nei ''backports'', che è proprio quello che si voleva evitare per una [[stable]]. | La terza alternativa è l'unica che funziona sempre in automatico, ma si applica indiscriminatamente a tutti i pacchetti contenuti nei ''backports'', che è proprio quello che si voleva evitare per una [[stable]]. | ||
{{Box | Backports obbligatori | Specificando una priorità di 990 anziché 500 nel file <code>/etc/apt/preferences</code>, come visto in questa sezione, l'installazione di <code>libreoffice</code> dai repository non backports fallirebbe anche utilizzando l'opzione <code>-t | {{Box | Backports obbligatori | Specificando una priorità di 990 anziché 500 nel file <code>/etc/apt/preferences</code>, come visto in questa sezione, l'installazione di <code>libreoffice</code> dai repository non backports fallirebbe anche utilizzando l'opzione <code>-t {{Codename|stable}}</code>, rendendo l'installazione da ''{{Codename|stable}}-backports'' l'unica possibile (anche se non garantita senza l'uso dell'opzione <code>-t {{Codename|stable}}-backports</code>). | ||
Si noti invece che l'uso dei backports non è obbligatorio specificando la <code>Default-Release</code> a '' | Si noti invece che l'uso dei backports non è obbligatorio specificando la <code>Default-Release</code> a ''{{Codename|stable}}-backports'', per le ragioni già esposte nella sezione su <code>apt.conf</code> di questa guida, anche se lo sarebbero gli aggiornamenti (in assenza di conflitti con le dipendenze).}} | ||
== Unstable/Sid ed experimental == | == Unstable/Sid ed experimental == | ||
Riga 234: | Riga 226: | ||
=== sources.list === | === sources.list === | ||
< | deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main | ||
deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main | |||
deb-src http://ftp.it.debian.org/debian/ | |||
# Aggiornamenti di sicurezza | |||
# Aggiornamenti di sicurezza | deb <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main | ||
deb http://security.debian.org/ | deb-src <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main | ||
deb-src http://security.debian.org/ | |||
# Aggiornamenti raccomandati | |||
# Aggiornamenti raccomandati | deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-updates main | ||
deb http://ftp.it.debian.org/debian/ | deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-updates main | ||
deb-src http://ftp.it.debian.org/debian/ | |||
# Backports | |||
# Backports | deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-backports main | ||
deb http://ftp.it.debian.org/debian/ | deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-backports main | ||
deb-src http://ftp.it.debian.org/debian/ | |||
# Testing | |||
# Testing | deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|testing}} main | ||
deb http://ftp.it.debian.org/debian/ | deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|testing}} main | ||
deb-src http://ftp.it.debian.org/debian/ | |||
# Aggiornamenti di sicurezza di testing | |||
# Aggiornamenti di sicurezza di testing | deb <nowiki>http://security.debian.org/</nowiki> {{Codename|testing}}/updates main | ||
deb http://security.debian.org/ | deb-src <nowiki>http://security.debian.org/</nowiki> {{Codename|testing}}/updates main | ||
deb-src http://security.debian.org/ | |||
Quello mostrato è solo un esempio con i due repository principali di [[ | Quello mostrato è solo un esempio con i due repository principali di [[{{Codename|Stable}}]], quello normale e di sicurezza, gli aggiornamenti raccomandati e i backports, che non sono strettamente necessari per questo esempio (ma è sempre preferibile cercare prima in questi repository che in testing), e i due repository di [[{{Codename|Testing}}]] ([[testing]]). | ||
Questo file è valido per tutti gli esempi di questa sezione, mentre gli altri dipendono dalla configurazione del pinning desiderata. Si noti in particolare la scelta del [[codename]] ('' | Questo file è valido per tutti gli esempi di questa sezione, mentre gli altri dipendono dalla configurazione del pinning desiderata. Si noti in particolare la scelta del [[codename]] (''{{Codename|testing}}'') al posto della [[suite]] (''testing''), che è la configurazione consigliata in presenza di una [[stable]] e verrà quindi mantenuta anche per il pinning. | ||
=== apt.conf === | === apt.conf === | ||
Riga 268: | Riga 258: | ||
=== Pinning per un singolo pacchetto === | === Pinning per un singolo pacchetto === | ||
Creare il file <code>/etc/apt/preferences</code> con questo contenuto: | Creare il file <code>/etc/apt/preferences</code> con questo contenuto: | ||
Package: nomepacchetto | |||
Package: nomepacchetto | Pin: release n={{Codename|testing}} | ||
Pin: release n= | Pin-Priority: 990 | ||
Pin-Priority: 990 | |||
Package: * | |||
Package: * | Pin: release n={{Codename|testing}} | ||
Pin: release n= | Pin-Priority: -1 | ||
Pin-Priority: -1 | |||
Questa configurazione si consiglia soltanto per pacchetti che non richiedono l'installazione di altri da testing. | Questa configurazione si consiglia soltanto per pacchetti che non richiedono l'installazione di altri da testing. | ||
Riga 294: | Riga 282: | ||
{{Warningbox | Infatti mentre sarebbe possibile forzarne l'installazione con: | {{Warningbox | Infatti mentre sarebbe possibile forzarne l'installazione con: | ||
# apt-get -t {{Codename|testing}} install nomepacchetto | |||
# apt-get -t | |||
c'è da considerare che l'uso dell'opzione <code>-t</code> renderebbe il pinning per "nomepacchetto" superfluo; e inoltre la configurazione attuale impedirebbe gli aggiornamenti automatici delle dipendenze appena installate, costringendo a ripetere il comando precedente in caso di conflitti oppure ad avvelersi di [[aptitude]] per risolverli (prestando '''molta attenzione''' alle soluzioni proposte).}} | c'è da considerare che l'uso dell'opzione <code>-t</code> renderebbe il pinning per "nomepacchetto" superfluo; e inoltre la configurazione attuale impedirebbe gli aggiornamenti automatici delle dipendenze appena installate, costringendo a ripetere il comando precedente in caso di conflitti oppure ad avvelersi di [[aptitude]] per risolverli (prestando '''molta attenzione''' alle soluzioni proposte).}} | ||
=== Pinning per tutti i pacchetti di testing e backports === | === Pinning per tutti i pacchetti di testing e backports === | ||
Questa possibilità consente gli aggiornamenti automatici dei pacchetti installati manualmente da testing, permettendone l'installazione anche in assenza di altre versioni disponibili. È sufficiente scrivere il file <code>/etc/apt/preferences</code> come segue: | Questa possibilità consente gli aggiornamenti automatici dei pacchetti installati manualmente da testing, permettendone l'installazione anche in assenza di altre versioni disponibili. È sufficiente scrivere il file <code>/etc/apt/preferences</code> come segue: | ||
Package: * | |||
Package: * | Pin: release a={{Codename|stable}}-backports | ||
Pin: release a= | Pin-Priority: 300 | ||
Pin-Priority: 300 | |||
Package: * | |||
Package: * | Pin: release n={{Codename|testing}} | ||
Pin: release n= | Pin-Priority: 200 | ||
Pin-Priority: 200 | Dove ''{{Codename|stable}}-backports'' è il nome della [[suite]] (e il [[codename]], che sono uguali per i [[backports]]) dei repository backports di [[{{Codename|Stable}}]]. È consigliabile specificare la nuova priorità a prescindere dalla loro presenza, altrimenti se attivati saranno sempre nascosti da [[{{Codename|Testing}}]], avendo di default una priorità di 100 e contenendo versioni non più aggiornate. | ||
Dove '' | |||
Si noti che i valori scelti non sono gli unici possibili. L'importante è che siano soddisfatte le seguenti condizioni: | Si noti che i valori scelti non sono gli unici possibili. L'importante è che siano soddisfatte le seguenti condizioni: | ||
* '' | * ''{{Codename|stable}}-backports'' deve avere una priorità inferiore a quella di default (500), utilizzata per ''{{Codename|stable}}'' e ''{{Codename|stable}}-updates''; | ||
* '' | * ''{{Codename|testing}}'' deve avere una priorità inferiore a quella scelta per ''{{Codename|stable}}-backports''; | ||
* '' | * ''{{Codename|testing}}'' e ''{{Codename|stable}}-backports'' devono avere una priorità almeno pari a 100, per consentire gli aggiornamenti automatici una volta che un pacchetto è installato da tali repository. | ||
Ora basterà: | Ora basterà: | ||
# apt-get -t {{Codename|testing}} install nomepacchetto | |||
# apt-get -t | per installare nuovi pacchetti da {{Codename|Testing}}, che saranno poi aggiornati in automatico. Si noti però che perfino in questo caso gli aggiornamenti potrebbero comunque richiedere l'uso dell'opzione <code>-t</code> oppure il meccanismo di risoluzione dei conflitti di [[aptitude]], se nuove dipendenze fossero aggiunte nello stesso ramo. | ||
per installare nuovi pacchetti da | |||
== Testing con unstable ed experimental == | == Testing con unstable ed experimental == |
contributi