Gestione dei metapacchetti
Versioni Compatibili Tutte le versioni supportate di Debian |
Premessa
Questa guida riguarda il solo processo di creazione dei metapacchetti, la sezione relativa all'utilizzo/gestione è stata accorpata alla guida Introduzione all' Apt System.
Creare un metapacchetto
Come noto i metapacchetti sono molto utili per installare suite di programmi con un solo comando (installando il metapacchetto appunto). Con il pacchetto equivs tutto è molto semplice; incominceremo con l'installarlo:
# aptitude install equivs
A questo punto lanceremo il comando:
$ equivs-control controller
il quale creerà un file controller
per il nostro metapacchetto (il nome è arbitrario, potete scegliere quello che volete). Il suo aspetto è il seguente (dopo averlo aperto in un editor qualsiasi):
### Commented entries have reasonable defaults. ### Uncomment to edit them. Section: misc Priority: optional Standards-Version: 3.6.2 Package: <package name; defaults to equivs-dummy> # Version: <enter version here; defaults to 1.0> # Maintainer: Your Name <yourname@example.com> # Pre-Depends: <comma-separated list of packages> # Depends: <comma-separated list of packages> # Recommends: <comma-separated list of packages> # Suggests: <comma-separated list of packages> # Provides: <comma-separated list of packages> # Replaces: <comma-separated list of packages> # 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: <comma-separated list of additional files for the doc directory> Description: <short description; defaults to some wise words> long description and info . second paragraph
Andremo poi ad inserire i campi illustrati dopo aver decommentato le righe che vogliamo definire. Il campo più importante è sicuramente Depends, che ha il ruolo fondamentale del metapacchetto, senza dimenticarci di dare il nome al metapacchetto. Gli altri campi sono più o meno facoltativi (inserire la versione, il mantenitore e una piccola descrizione sarebbe comunque auspicato).
Infine daremo il comando:
$ equivs-build controller
che creerà il metapacchetto .deb
che potremo poi installare come qualsiasi pacchetto
Esempio pratico
Prendiamo ad esempio questa guida: Installare_e_configurare_i_codec_per_DVD_e_Mp3. Sarebbe ora interessante creare un metapacchetto che installi i pacchetti necessari con un solo comando. Iniziamo dunque a creare un controller:
$ equivs-control controller
Editiamo poi il file controller
nel modo seguente (sulla base della guida citata):
### Commented entries have reasonable defaults. ### Uncomment to edit them. Section: misc Priority: optional Standards-Version: 3.6.2 Package: codec-dvd-mp3 Version: 0.1 Maintainer: Debianizzati <info@debianizzati.org> # Pre-Depends: <comma-separated list of packages> Depends: libfaad2-0,libmp4-0,libfaac0,alsamixergui,toolame,lame,libmp3lame0,libdvdnav4,libdvdread3,libdvdcss2,w32codecs,ffmpeg Recommends: debian-multimedia-keyring # Suggests: <comma-separated list of packages> # Provides: <comma-separated list of packages> # Replaces: <comma-separated list of packages> # 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: <comma-separated list of additional files for the doc directory> Description: installa codec per DVD e mp3 Questo metapacchetto installa le librerie per la riproduzione di DVD e mp3. Ricordiamo di aggiungere i repository debian-multimedia (deb http://www.debian-multimedia.org lenny main) all'interno del proprio /etc/apt/sources.list
Creiamo il pacchetto debian:
$ equivs-build controller
Se tutto sarà andato a buon fine (occhio alla sintassi!) otterremo il pacchetto codec-dvd-mp3_0.1_all.deb
nella directory da dove abbiamo lanciato i comandi. Per dare un'ennesima verifica al pacchetto, daremo il comando:
$ dpkg --info codec-dvd-mp3_0.1_all.deb
ottenendo il seguente output:
Package: codec-dvd-mp3 Version: 0.1 Architecture: all Maintainer: Debianizzati <info@debianizzati.org> Installed-Size: 36 Depends: libfaad2-0, libmp4-0, libfaac0, alsamixergui, toolame, lame, libmp3lame0, libdvdnav4, libdvdread3, libdvdcss2, w32codecs, ffmpeg Recommends: debian-multimedia-keyring Section: misc Priority: optional Description: installa codec per DVD e mp3 Questo metapacchetto installa le librerie per la riproduzione di DVD e mp3. Ricordiamo di aggiungere i repository debian-multimedia (deb http://www.debian-multimedia.org lenny main) all'interno del proprio /etc/apt/sources.list
Sarebbe bello ora installare il nostro pacchetto con dpkg, ma dovremmo sapere che non è possibile. Questo perché dpkg non sa risolvere le dipendenze come apt-get. Dovremmo allora inserire il nostro pacchetto in un repository (esistente o creandolo anche in locale -> Creare_un_Repository_Debian) oppure forzare le dipendenze all'installazione (opzione --force-depends
da aggiungere al classico dpkg -i
) e installare le dipendenze manualmente con un manager come aptitude.
Brunitika 16:49, 8 apr 2009 (CEST)