3 155
contributi
S3v (discussione | contributi) |
Wtf (discussione | contributi) Nessun oggetto della modifica |
||
Riga 106: | Riga 106: | ||
</pre> | </pre> | ||
Bisogna specificare obbligatoriamente il percorso completo del file se questo non si trova nella directory <code>/etc/apt/sources.list.d</code> | Bisogna specificare obbligatoriamente il percorso completo del file se questo non si trova nella directory <code>/etc/apt/sources.list.d</code> | ||
== Utilizzare repository appartenenti a differenti relase == | |||
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 più frequente è probabilmente quello di un'installazione di Testing 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 è nostro fido alleato anche in questi frangenti, permettendoci di utilizzare fonti per pacchetti di release diverse (e soddisfarne le dipendenze) senza costringerci ad un upgrade dell'intera distribuzione e senza dover impazzire per risolvere conflitti e inconsistenze. Questa caratteristica è definita anche '''apt-pinning''', dal ''pin'' che si imposta nel file <code>/etc/apt/preferences</code>. | |||
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...). | |||
=== Impostare i repository === | |||
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: | |||
<pre> | |||
### Debian Ufficiale -- Testing | |||
deb http://ftp.it.debian.org/debian/ testing main non-free contrib | |||
### Debian Ufficiale -- Testing Sicurezza | |||
deb http://security.debian.org/ testing/updates main contrib non-free | |||
### Debian Ufficiale -- Sid | |||
deb http://ftp.it.debian.org/debian/ unstable main non-free contrib | |||
### Debian Ufficiale -- Experimental | |||
deb http://ftp.debian.org/debian/ ../project/experimental main | |||
### Multimedia -- Audio -- Rarewares | |||
deb http://www.rarewares.org/debian/packages/unstable ./ | |||
### Multimedia -- Video -- Marillat | |||
deb ftp://ftp.nerim.net/debian-marillat/ etch main | |||
deb ftp://ftp.nerim.net/debian-marillat/ sid main | |||
</pre> | |||
=== 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>. | |||
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>preferences</code> ==== | |||
Creiamo il file <code>/etc/apt/preferences</code>: | |||
<pre> | |||
# touch /etc/apt/preferences | |||
</pre> | |||
editiamolo col nostro editor di fiducia e inseriamo queste direttive: | |||
<pre> | |||
Package: * | |||
Pin: release o=Unofficial Multimedia Packages | |||
Pin-Priority: 950 | |||
Package: * | |||
Pin: release o=xmixahlx | |||
Pin-Priority: 900 | |||
Package: * | |||
Pin: release a=testing | |||
Pin-Priority: 850 | |||
Package: * | |||
Pin: release a=unstable | |||
Pin-Priority: 800 | |||
Package: * | |||
Pin: release a=experimental | |||
Pin-Priority: 750 | |||
</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. | |||
==== Il file <code>apt.conf</code> ==== | |||
Ora creiamo il file <code>/etc/apt/apt-conf</code> | |||
<pre> | |||
# touch /etc/apt/apt.conf | |||
</pre> | |||
editiamolo inserendo quanto segue: | |||
<pre> | |||
APT::Default-Release "testing"; | |||
APT::Cache-Limit 15000000; | |||
Apt::Get::Purge; | |||
APT::Clean-Installed; | |||
APT::Get::Fix-Broken; | |||
APT::Get::Fix-Missing; | |||
APT::Get::Show-Upgraded "true"; | |||
</pre> | |||
Facciamo l'update del database dei pacchetti: | |||
<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è: | |||
<pre> | |||
# apt-get install nome_pacchetto | |||
</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. | |||
---- | ---- | ||
[[User:MaXeR|MaXeR]] | {{Box|NOTE| | ||
Autori: | |||
* [[User:MaXeR|MaXeR]] | |||
* [[User:Keltik|Keltik]] | |||
Esteso da: | |||
* [[User:Nest|Nest]] | |||
Verificato da: | |||
* [[Utente:TheNoise|~ The Noise]]<br> | |||
}} | |||
Corretto l'8/2/2011 da [[User:Ernestus|Ernestus]] | Corretto l'8/2/2011 da [[User:Ernestus|Ernestus]] |
contributi