Cómo hacer uso de los paquetes DEB fuente para personalizar la instalación de software

Si estás utilizando una distribución principal de Linux como Ubuntu o Fedora, vendría con un gestor de paquetes que te permite instalar fácilmente paquetes binarios (DEB o RPM) en tu sistema. Sin embargo, si planeas personalizar el software que estás instalando, como agregar características adicionales, entonces querrás usar los paquetes fuente y compilarlos tú mismo.

Hay un par de razones por las que podrías sentirte tentado a intentar esto tú mismo:

  • Cuando compilas algo localmente, terminas con una versión del software mucho más personalizada para tu hardware, lo que puede generar algunas ganancias de rendimiento (en contraste, los binarios precompilados a menudo apuntan al “denominador común más bajo” y pueden no aprovechar máquinas más avanzadas).
  • Compilar desde la fuente también te da la capacidad de habilitar o deshabilitar ciertas características del software. Si bien en algunos casos implica cambiar código, en algunos casos, es tan fácil como agregar o quitar una bandera de los comandos de compilación.
  • Por último, nunca está de más, como miembros de la comunidad de software libre, explorar cómo se crean todas estas grandes aplicaciones. Si bien compilar desde un archivo del código fuente original puede estar más allá de lo que hace un usuario normal, usar paquetes fuente proporciona un vistazo al proceso de desarrollo y compilación para nosotros, simples mortales.

Estructura de los paquetes fuente DEB

Cuando vas a descargar un paquete fuente DEB de un repositorio, el gestor de paquetes estará tratando con tres archivos principales (mostrados en el repositorio de Ubuntu a continuación):

  • [nombre del paquete]_[número de versión].orig.tar.gz: Este archivo contiene el código fuente de upstream, o de los desarrolladores originales del programa.
  • [nombre del paquete]_[número de versión]build1.debian.tar.gz: Este archivo contiene el código anterior, con las modificaciones necesarias para hacerlo compatible con sistemas basados en DEB.
  • [nombre del paquete]_[número de versión]build1.dsc: Una descripción de los archivos en el paquete, que también puede incluir una firma.

deb-src-repo-pandoc

Instalación de paquetes fuente DEB

El sistema DEB y sus herramientas compañeras facilitan mucho la descarga y compilación de versiones de software desde los repositorios APT. Los siguientes pasos describen el proceso:

Primero, necesitarás instalar algún software que te permita compilar otro software. Emite el siguiente comando desde la terminal:

sudoapt-get install build-essential

También querrás asegurarte de que tienes habilitados los repositorios fuente.

Consulta las “Fuentes de Software” en tu gestor de paquetes para confirmar que la opción “Código Fuente” está marcada.

muon-sources-sourcecode

Alternativamente, inspecciona el archivo “/etc/apt/sources.list” y confirma que las siguientes líneas aparecen sin una marca “#” delante de ellas (si lo hacen, simplemente quítala y guarda el archivo):

deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse

La herramienta apt-src es una versión de “apt-get” que funciona con paquetes fuente. Instálala con lo siguiente:

sudoapt-get installapt-src

Nota: si instalas este paquete primero, también instalará el paquete build-essentials para ti

A continuación, es posible que necesites obtener algunas bibliotecas u otro software requerido para construir el paquete que deseas ( esto es una dependencia, pero diferente de la dependencia que puedes encontrar al instalar paquetes binarios).

sudoapt-get build-dep[nombre del paquete]

Ahora puedes descargar el paquete. El siguiente comando buscará el paquete por ti, lo compilará e instalará automáticamente:

sudoapt-src--buildinstall[paquete]

Si prefieres descargar el paquete fuente, ya sea para echar un vistazo dentro o para hacer algunos cambios, puedes descargarlo y luego instalarlo una vez que esté en tu sistema local con lo siguiente:

sudoapt-src install[nombre del paquete]

(Esto descargará los archivos fuente anteriores)

sudoapt-src build[nombre del paquete]

(Esto construirá el paquete a partir de los archivos descargados)

sudodpkg-i[nombre(s) del archivo del paquete].deb

Los paquetes fuente de Debian y sus herramientas relacionadas son una excelente manera de comenzar a aprender sobre cómo se crea el software libre. Como miembro de la comunidad, te lo debes a ti mismo probarlo y aprender a apreciar todo el arduo trabajo que los desarrolladores realizan.