Repository & pinning: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
rimosse parti trattate altrove (con link alla guida), correzioni minori e uniformazione del contenuto dei repository
(rimosse parti trattate altrove (con link alla guida), correzioni minori e uniformazione del contenuto dei repository)
Riga 9: Riga 9:
{{Versioni compatibili}}
{{Versioni compatibili}}
= Introduzione =
= Introduzione =
Esistono diverse distribuzioni ([[release]]) di Debian, e si rimanda per maggiori dettagli a [[La struttura della Distribuzione]]. E in una configurazione normale e consigliata di Debian non è necessario configurare il pinning.


Come molti sapranno, esistono tre distribuzioni di Debian (chiamate anche release):
Il pinning entra invece in gioco qualora si preferiscano delle regole personalizzate per determinati pacchetti o repository, o se si vogliono utilizzare i repository di più [[release|distribuzioni]] di Debian. Inizialmente era necessario anche per utilizzare altri repository, quali i ''backports'' o gli ''experimental'', ma attualmente la necessità di configurarlo è venuta meno in molte situazioni, e pertanto si raccomanda agli utenti che non siano esperti riguardo il funzionamento di [[APT]] di non ricorrervi se non strettamente necessario.
# Debian stable, attualmente ''Wheezy'';
# Debian testing, attualmente ''Jessie'';
# Debian unstable, attualmente (e sempre,  un nome fisso) ''Sid''.
Il software della stable non viene aggiornato, eccezion fatta per gli aggiornamenti di sicurezza; contrariamente a quello della testing e ancor più della unstable. Oltre a queste tre, ci sono anche la ''oldstable'', la versione precedente della stable, e la ''experimental'', che non è una versione completa e funzionante di Debian, ma solo un repository contenente software in fase di progettazione, da sperimentare o altamente instabile.


Se si vuole software più aggiornato, la via consigliata è l'uso dei ''backports'' ufficiali, ma può accadere che non tutti gli aggiornamenti siano presenti. Qui entra in gioco il pinning, che permette di installare software appartenente a più release.
{{Warningbox|Installare pacchetti provenienti da distribuzioni e/o fonti differenti è sempre e comunque fonte di rischi, ed è sconsigliato. Questa guida presuppone la comprensione dei concetti esposti nella guida [[I repository ed il loro utilizzo]], nonché la conoscenza di [[apt-get]].}}
 
{{Warningbox|Installare pacchetti provenienti da distribuzioni e/o fonti differenti è sempre e comunque fonte di rischi, ed è sconsigliato. Questa guida presuppone la comprensione dei concetti esposti nella guida [[I repository ed il loro utilizzo]], nonché la conoscenza di [[apt-get]] o [[aptitude]].}}


Prima di procedere nella descrizione operativa del pinning è '''fondamentale''' capire come gestisce la priorità dei pacchetti APT e sapere che:
Prima di procedere nella descrizione operativa del pinning è '''fondamentale''' capire come gestisce la priorità dei pacchetti APT e sapere che:
* Con "distribuzione" si intendono stable, testing e unstable. Ciascuna ha un singolo repository (fonte) principale (due con il repository dedicato agli aggiornamenti di sicurezza, mancante per la unstable) che è quello automaticamente dichiarato dall'installer di debian, ma ogni distribuzione può avere più fonti, ufficiali e non.
* Con "distribuzione" ([[release]], chiamata anche ''archive'' o ''suite'') si intendono oldstable, stable, testing e unstable. Ciascuna ha un singolo repository (fonte) principale (due con il repository dedicato agli aggiornamenti di sicurezza, mancante per la unstable) che è quello automaticamente dichiarato dall'installer di debian, ma ogni distribuzione può avere più fonti, ufficiali e non.
* Con "fonti" si intendono i repository, ufficiali e non, che forniscono pacchetti relativi ad una o più distribuzioni. Ogni fonte può avere più copie di se stesso (mirrors).
* Con "fonti" si intendono i repository, ufficiali e non, che forniscono pacchetti relativi ad una o più distribuzioni. Ogni fonte può avere più copie di se stesso ([[mirror]]).
{{Box|Importante|Il pinning è uno strumento per regolare la priorità in base al numero di versione dei pacchetti, e non alla fonte di provenienza. Non è possibile discriminare tra pacchetti aventi la stessa versione e provenienti da più repository, ovvero ad essere installato sarà quello proveniente dal repository elencato per primo nel file <code>sources.list</code>.}}
{{Box|Importante|Il pinning è uno strumento per regolare la priorità in base al numero di versione dei pacchetti, e non alla fonte di provenienza. Non è possibile discriminare tra pacchetti aventi la stessa versione e provenienti da più repository, ovvero ad essere installato sarà quello proveniente dal repository elencato per primo nel file <code>sources.list</code>.}}


