Qualche volta si vuole usare una specifica versione di un programma disponibile solo tramite i sorgenti, senza alcun pacchetto Debian. Ma per il sistema di gestione dei pacchetti questo può essere un problema. Supponiamo che si voglia compilare una nuova versione del server e-mail. Non ci sarebbero problemi, ma molti pacchetti di Debian dipendono da un MTA (Mail Transport Agent) e, quando si installa qualcosa che abbiamo compilato in proprio, il sistema di gestione dei pacchetti non può sapere nulla del nuovo software.
Qui entra in scena equivs. Per usarlo installare il pacchetto
omonimo. Equivs crea un pacchetto vuoto che è capace di soddisfare qualunque
dipendenza, facendo credere al sistema di gestione dei pacchetti che le
dipendenze sono soddisfatte.
Prima di iniziare è bene ricordare che esistono modi più sicuri per compilare un programma già impacchettato per Debian con opzioni differenti e che non si dovrebbe usare equivs per rimpiazzare le dipendenze se non sa quali possono essere le conseguenze sul sistema. Vedere Lavorare con i pacchetti sorgente, Capitolo 6 per ulteriori informazioni.
Continuando con l'esempio del MTA: si è appena installato il neo-compilato
postfix e ora si vuole installare mutt, però
mutt richiede di installare un altro MTA. Ma ce ne già uno
installato.
Cambiare directory (/tmp, per esempio) ed eseguire:
# equivs-control nome
Mettere al posto di name il nome del file di controllo da creare. Il file che sarà creato è come quello che segue:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: <enter package name; defaults to equivs-dummy>
Version: <enter version here; defaults to 1.0>
Maintainer: <your name and email address; defaults to username>
Pre-Depends: <packages>
Depends: <packages>
Recommends: <packages>
Suggests: <package>
Provides: <(virtual)package>
Architecture: all
Copyright: <copyright file; defaults to GPL2>
Changelog: <changelog file; defaults to a generic changelog>
Readme: <README.Debian file; defaults to a generic one>
Extra-Files: <additional files for the doc directory, comma-seperated>
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
Ora è necessario modificarlo in modo che faccia quello che si vuole. Qui verrà mostrato il formato dei soli campi necessari:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: mta-local
Provides: mail-transport-agent
mutt dipende da mail-transport-agent, che è un
pacchetto virtuale fornito da tutti i MTA, si potrebbe semplicemente nominare
il pacchetto mail-transport-agent, ma è preferibile usare lo
schema dei pacchetti virtuali tramite "Provides".
Ora serve solo creare il pacchetto:
# equivs-build name
dh_tstdir
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
# Add here commands to install the package into debian/tmp.
touch install-stamp
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package `name' in `../name_1.0_all.deb'.
The package has been created.
Attention, the package has been created in the current directory,
e installare il .deb finale.
Come si può vedere ci sono molti usi di equivs. Per esempio, si
può creare un pacchetto my-fovorites, che dipende dai programmi
che abitualmente si installano, per esempio. Si ha la più completa libertà di
scelta, ma si deve valutare attentamente quello che si ha intenzione di fare.
Infine notare che ci sono vari esempi di file di controllo in
/usr/share/doc/equivs/example.
Molti utenti Debian usano una sola impostazione internazionale. Un utente brasiliano, per esempio, generalmente usa locale settato come pt_BR tutto il tempo e non gli interessa avere a disposizione anche es.
localepurge è uno strumento molto utile per questi utenti, infatti
possono liberare molto spazio mantenendo solo i file di localizzazione che
realmente usano. Per installare localepurge: apt-get install
localepurge.
Questo pacchetto è veramente semplice da configurare dato che debconf guida l'utente passo dopo passo nella sua configurazione. Tuttavia si deve porre attenzione alle risposte delle prime domande, che, se non corrette, potrebbero causare la rimozione di tutti i file di localizzazione, compresi quelli che si indendeva mantenere. In questo caso, l'unico modo per ripristinare questi file è reinstallare i pacchetti che li forniscono.
apt-show-versions è un programma che mostra quali pacchetti del
sistema potrebbero essere aggiornati e altre utili informazioni. L'opzione
-u visualizza un elenco dei pacchetti aggiornabili:
$ apt-show-versions -u
libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
APT HOWTO
1.8.10 - Novembre 2004kov@debian.org