Old:APT uso avanzato: mixare releases diverse: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
==Introduzione==
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.
Apt-cdrom permette di automatizzare l'aggiunta e l'aggiornamento dei repository presenti su Cd-Rom.


==Installazione==
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.
L'installazione non � necessaria, in quanto � contenuto nel pacchetto base di apt.


==Opzioni disponibili==
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.
L'utilizzo del comando semplicissima: permette due sole azioni:<br/>
; add : per l'aggiunta di un cd/dvd alla lista di quelli disponibili<br/>
; ident : per identificare il cd/dvd inserito<br/>


Il fatto che ci sia l'opzione '''ident''' fa capire che � presente un sistema di indentificazione: dopo la scansione del supporto, quando sar� necessario recuperare un pacchetto, verr� richiesto il cd/dvd chiamandolo per 'nome'.
In questo how-to mostrer� come utilizzare pacchetti Debian provenienti da Sarge, Unstable, Experimental, Marillat (multimedia/video) e Rarewares.org (multimedia/audio), ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, woody + sarge, woody + unstable, woody + sarge + sid, ecc...).


Le opzioni disponibili, invece, sono:<br/>
Assicuriamoci di essere l' utente root e procediamo.
; -d : Permette di indicare un mount-point alternativo<br/>
; -r : Consente di rinominare il cd/dvd da analizzare<br/>
; -m : Non esegue il mount (nel caso sia gi� montato)<br/>


Degna di nota � la gestione totalmente automatizzata del processo di mount e umount del dispositivo: quando verr� richiesto un pacchetto, infatti, il cassetto del lettore verr� aperto automaticamente, e tutte le operazioni di mount e umount eseguite autonomamente.
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://ftp2.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://ftp2.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/ testing main
deb ftp://ftp.nerim.net/debian-marillat/ unstable 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>
# touch /etc/apt/preferences
</pre>
editiamolo col nostro editor di fiducia e inseriamo queste direttive:
<pre>
Package: *
Pin: release o=xmixahlx
Pin-Priority: 950
 
Package: *
Pin: release o=Unofficial Multimedia Packages
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 necessariamente in qualsiasi repository.
 
Vediamo alcuni esempi:


==Esempi==
Una breve rassegna di esempi, per prendere familiarit con questo strumento:<br/>
comando semplice per aggiungere il supporto correntemente inserito nel primo cd all'archivio
<pre>
<pre>
# apt-cdrom add
bard:/home/nest# cd /var/lib/apt/lists/
bard:/var/lib/apt/lists# cat www.rarewares.org_debian_packages_unstable_._Release
Archive: unstable
Origin: xmixahlx                    
Label: xmixahlx_rarewares-unstable
Architecture: i386
bard:/var/lib/apt/lists# 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>


Possiamo vedere che nel file Release contenuto proprio il dato che stavamo cercando: Origin.
Ora creiamo il file apt-conf


per sapere come viene identificato il supporto correntemente inserito
<pre>
<pre>
# apt-cdrom ident
# touch /etc/apt/apt.conf
</pre>  
</pre>


editiamolo inserendo quanto segue:


permette di aggiungere all'archivio il dvd accessibile tramite il mount point /media/dvd
<pre>
<pre>
# apt-cdrom -d /media/dvd add
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";
</pre>
</pre>


Facciamo l' update del database dei pacchetti:


come nell'esempio precedente, specificando il nome del supporto: Sarge DVD n1 2005-05-24
<pre>
<pre>
# apt-cdrom -d /media/dvd -r "Sarge DVD n1 2005-05-24" add
# apt-get update
</pre>
</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.
Happy debian!
----


---- [[User:MaXeR|MaXeR]]
Autore: [[User:Keltik|Keltik]]
[[Categoria:Apt]]
[[Categoria:Repository]]