= Priorità come punteggio =
= Priorità come punteggio =
La priorità viene gestita attraverso l'assegnazione di un punteggio ai vari pacchetti, sia installati che ancora da installare. Valgono le seguenti regole:
La priorità viene gestita attraverso l'assegnazione di un punteggio ai vari pacchetti, sia installati che ancora da installare. Valgono le seguenti regole:
* priorità '''1''', caso particolare e poco comune. È quella di default per ''experimental'' ('''NotAutomatic: yes''' nel file ''Release'' del repository). Si veda il manuale per maggiori informazioni.
* priorità '''1''', caso particolare e poco comune. È quella di default per ''experimental'' ('''NotAutomatic: yes''' nel file ''Release'' del repository). Si veda il manuale per maggiori informazioni.
* priorità '''100''' alla versione dei pacchetti già installati e quella dei backports ufficiali ('''NotAutomatic: yes''' e '''ButAutomaticUpgrades: yes''' nel file ''Release'' del repository).
* priorità '''100''' alla versione dei pacchetti già installati e quella dei backports ufficiali ('''NotAutomatic: yes''' e '''ButAutomaticUpgrades: yes''' nel file ''Release'' del repository).
Riga 64: Riga 57:


== Priorità in caso di aggiornamento ==
== Priorità in caso di aggiornamento ==
Se una versione di un pacchetto è già stata installata sul sistema, la lettura dei punteggi può generare confusione. In particolare si noti che:
Se una versione di un pacchetto è già stata installata sul sistema, la lettura dei punteggi può generare confusione. In particolare si noti che:
* il downgrade è possibile solo con una priorità almeno pari a 1000, quindi sono ignorati tutti i repository con priorità minore di 1000 contenenti una versione inferiore a quella già installata;
* il downgrade è possibile solo con una priorità almeno pari a 1000, quindi sono ignorati tutti i repository con priorità minore di 1000 contenenti una versione inferiore a quella già installata;
Riga 77: Riga 69:


