Casi todas las grandes distribuciones cuentan con su propios repositorios de aplicaciones, con miles de ellas, siempre actualizadas y parcheadas. Con sus propios sistemas de empaquetado (.deb, .rpm, etc…) que facilitan con unos pocos comandos el instalar una aplicación, y sobre todo, desinstalarla de forma eficaz y segura. Sin embargo en ocasiones (pocas) puede suceder que justo no tengamos el fichero empaquetado del programa y/o versión que necesitamos.

Generalmente esto tiene una solución muy sencilla. Nos dirigimos a la página del desarrollador y nos bajamos las fuentes y compilamos los binarios; o bien directamente nos bajamos un .tar con los binarios. Esto no tiene un gran misterio. Luego instalamos los binarios en la carpeta /opt o /usr/local/bin y listo.

Sin embargo esta solución nunca me ha satisfecho. Eso de tener binarios fuera del control de paquetes (sea cual sea), nunca me ha gustado. Quizás porque siempre he identificado a Linux con libertad, pero también con control absoluto de lo que sucede en el sistema.

Sin embargo, como (casi) todo en Linux, tiene alternativa y remedio. Abordo una posible solución, simple, rápida y efectiva de tener controlados estos binarios e instalaciones en Debian.

Uso del paquete alien

Sino teneis este paquete lo podeis instalar fácilmente a partir del repositorio. El paquete «alien» es un conversor de paquetes entre distintas distribuciones. Os recomiendo que le echeis un vistazo a la página de ayuda de alien. Recordad, a partir de aquí siempre como root o con sudo:

# apt-get install alien

Una vez instalado y satisfechas sus posibles dependencias pasamos a trabajar con el fichero .tar descargado. He elegido el programa Seamonkey de la Mozilla Foundation para este ejemplo.

Preparando el empaquetado

Nos dirigimos al directorio /tmp y ahí descargamos en primer lugar el .tar de programa.

# cd /tmp
# wget https://download.mozilla.org/?product=seamonkey-2.19&os=linux&lang=es-AR

A continuación replicamos la estructura de directorio donde queremos instalarlo en nuestro sistema de archivos. Por ejemplo, si queremos que nuestro programa quede instalado en /usr/local/bin/seamonkey deberemos de crear primero la ruta dentro de /tmp y luego descomprimir los ficheros en esa ubicación.

# mkdir -p usr/local/bin
# tar xvjf seamonkey-2.19.en-US.linux-x86_64.tar.bz2 -C usr/local/bin

Ahora ya tenemos creada la «ruta virtual», por llamarla de algún modo, de la instalación así que ya podemos usar tar para crear un nuevo contenedor con la ruta que nos interesa.

# tar cvzf myown-seamonkey-2-19.tar.gz usr

Una vez generado el paquete .tar con la ruta interna de la instalación podemos crear el .deb con alien.

# alien --version=2.19 -k --fixperms myown-seamonkey-2-19.tar.gz

El paquete alien por defecto convierte a .deb por lo que no deberemos de especificar el tipo de paquete de destino. Luego incluiremos un parámetro para incluir la versión del programa que vamos a «debianizar» (ya que tenemos control de versiones, usémoslo), -k que simplemente impide que alien añada un número de subversión y –fixperms que «sanea» los permisos de los archivos (no está de más ser precavidos).

Finalmente tendremos un fichero .deb que podremos instalar y gestionar con dpkg como cualquier otro paquete. Con lo que supone también a nivel de dependencias. Si ejecutamos el siguiente comando podemos listar el contenido del paquete.

# dpkg -c myown-seamonkey-2_2.19-1_all.deb

Si todo es correcto ya podemos utilizarlo con seguridad. Por cierto, recordad limpiar el espacio que hayais usado en /tmp. 😉

Espero os sea de utilidad.

Comparte si te ha gustado

Autor:
Última actualización:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

De acuerdo con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril de 2016, consiento que mis datos sean tratados bajo la responsabilidad de Oscar Gascón Arjol para recibir respuesta a consultas. publicación de comentarios del blog y que las conserve mientras haya un interés mutuo para ello. Me doy por informado que tengo derecho a revocar este consentimiento en cualquier momento y a ejercer los de acceso, rectificación, portabilidad y supresión de mis datos y los de limitación y oposición al tratamiento dirigiéndome por email a [email protected] También estoy informado de que puedo reclamar ante la autoridad de control a www.agpd.es.