Old:APT uso avanzato: mixare releases diverse: differenze tra le versioni
(Aggiornamento repositories di Marillat) |
m (Impostato pinning Marillat > Rarewares per evitare conflitti) |
||
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. | ||
Per prima cosa | 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. | |||
Per prima cosa editiamo il file '''/etc/apt/sources.list''' ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo: | |||
<pre> | |||
### Debian Ufficiale -- Sarge | |||
deb http://ftp.it.debian.org/debian/ testing main non-free contrib | |||
### Debian Ufficiale -- Sarge 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> | |||
A questo punto dobbiamo preparare due files normalmente non presenti sulla nostra debianbox: si tratta dei file '''preferences''' e '''apt.conf'''. | |||
Questi due file istruiranno APT su come gestire le dipendenze dei pacchetti, informandolo su come comportarsi in caso di conflitti e altri problemi. | |||
Creiamo il file preferences: | Creiamo il file preferences: | ||
<pre> | <pre> | ||
# touch /etc/apt/preferences | # touch /etc/apt/preferences | ||
</pre> | </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: * | Package: * | ||
Pin: release a=unstable | Pin: release a=unstable | ||
Pin-Priority: | Pin-Priority: 800 | ||
Package: * | Package: * | ||
Pin: release a= | Pin: release a=experimental | ||
Pin-Priority: | 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> | </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 39: | Riga 103: | ||
<pre> | <pre> | ||
APT::Default-Release " | APT::Default-Release "testing"; | ||
APT::Cache-Limit 10000000; | APT::Cache-Limit 10000000; | ||
Apt::Get::Purge; | Apt::Get::Purge; | ||
Riga 47: | 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 56: | 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 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! | ||
Autore: [[User:Keltik|Keltik]] | ---- | ||
Autore: [[User:Keltik|Keltik]]<br> | |||
Revisione: [[User:Nest|Nest]] <br> | |||
Verificato: [[Utente:TheNoise|~ The Noise]] |
Versione delle 17:58, 26 set 2005
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 (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 è 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 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.
Per prima cosa editiamo il file /etc/apt/sources.list ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo:
### Debian Ufficiale -- Sarge deb http://ftp.it.debian.org/debian/ testing main non-free contrib ### Debian Ufficiale -- Sarge 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
A questo punto dobbiamo preparare due files normalmente non presenti sulla nostra debianbox: si tratta dei file preferences e apt.conf. Questi due file istruiranno APT su come gestire le dipendenze dei pacchetti, informandolo su come comportarsi in caso di conflitti e altri problemi.
Creiamo il file preferences:
# touch /etc/apt/preferences
editiamolo col nostro editor di fiducia e inseriamo queste direttive:
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
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:
# 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
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
# touch /etc/apt/apt.conf
editiamolo inserendo quanto segue:
APT::Default-Release "testing"; APT::Cache-Limit 10000000; Apt::Get::Purge; APT::Clean-Installed; APT::Get::Fix-Broken; APT::Get::Fix-Missing; APT::Get::Show-Upgraded "true";
Facciamo l' update del database dei pacchetti:
# apt-get update
D'ora in avanti avremo due possibilità per installare un nuovo pacchetto: il metodo che usiamo di solito e cioè:
# apt-get install nome_pacchetto
che utilizzerà pacchetti proveniente dalla versione impostata come Default-Release in apt.conf, oppure il comando
# apt-get install -t versione_di_debian nome_pacchetto
che provvederà a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze.
Happy debian!
Autore: Keltik
Revisione: Nest
Verificato: ~ The Noise