APT

¿Cómo desempaquetar, modificar y volver a empaquetar un .deb?

Escrito el y tuvo 4 comentarios

Hoy tuve la necesidad de instalar Brackets, un editor de texto OpenSource desarrollado por Adobe que es muy bueno para el trabajo de FrontEnd, aunque, sigo prefiriendo Visual Studio Code, pero eso es otro cuento.

El punto es que al intentar instalarlo en Ubuntu 18.04 se obtiene un error de dependencia, porque Brackets depende de libcurl3 pero en Ubuntu está la versión libcurl4.

Posiblemente hacer un enlace simbólico de la versión 4 a la versión 3 hubiese resuelto el problema, pero hay un método más elegante y bastante sencillo de solventar esto, que de hecho, podría aplicarse para cualquier otro paquete .deb.

Modificar el .deb

En efecto, la solución es modificar las dependencias del paquete, y para ello tenemos que cambiar los valores en el fichero CONTROL que está dentro de una carpeta llamada DEBIAN, que a su vez está dentro del fichero .deb

Los pasos a ejecutar serían los siguientes:

1.- Descargar el fichero, en este caso Brackets pero puede servir para cualquier otro. 2.- Adentro de la carpeta donde descargamos el fichero ejecutamos este comando:

dpkg-deb -R ./Brackets.Release.1.12.64-bit.deb Brackets

3.- Ahora editamos el fichero que se encuentra dentro de Brackets/DEBIAN/control con nuestro editor favorito y reemplazamos lo que dice:

libcurl3 con libcurl3|libcurl4

4.- Volvemos a construir el paquete ejecutando este comando

dpkg-deb -b Brackets Brackets-fixed.deb

5.- Por último instalamos el paquete

sudo dpkg -i Brackets-fixed.deb

Por supuesto que podemos cambiar el nombre y poner el que queramos. Y con estos comandos podemos desempaquetar y empaquetar cualquier fichero .deb.

Comparte:

¿Ideas? ¿Comentarios?

  1. jony127 6 años atrás

    Interesante, gracias.

    Responder
  2. Jose Miguel 5 años atrás

    Gracias por la información.

    Acabo de cambiar a Ubuntu 20.04 y para tener un gitkraken gratis que aún funciona en repositorios privados remotos me ha venido genial.

    Responder
  3. Me salvaste, justamente andaba como loco buscando tratando de hacer funcionar ésta aplicación. Traté de modificar la dependencia pero cuando lo descomprimía salían solo los archivos que se instalan y nada que mostrara algo de depencias o instrucciones de instalación. Buscando los pasos sobre cómo modificar las dependencias a la primera llegué a éste sitio donde justamente lo explicas con la aplicación que yo estoy modificando por la misma razón.

    Hice todos los pasos y funcionaron. Ningún error.
    Sin embargo cuando ejecuto Bracket no pasa nada.

    Responder

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