Modificar paquete privativo de debian

2020/05/21

Pasos para modificar e instalar un paquete privativo -no se tiene el código fuente- de debian utilizando el usuario root:

  1. Desempaquetar

    # scratch=$(mktemp -d)
    # dpkg -x <package>.deb $scratch
    # dpkg -e <package>.deb $scratch/DEBIAN
    
  2. Modificar contenido del paquete

    Se modifica el contenido del paquete; puede ser sus dependencias en el archivo de control ($scratch/DEBIAN/control) o scripts de {pre,post}{inst,rm} o archivos. Conviene aumentar el número de versión.

    Notas:

    • Varios paquetes agregan repositorios y claves (utilizando apt-key) en los scripts de {pre,post}inst.
    • En paquetes que tengan un tiempo de haber sido creados varias veces se incluyen dependencias a paquetes que ya no existen o que cambiaron su nombre. Una alternativa a tener que solucionar la dependencia de un paquete utilizando equivs es modificarlas en el archivo DEBIAN/control.
  3. Reempaquetar

    # dpkg -b $scratch patched_<package>.deb
    
  4. Instalar

    Ya que el paquete estaría fuera de un repositorio para instalarlo es necesario utilizar dpkg y luego asegurarse que se cumplen todas las dependencias del paquete con la opción --fix-broken de apt-get install:

    # dpkg -i pached_<package>.deb
    # apt-get install -V --fix-broken
    

Fuente: https://hashman.ca/zoom/