Para todos aquellos que nos encanta frikear un poco y probar con distintas distribuciones, sin duda la tarea más pesada (por no decir coñazo) es tener que volver a instalar todos los paquetes que solemos tener instalados. Para ayudarnos a esta tarea están los metapaquetes. En distribuciones que hagan uso del sistema de paquetes de debian (archivos .deb), podemos generar un metaquete que crea dependencias con otros paquetes de forma que cuando instalamos dicho metapaquete se instalan todos los demás. En ubuntu esto se lleva haciendo tiempo con metapaquetes como ubuntu-desktop, kubuntu-desktop o ubuntu-restricted-extras. En esta entrada vamos a ver una forma sencilla de crearnos nuestros metapaquetes para poder instalar nuestros paquetes más socorridos siempre que instalemos una nueva distribución.
Para la creación de los metapaquetes tenemos un paquete disponible en la mayoría de distribuciones basadas en debian llamado equivs. Este paquete nos proporciona dos sencillas herramientas para poder crear los metapaquetes:
equivs-control: Para generar un esqueleto del archivo de configuración. equivs-build: Para construir el metapaquete a partir del archivo de configuración. Para generar el esqueleto de nuestro archivo de configuración solo tendremos que ejecutar el comando equivs-control seguido del nombre que le queramos dar al archivo. Después tendremos que editarlo y modificar sobre todos los campos package, version, maintainer y depends. En Depends iran todos los paquetes que queremos que se instalen, a continuación os muestro un ejemplo:
### Commented entries have reasonable defaults. ### Uncomment to edit them. Section: misc Priority: optional Homepage: http://edutictac.es Standards-Version: 3.6.2 Package: edutictac-edu Version: 0.0.1 Maintainer: edutictac <developer@edutictac.es> # Pre-Depends: <comma-separated list of packages> Depends: fotowall # 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> # Files: <pair of space-separated paths; First is file to include, second is destination> # <more pairs, if there's more than one file to include. Notice the starting space> Description: Aquest és un metapaquet per a instal·lar tot el software seleccionat per els components de la Comunitat EduTicTac . aquest programari pretén facilitar la nostra tasca educativa