|
|
Riga 1: |
Riga 1: |
| 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. | | Spesso abbiamo la necessit� di installare la nuova versione di un pacchetto di cui proprio non possiamo fare a meno, che 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. | | Il caso pi� frequente � probabilmente quello di un' installazione di Sarge 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. | | 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 incosistenze. |
|
| |
|
| 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...). | | Per prima cosa 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. |
| | |
| | In questo how-to mostrer� come far convivere Sarge e Sid sulla stessa macchina, ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, woody + sarge, woody + unstable, woody + sarge + sid, ecc...). |
|
| |
|
| Assicuriamoci di essere l' utente root e procediamo. | | 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:
| | Creiamo il file preferences: |
| <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:
| |
| <pre> | | <pre> |
| # touch /etc/apt/preferences | | # touch /etc/apt/preferences |
| </pre> | | </pre> |
| | |
| editiamolo col nostro editor di fiducia e inseriamo queste direttive: | | editiamolo col nostro editor di fiducia e inseriamo queste direttive: |
| | |
| <pre> | | <pre> |
| Package: * | | Package: * |
| Pin: release o=xmixahlx | | Pin: release a=unstable |
| Pin-Priority: 950 | | Pin-Priority: 650 |
| | |
| Package: *
| |
| Pin: release o=Unofficial Multimedia Packages
| |
| Pin-Priority: 900
| |
|
| |
|
| Package: * | | Package: * |
| Pin: release a=testing | | Pin: release a=testing |
| Pin-Priority: 850 | | Pin-Priority: 600 |
| | |
| Package: *
| |
| Pin: release a=unstable
| |
| Pin-Priority: 800
| |
| | |
| Package: *
| |
| Pin: release a=experimental
| |
| 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 103: |
Riga 39: |
|
| |
|
| <pre> | | <pre> |
| APT::Default-Release "testing"; | | APT::Default-Release "unstable"; |
| APT::Cache-Limit 10000000; | | APT::Cache-Limit 10000000; |
| Apt::Get::Purge; | | Apt::Get::Purge; |
Riga 111: |
Riga 47: |
| APT::Get::Show-Upgraded "true"; | | APT::Get::Show-Upgraded "true"; |
| </pre> | | </pre> |
| | |
| | Ora non ci resta che aggiungere i repository necessari al file /etc/apt/sources.list assicurandoci di avere un repositry per Sarge ed uno per Sid. |
|
| |
|
| Facciamo l' update del database dei pacchetti: | | Facciamo l' update del database dei pacchetti: |
Riga 118: |
Riga 56: |
| </pre> | | </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� apt-get install nome_pacchetto 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. |
| | |
| <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]]
| |