1 760
contributi
Nessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
Spesso abbiamo la | Spesso abbiamo la necessità di installare la nuova versione di un pacchetto di cui proprio non possiamo fare a meno, che però non è disponibile per il rilascio di Debian che abbiamo installato. | ||
Il caso | Il caso più frequente è probabilmente quello di un' installazione di Testing (Etch) con la necessità di installare anche pacchetti presenti solo in Unstable o in Experimental, oppure di voler usare un repository con pacchetti particolari, ma compilati per una release di Debian diversa dalla nostra. | ||
APT | APT è nostro fido alleato anche in questi frangenti, permettendoci di utilizzare fonti per pacchetti di releases diverse (e soddisfarne le dipendenze) senza costringerci ad un upgrade dell' intera distribuzione e senza dover impazzire per risolvere conflitti e inconsistenze. | ||
In questo how-to | In questo how-to mostrerò come utilizzare pacchetti Debian provenienti da Testing, Unstable, Experimental, Marillat (multimedia/video) e Rarewares.org (multimedia/audio), ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, stable + testing, stable + unstable, stable + testing + unstable, ecc...). | ||
Assicuriamoci di essere l' utente root e procediamo. | Assicuriamoci di essere l' utente root e procediamo. | ||
Riga 11: | Riga 11: | ||
Per prima cosa editiamo il file '''/etc/apt/sources.list''' ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo: | Per prima cosa editiamo il file '''/etc/apt/sources.list''' ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo: | ||
<pre> | <pre> | ||
### Debian Ufficiale -- | ### Debian Ufficiale -- Testing | ||
deb http:// | deb http://ftp.it.debian.org/debian/ testing main non-free contrib | ||
### Debian Ufficiale -- | ### 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 | ||
### Debian Ufficiale -- Sid | ### Debian Ufficiale -- Sid | ||
deb http:// | deb http://ftp.it.debian.org/debian/ unstable main non-free contrib | ||
### Debian Ufficiale -- Experimental | ### Debian Ufficiale -- Experimental | ||
Riga 27: | Riga 27: | ||
### Multimedia -- Video -- Marillat | ### Multimedia -- Video -- Marillat | ||
deb ftp://ftp.nerim.net/debian-marillat/ | deb ftp://ftp.nerim.net/debian-marillat/ etch main | ||
deb ftp://ftp.nerim.net/debian-marillat/ | deb ftp://ftp.nerim.net/debian-marillat/ sid main | ||
</pre> | </pre> | ||
Riga 41: | Riga 41: | ||
<pre> | <pre> | ||
Package: * | Package: * | ||
Pin: release o= | Pin: release o=Unofficial Multimedia Packages | ||
Pin-Priority: 950 | Pin-Priority: 950 | ||
Package: * | Package: * | ||
Pin: release o= | Pin: release o=xmixahlx | ||
Pin-Priority: 900 | Pin-Priority: 900 | ||
Riga 60: | Riga 60: | ||
Pin-Priority: 750 | Pin-Priority: 750 | ||
</pre> | </pre> | ||
Il pinning può essere orientato ad un archivio, un'origine, la versione di un pacchetto, un componente, ecc... | |||
Con '''"o="''' si specifica l' origine (la distribuzione) del pacchetto, con '''"a="''' l'archivio (sarge,sid, stable, ecc...). | |||
Questo dato è reperibile in modo inequivocabile attraverso APT, andando a sbirciare all'interno del file "Release" che è contenuto in tutti i repository ufficiali. Per archivi personali e/o non ufficiali, invece, non è sempre e necessariamente presente (purtroppo). | |||
Vediamo alcuni esempi: | |||
<pre> | |||
# cd /var/lib/apt/lists | |||
# cat www.rarewares.org_debian_packages_unstable_._Release | |||
Archive: unstable | |||
Origin: xmixahlx | |||
Label: xmixahlx_rarewares-unstable | |||
Architecture: i386 | |||
# cat ftp.nerim.net_debian-marillat_dists_testing_main_binary-i386_Release | |||
Archive: testing | |||
Component: main | |||
Origin: Unofficial Multimedia Packages | |||
Label: Unofficial Multimedia Packages | |||
Architecture: i386 | |||
</pre> | |||
Dove: | |||
* '''Archive''' = è l' archivio Debian a cui i pacchetti appartengono (ad es.: stable, testing. ecc...); | |||
* '''Component''' = indica il tipo di componente (ad es.: main, contrib, non-free); | |||
* '''Origin''' = specifica il proprietario del repository; | |||
* '''Label''' = identifica il repository: potete inserire descrizioni, ecc...; | |||
* '''Architecture''' = l'architettura dei pacchetti contenuti nel repository (ad es.: i386, sparc, source, ecc...). | |||
Possiamo vedere che nel file Release è contenuto proprio il dato che stavamo cercando: Origin. | |||
Ora creiamo il file apt-conf | Ora creiamo il file apt-conf | ||
Riga 71: | Riga 104: | ||
<pre> | <pre> | ||
APT::Default-Release "testing"; | APT::Default-Release "testing"; | ||
APT::Cache-Limit | APT::Cache-Limit 15000000; | ||
Apt::Get::Purge; | Apt::Get::Purge; | ||
APT::Clean-Installed; | APT::Clean-Installed; | ||
Riga 78: | Riga 111: | ||
APT::Get::Show-Upgraded "true"; | APT::Get::Show-Upgraded "true"; | ||
</pre> | </pre> | ||
Facciamo l' update del database dei pacchetti: | Facciamo l' update del database dei pacchetti: | ||
Riga 87: | Riga 118: | ||
</pre> | </pre> | ||
D'ora in avanti avremo due | 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> | |||
che | <pre> | ||
<pre>apt-get install -t versione_di_debian nome_pacchetto</pre> | # apt-get install nome_pacchetto | ||
che | </pre> | ||
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> | |||
che provvederà a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze. | |||
Happy debian! | Happy debian! | ||
Riga 97: | Riga 136: | ||
---- | ---- | ||
Autore: [[User:Keltik|Keltik]] | Autore: [[User:Keltik|Keltik]]<br> | ||
Revisione: [[User:Nest|Nest]] <br> | |||
Verificato: [[Utente:TheNoise|~ The Noise]] | |||
[[Categoria:Apt]] | |||
[[Categoria:Apt-Dev]] |
contributi