Applicare una patch ad un pacchetto Debian: differenze tra le versioni

m
nessun oggetto della modifica
m (→‎PROCEDIAMO: sistemati i titoli dei paragrafi)
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 per� non � disponibile per il rilascio di Debian che abbiamo installato.


Da qualche anno si sono diffusi i 'pen drive', delle pennine usb con dei chip di memoria, per portare sempre con se ogni informazione.
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.
Linux, in questo campo, ha sempre sofferto di un problema: il mount e umount delle periferiche...
Ora, grazie a questo interessante pacchetto, � possibile automatizzare questa procedura e, anzi, renderla ancora pi� semplice e comoda.


==INSTALLAZIONE==
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 installare usbmount, bisogna scaricare il pacchetto Debian (che per ora non � ancora stato incluso nei repository ufficiali) dal sito del progetto: http://usbmount.alioth.debian.org/ (i pacchetti si trovano qui: http://usbmount.alioth.debian.org/package/).
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...).
Una volta scaricato, � sufficiente aprire una shell, e da root dare il seguente comando:


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>
<pre>
# dpkg -i /path/per/raggiungere/il/pacchetto/usbmount_v.e.r.deb
### 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>
 
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=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>
</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).


L'errore che si potrebbe riscontrare � la mancanza di udev, la cui risoluzione � molto semplice:
Vediamo alcuni esempi:


<pre>
<pre>
# apt-get install udev
# 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.


==CONFIGURAZIONE==
Ora creiamo il file apt-conf


Il pacchetto non necessita di riconfigurazione, in quanto i valori di default sono ottimali. Analizziamo comunque i file di configurazione e le opzioni:
<pre>
il file contenente la configurazione di usbmount � /etc/usbmount.conf .
# touch /etc/apt/apt.conf
Le direttive sono:
</pre>
MOUNTPOINTS
Indicano le directory in cui dovranno essere montate le periferiche.
Viene sempre utilizzata la prima disponibile (cosa molto comoda) e, se non sono presenti, vengono create.


===FILESYSTEMS===
editiamolo inserendo quanto segue:
Contiene la lista dei filesystem da provare, quando si esegue il mount del device.
Il mio consiglio � di avere prima vfat e poi msdos, per evitare problemi di 'storpiatura' dei nomi dei file.


===MOUNTOPTIONS===
<pre>
Serve per indicare le opzioni da passare al mount del device.
APT::Default-Release "testing";
Se non � presente, consiglio l'aggiunta dell'opzione 'quiet' che elimina i messaggi di errore relativi all'assenza di permessi nei filesystem di tipo fat.
APT::Cache-Limit 15000000;
Apt::Get::Purge;
APT::Clean-Installed;
APT::Get::Fix-Broken;
APT::Get::Fix-Missing;
APT::Get::Show-Upgraded "true";
</pre>


===VERBOSE===
Facciamo l' update del database dei pacchetti:
Utile per il debug (e se qualche cosa non va come deve).
In caso di dubbio, lasciare su 'no'.


<pre>
# apt-get update
</pre>


==UTILIZZO==
D'ora in avanti avremo due possibilit� per installare un nuovo pacchetto: il metodo che usiamo di solito e cio�:


L'utilizzo � piuttosto semplice.
<pre>
� sufficiente inserire il dispositivo, aspettare un secondo, e recarsi nella directory /media/usb (o usb0, usb1, ...), dove verr� montata la periferica.
# apt-get install nome_pacchetto
Per poter leggere e scrivere, bisogna appartenere al gruppo 'floppy': per ottenere ci� e sufficiente un
</pre>
 
che utilizzer� pacchetti proveniente dalla versione impostata come '''Default-Release''' in '''apt.conf''', oppure il comando


<pre>
<pre>
# adduser nomeutente floppy
# apt-get install -t versione_di_debian nome_pacchetto
</pre>
</pre>


Ovviamente il gruppo � modificabile nelle impostazioni di usbmount.
che provveder� a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze.
Per quanto riguarda l'umount, non bisogna preoccuparsi: le periferiche sono montate con la flag 'sync' attiva, che comporta un accesso in scrittura in tempo reale. Per evitare perdite di dati basta aspettare il termine della copia dei dati, dopo di che � possibile rimuoverla direttamente (facendo attenzione a non aver aperte applicazioni che accedono al mountpoint del device).
 
Happy debian!
 
----


==CONCLUSIONE==
Autore: [[User:Keltik|Keltik]]<br>
Revisione: [[User:Nest|Nest]] <br>
Verificato: [[Utente:TheNoise|~ The Noise]]


UsbMount � una utility ancora giovane, che sicuramente verr� migliorata, ed ampliata. Sicuramente diventer� un must su tutti i computer (sinceramente, non riesco a farne a meno ^_^)!
[[Categoria:Apt]]
[[Categoria:Apt-Dev]]
1 760

contributi