Pasos para modificar e instalar un paquete privativo -no se tiene el código
fuente- de debian utilizando el usuario root
:
-
Desempaquetar
# scratch=$(mktemp -d) # dpkg -x <package>.deb $scratch # dpkg -e <package>.deb $scratch/DEBIAN
-
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
.
- Varios paquetes agregan repositorios y claves (utilizando apt-key) en
los scripts de
-
Reempaquetar
# dpkg -b $scratch patched_<package>.deb
-
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
deapt-get install
:# dpkg -i pached_<package>.deb # apt-get install -V --fix-broken
Fuente: https://hashman.ca/zoom/