= /etc/apt/apt.conf =
= /etc/apt/apt.conf =
Questo file insieme ad altri permette di definire le opzioni di APT e relativi strumenti senza bisogno di digitarli sempre da riga di comando. Si vedano le guide dedicate ad [[Apt-get | Apt-Get]] e [[Aptitude]] per alcuni brevi esempi contenenti alcui dei parametri più comuni.
Questo file insieme ad altri permette di definire le opzioni di APT e relativi strumenti senza bisogno di digitarli sempre da riga di comando. Si vedano le guide dedicate ad [[Apt-get | Apt-Get]] e [[Aptitude]] per alcuni brevi esempi contenenti alcui dei parametri più comuni.
Per quanto riguarda il pinning l'unico parametro strettamente di rilievo è:
Per quanto riguarda il pinning l'unico parametro strettamente di rilievo è:
Riga 87: Riga 78:
{{Warningbox|
{{Warningbox|
* Tale priorità si applica alla distribuzione 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 ''wheezy''. Per esempio ''backports'' non comporta problemi poiché i precedenti due parametri valgono ''nome_suite-backports'' e ''nome_codename-backports'', viceversa quello di ''deb-multimedia'' usa gli stessi identici valori di quelli principali.
* Tale priorità si applica alla distribuzione 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 ''wheezy''. Per esempio ''backports'' non comporta problemi poiché i precedenti due parametri valgono ''nome_suite-backports'' e ''nome_codename-backports'', viceversa quello di ''deb-multimedia'' usa gli stessi identici valori di quelli principali.
* Per quanto riguarda tutti i pacchetti della release target questa dichiarazione ha la precedenza su qualsiasi altra generica priorità definita nel file ''preferences'', ad eccezione di quei pacchetti per ciascuno dei quali sia stata definita una specifica priorità.
* Per quanto riguarda tutti i pacchetti della target release questa dichiarazione ha la precedenza su qualsiasi altra generica priorità definita nel file ''preferences'', ad eccezione di quei pacchetti per ciascuno dei quali sia stata definita una specifica priorità.
* Questa direttiva influenza la priorità del repository principale di una release, nonché di quella relativa alla sua sicurezza, ad esempio
* Questa direttiva influenza la priorità del repository principale di una release, nonché di quella relativa alla sua sicurezza, ad esempio
** <code>deb http://ftp.it.debian.org/debian/ wheezy main</code>
** <code>deb http://ftp.it.debian.org/debian/ wheezy main</code>
Riga 118: Riga 109:


= /etc/apt/preferences =
= /etc/apt/preferences =
Questo è il file dove è possibile definire tutte le priorità che si vogliono, fermo restando quanto detto nella sezione dedicata ad <code>apt.conf</code>. La sintassi generale è la seguente:
Questo è il file dove è possibile definire tutte le priorità che si vogliono, fermo restando quanto detto nella sezione dedicata ad <code>apt.conf</code>. La sintassi generale è la seguente:
<pre>
<pre>
Riga 147: Riga 137:


== Blocco/retrocessione di pacchetti ==
== Blocco/retrocessione di pacchetti ==
Il file <code>preferences</code> può essere usato per bloccare e/o retrocedere (downgrade) uno o più pacchetti (al limite tutti); in entrambi i casi è necessario definire un pin maggiore o uguale a 1000 per il pacchetto desiderato. Se per esempio nel file <code>preferences</code> fosse presente un record come il seguente:
Il file <code>preferences</code> può essere usato per bloccare e/o retrocedere (downgrade) uno o più pacchetti (al limite tutti); in entrambi i casi è necessario definire un pin maggiore o uguale a 1000 per il pacchetto desiderato. Se per esempio nel file <code>preferences</code> fosse presente un record come il seguente:


Riga 162: Riga 151:


=== Retrocedere l'intero sistema ===
=== Retrocedere l'intero sistema ===
Nella maggior parte dei casi (o forse sempre) questa '''È UNA FOLLIA''', tuttavia per motivazioni didattiche si mostra come fare. In primis è necessario eliminare, se presente, dal file <code>apt.conf</code> il parametro ''default-release'', dopo di che aggiungere al file <code>preferences</code> un record come il seguente (sostituire a "stable" la versione desiderata, ad esempio "testing" se si vuole retrocedere da "unstable").
Nella maggior parte dei casi (o forse sempre) questa '''È UNA FOLLIA''', tuttavia per motivazioni didattiche si mostra come fare. In primis è necessario eliminare, se presente, dal file <code>apt.conf</code> il parametro ''default-release'', dopo di che aggiungere al file <code>preferences</code> un record come il seguente (sostituire a "stable" la versione desiderata, ad esempio "testing" se si vuole retrocedere da "unstable").
<pre>
<pre>
Riga 171: Riga 159:
A questo punto dovrebbe essere sufficiente digitare da terminale:
A questo punto dovrebbe essere sufficiente digitare da terminale:
<pre># apt-get dist-upgrade</pre>
<pre># apt-get dist-upgrade</pre>
oppure
<pre># aptitude full-upgrade</pre>


= Esempi =
= Esempi =
 
{{Box|Nota|Per il significato dei vari parametri dichiarati in <code>apt.conf</code>, nonché per la relativa sintassi, si vedano le guide dedicate ad [[apt-get]], ecc. Si ricordi inoltre che non sempre la definizione di tale file è necessaria ai fini del pinning.}}
{{Box|Nota|Per il significato dei vari parametri dichiarati in <code>apt.conf</code>, nonché per la relativa sintassi, si vedano le guide dedicate ad [[apt-get]], [[aptitude]], ecc. Si ricordi inoltre che non sempre la definizione di tale file è necessaria ai fini del pinning.}}


== Release pura ==
== Release pura ==
Non serve il pinning se si usano i repository ufficiali di una sola release di Debian, ma può essere prudente definire un file <code>apt.conf</code> se si dovessero aggiungere altri repository in seguito e ci si dimenticasse di definire correttamente un pinning.
Non serve il pinning se si usano i repository ufficiali di una sola release di Debian, ma può essere prudente definire un file <code>apt.conf</code> se si dovessero aggiungere altri repository in seguito e ci si dimenticasse di definire correttamente un pinning.


Riga 187: Riga 171:


== Stable con backports obbligati ==
== Stable con backports obbligati ==
Si supponga di voler usare tutti i pacchetti della stable, con l'eccezione di quelli relativi a libreoffice.
Si supponga di voler usare tutti i pacchetti della stable, con l'eccezione di quelli relativi a libreoffice.


=== sources.list ===
=== sources.list ===
<pre>
<pre>
deb http://ftp.it.debian.org/debian/ stable main contrib non-free
deb http://ftp.it.debian.org/debian/ stable main  
deb http://security.debian.org/ stable/updates main contrib non-free
#deb-src http://ftp.it.debian.org/debian/ stable main
deb http://ftp.it.debian.org/debian/ wheezy-backports main contrib non-free
deb http://security.debian.org/ stable/updates main  
#deb-src http://security.debian.org/ stable/updates main
deb http://ftp.it.debian.org/debian/ wheezy-backports main  
#deb-src http://ftp.it.debian.org/debian/ wheezy-backports main
</pre>
</pre>


=== apt.conf ===
=== apt.conf ===
<pre>
<pre>
APT
APT
Riga 230: Riga 214:


=== Osservazioni ===
=== Osservazioni ===
Per come è definito <code>preferences</code> l'installazione della versione di libreoffice da repository non ''backports'' è impossibile, anche usando l'opzione <code>-t</code> da riga di comando.
Per come è definito <code>preferences</code> l'installazione della versione di libreoffice da repository non ''backports'' è impossibile, anche usando l'opzione <code>-t</code> da riga di comando.


== Testing con unstable==
== Testing con unstable==
 
La distribuzione principale sia testing, quella secondaria unstable. Lo scopo è far sì che '''non''' vengano recuperati in automatico da unstable tutti i pacchetti già disponibili in testing.
La distribuzione principale sia testing, quella secondaria unstable. Lo scopo è far sì che in automatico vengano recuperati da unstable tutti i pacchetti che non sono disponibili in testing.


=== sources.list ===
=== sources.list ===
<pre>
<pre>
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
deb http://ftp.it.debian.org/debian/ testing main  
deb http://security.debian.org/ testing/updates main contrib non-free
#deb-src http://ftp.it.debian.org/debian/ testing main
deb http://ftp.de.debian.org/debian unstable main contrib non-free
deb http://security.debian.org/ testing/updates main  
#deb-src http://security.debian.org/ testing/updates main
deb http://ftp.it.debian.org/debian unstable main  
#deb-src http://ftp.it.debian.org/debian unstable main
</pre>
</pre>


=== apt.conf ===
=== apt.conf ===
<pre>
<pre>
APT
APT
Riga 269: Riga 252:


=== preferences ===
=== preferences ===
<br/>
Non è necessario configurare alcun pinning, ma è sufficiente l'uso di <code>Default-Release</code> nel file <code>apt.conf</code>.
<pre>
Package: *
Pin: release a=unstable
Pin-Priority: 500
 
Package: *
Pin: release o=Debian
Pin-Priority: -10
</pre>


=== Osservazioni ===
=== Osservazioni ===
# Usando le azioni ''install'' e ''upgrade'' senza specificare l'opzione '''-t unstable''' si installano/aggiornano pacchetti prelevando le versioni da testing, a meno che un pacchetto sia presente solo in unstable, nel qual caso sarà prelevato da lì. Le dipendenze saranno risolte se possibile usando testing, altrimenti usando unstable.
# Usando le azioni ''install'' e ''upgrade'' senza specificare l'opzione '''-t unstable''' si installano/aggiornano pacchetti prelevando le versioni da testing, a meno che un pacchetto sia presente solo in unstable, nel qual caso sarà prelevato da lì. Le dipendenze saranno risolte se possibile usando testing, altrimenti usando unstable.
# Digitando <code>apt-get install vattelapesca -t unstable</code> si installerà la versione "vattelapesca" appartenente ad unstable, così come le sue dipendenze. Si noti che in questo caso successivi aggiornamenti tramite comandi del tipo <code>apt-get upgrade</code> o <code>apt-get dist-upgrade</code> non produrranno alcun aggiornamento da unstable del pacchetto "vattelapesca" se questo è anche presente in testing; in tal caso l'unica possibilità di aggiornare "vattelapesca" è digitare nuovamente <code>apt-get install vattelapesca -t unstable</code> (o aspettare pazientemente che la versione di testing superi quella installata).
# Digitando <code>apt-get -t unstable install vattelapesca</code> si installerà la versione "vattelapesca" appartenente ad unstable, così come le sue dipendenze. Si noti che dopo l'avvenuta installazione, successivi aggiornamenti tramite comandi del tipo <code>apt-get upgrade</code> o <code>apt-get dist-upgrade</code> continueranno a installare la versione più recente, anche prelevandola automaticamente da ''unstable'', almeno finché la versione in testing non diverrà equivalente a quella in unstable.
# L'installazione di tutti i pacchetti provenienti da distribuzioni differenti da ''testing'' o ''unstable'' è completamente impedita, anche nel caso si aggiungessero repository relativi ad altre distribuzioni (a meno ovviamente di non aggiungere opportuni record in <code>preferences</code>).
# Una volta che la versione in testing divenisse uguale a quella presente in unstable, successive versioni presenti soltanto in unstable non sarebbero aggiornate automaticamente, ma servirebbe specificare nuovamente l'opzione '''-t'''/'''--target-release'''.


== Testing con deb-multimedia ==
== Testing con deb-multimedia ==
Sia testing l'unica distribuzione d'interesse, nonché quella obiettivo. Si supponga di voler usare anche la fonte ''www.deb-multimedia.org'', ma con l'unico scopo di installare solo quei pacchetti che non sono presenti nel repository principale.
Sia testing l'unica distribuzione d'interesse, nonché quella obiettivo. Si supponga di voler usare anche la fonte ''www.deb-multimedia.org'', ma con l'unico scopo di installare solo quei pacchetti che non sono presenti nel repository principale.


Riga 293: Riga 265:


=== sources.list ===
=== sources.list ===
 
Abilitiamo anche le sezioni ''contrib'' e ''non-free'':
<pre>
<pre>
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
Riga 308: Riga 280:
         Get
         Get
         {
         {
                AllowUnauthenticated 1;
                 AutomaticRemove "true";
                 AutomaticRemove "true";
                 Fix-Broken "true";
                 Fix-Broken "true";
Riga 348: Riga 319:


== Mix di varie release ==
== Mix di varie release ==
In questo how-to mostrerò come utilizzare pacchetti Debian provenienti da Testing, Unstable, Experimental e deb-multimedia (audio/video) ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, stable + testing, stable + unstable, stable + testing + unstable, ecc.).
In questo how-to mostrerò come utilizzare pacchetti Debian provenienti da Testing, Unstable, Experimental e deb-multimedia (audio/video) ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, stable + testing, stable + unstable, stable + testing + unstable, ecc.).


=== Impostare i repository ===
=== Impostare i repository ===
Assicuriamoci di essere l'utente root e procediamo.
Assicuriamoci di essere l'utente root e procediamo.


Per prima cosa editiamo il file <code>/etc/apt/sources.list</code> ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo, per esempio:
Per prima cosa editiamo il file <code>/etc/apt/sources.list</code> ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo, per esempio (con ''contrib'' e ''non-free'' abilitati):
<pre>
<pre>
### Debian Ufficiale -- Testing
### Debian Ufficiale -- Testing
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
#deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free


### Debian Ufficiale -- Testing Sicurezza
### Debian Ufficiale -- Testing Sicurezza
deb http://security.debian.org/ testing/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
#deb-src http://security.debian.org/ testing/updates main contrib non-free


### Debian Ufficiale -- Sid
### Debian Ufficiale -- Sid
deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
#deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free


###  Debian Ufficiale -- Experimental
###  Debian Ufficiale -- Experimental
deb http://ftp.it.debian.org/debian/ experimental main contrib non-free
deb http://ftp.it.debian.org/debian/ experimental main contrib non-free
#deb-src http://ftp.it.debian.org/debian/ experimental main contrib non-free


### deb-multimedia -- Audio/Video -- Marillat
### deb-multimedia -- Audio/Video -- Marillat
deb http://www.deb-multimedia.org testing main non-free
deb http://www.deb-multimedia.org testing main non-free
deb http://www.deb-multimedia.org sid main non-free
#deb-src http://www.deb-multimedia.org testing main non-free
</pre>
</pre>


=== Configurare apt ===
=== Configurare apt ===
A questo punto dobbiamo preparare due file normalmente non presenti sulla nostra debianbox: si tratta dei file <code>/etc/apt/preferences</code> e <code>/etc/apt/apt.conf</code>.
A questo punto dobbiamo preparare due file normalmente non presenti sulla nostra debianbox: si tratta dei file <code>/etc/apt/preferences</code> e <code>/etc/apt/apt.conf</code>.
Questi due file istruiranno APT su come gestire le dipendenze dei pacchetti, informandolo su come comportarsi in caso di conflitti e altri problemi.
Questi due file istruiranno APT su come gestire le dipendenze dei pacchetti, informandolo su come comportarsi in caso di conflitti e altri problemi.


==== Il file <code>apt.conf</code> ====
==== Il file <code>apt.conf</code> ====
Ora creiamo il file <code>/etc/apt/apt-conf</code>
Ora creiamo il file <code>/etc/apt/apt-conf</code>


Riga 386: Riga 357:


ed editiamolo inserendo quanto segue:
ed editiamolo inserendo quanto segue:
<pre>
<pre>
APT::Cache-Limit 15000000;
APT::Cache-Limit 15000000;
Riga 399: Riga 369:


==== Il file <code>preferences</code> ====
==== Il file <code>preferences</code> ====
Creiamo il file <code>/etc/apt/preferences</code>:
Creiamo il file <code>/etc/apt/preferences</code>:
<pre># touch /etc/apt/preferences</pre>
<pre># touch /etc/apt/preferences</pre>


ed editiamolo col nostro editor di fiducia e inseriamo queste direttive:
ed editiamolo col nostro editor di fiducia e inseriamo queste direttive:
<pre>
<pre>
Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 992
Package: *
Pin: release a=testing
Pin-Priority: 990
Package: *
Package: *
Pin: release a=unstable
Pin: release a=unstable
Pin-Priority: 800
Pin-Priority: 400
</pre>


Package: *
Si noti che ''experimental'' ha un ''Pin-Priority'' implicito pari a 1, e che quelli non specificati hanno un valore di 500, pertanto non è necessario impostare regole per ''deb-multimedia'' e ''testing'', che sarebbero equivalenti, ed ''experimental''.
Pin: release a=experimental
Pin-Priority: 750
</pre>


Facciamo l'update del database dei pacchetti:
Facciamo l'update del database dei pacchetti:
<pre># apt-get update</pre>
<pre># apt-get update</pre>


D'ora in avanti avremo due possibilità per installare un nuovo pacchetto: il metodo che usiamo di solito e cioè:
D'ora in avanti avremo due possibilità per installare un nuovo pacchetto: il metodo che usiamo di solito e cioè:
<pre># apt-get install nome_pacchetto</pre>
<pre># apt-get install nome_pacchetto</pre>
che utilizzerà pacchetti proveniente dalla versione impostata come '''Default-Release''' in '''apt.conf''', oppure il comando  
che utilizzerà pacchetti proveniente dalla versione impostata come '''Default-Release''' in '''apt.conf''', oppure il comando  
<pre># apt-get install -t versione_di_debian nome_pacchetto</pre>
<pre># apt-get install -t versione_di_debian nome_pacchetto</pre>
che provvederà a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze.
che provvederà a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze.


= Comandi utili =
= Comandi utili =
È possibile visualizzare l'elenco delle priorità relative a tutti i repository e pacchetti dichiarati col seguente comando:
È possibile visualizzare l'elenco delle priorità relative a tutti i repository e pacchetti dichiarati col seguente comando:
<pre># apt-cache policy</pre>
<pre># apt-cache policy</pre>


Se si volesse visualizzare solo la priorità per un singolo singolo pacchetto, ad esempio nano, si può digitare:
Se si volesse visualizzare solo la priorità per un singolo singolo pacchetto, ad esempio nano, si può digitare:
<pre># apt-cache policy nano</pre>
<pre># apt-cache policy nano</pre>


Si vedano anche le guide di [[apt-get]] e [[aptitude]].
Si veda anche la guida di [[apt-get]].


= Approfondimenti =
= Approfondimenti =
Riga 463: Riga 413:
: [[Utente:Wtf|Wtf]]
: [[Utente:Wtf|Wtf]]
: [[Utente:xtow|xtow]] (versione preunione)
: [[Utente:xtow|xtow]] (versione preunione)
:[[Utente:HAL 9000|HAL 9000]]
: [[Utente:HAL 9000|HAL 9000]]
|Verificata_da =
|Verificata_da =
: [[Utente:TheNoise|TheNoise]] (versione preunione)
: [[Utente:TheNoise|TheNoise]] (versione preunione)
: [[Utente:Wtf|Wtf]]
: [[Utente:Wtf|Wtf]]
:[[Utente:HAL 9000|HAL 9000]] 14:42, 24 giu 2014 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 11:48, 30 ago 2014 (CEST)
|Numero_revisori = 3
|Numero_revisori = 3
}}
}}
3 581

contributi

Menu di navigazione