viernes, abril 06, 2007

Como cambiar las dependencias de un paquete (.deb)

Hay veces que las dependencias de los paquetes en debian o ubuntu están mal, otras veces simplemente sabemos que con lo que tenemos en el sistema debería de legar, y simplemente por convenciones de nombres en ubuntu o debian, los paquetes se niegan a ser instalados.

Para solucionar eso a nuestra cuenta y riesgo podemos modificar las dependencias de los paquetes. Para hacer esto seguiremos los siguientes pasos:

  1. Descargamos el .deb en cuestión.

  2. Desempaquetamos el .deb con la siguiente línea
    mkdir temporal ; dpkg-deb --extract paquete.deb temporal

    Lo que se está haciendo a la izquierda de el ; es crear un directorio temporal donde se desempaquetará el deb. A la derecha del ; se especifica que se desempaquete el deb en el directorio creado anteriormente.

  3. Ahora se indica que además se extraiga la parte de control del paquete a temporal/DEBIAN con la siguiente línea
    dpkg-deb --control paquete.deb temporal/DEBIAN

  4. Ahora hay que editar el fichero temporal/DEBIAN/control cambiando las dependencias a las que nosotros queramos.

  5. Volvemos a empaquetar el .deb con la siguiente línea:
    dpkg --build temporal ; mv temporal.deb paquete.deb

  6. Ahora solo nos queda instalar nuestro nuevo paquete con el comando
    sudo dpkg -i skype_1.2.0.18-1_i386.deb