Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003
Más de una vez he necesitado modificar un paquete .deb debido a que las dependencias no son las correctas o la versión se detecta mal y se fuerza su actualización. Es el caso de mail-notification-evolution, paquete al que hay que modificarle la dependencia con libcamel para poder hacerlo funcionar con Evolution 2.28. Como los paquetes son simplemente archivos con una cierta informacion y comprimidos, es posible modificarlos utilizando File Roller o similares, pero es una tarea más incómoda.
El script simplemente descomprime el paquete y permite editar el archivo de texto que define la versión y las dependencias. Tras salir del editor actualiza el archivo guardado y borra los archivos temporales:
#!/bin/bash dpkg -e "$1" cd DEBIAN/ vim control tar czvf control.tar.gz * mv control.tar.gz ../ cd .. ar r "$1" control.tar.gz rm -rf DEBIAN rm control.tar.gz
Mientras se edita el archivo, es posible acceder a la carpeta DEBIAN creada en el directorio de trabajo y modificar los archivos del paquete data.tar.gz, que es donde está todos los archivos que se instalarán con el paquete.
TIP del día: tras instalar y desinstalar muchos paquetes, si no se utiliza la opción –purge de apt-get, muchos paquetes quedan con estado RC, que indica que los archivos de configuración no se han borrado, permitiendo su reinstalación posterior. Pero si sois como yo y no queréis tener configuraciones de paquetes que no están instalados, es necesario ejectutar para cada paquete un dpkg -P paquete, ya que al no estar instalado apt-get remove –purge paquete no sirve.
Se pueden desinstalar todos de un tirón con el siguiente comando:
for i in `dpkg -l | egrep "^rc" | awk '{print $2}'`; do sudo dpkg -P $i; done;
Al reinstalar mi Debian e intentar ejecutar Eclipse me encontré con una ristra de errores bastante desagradable, que provocaban que medio IDE no funcionara, y que lo poco que funcionaba. El error más repetido era java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin, junto con otros como org.eclipse.wst.dtd.core.internal.contentmodel.DTDImpl.
Teniendo instalada la máquina virtual de Java de Sun Microsystems, debe ser la alternativa por defecto al ejecutar programas Java. Por defecto estaba git-4.2, por lo que realizar el cambio con el comando sudo update-alternatives –config java soluciona el problema.
Es interesante porque esto nos permite tener varias máquinas virtuales instaladas simultáneamente, incluyendo las versiones 1.5 y 1.6 de JVM.
Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons