Cometí el error de instalar Jenkins desde el paquete ubuntu, lo que causa un estrés interminable por aquí en la administración de actualizaciones. No tengo nada en contra de cómo Ubuntu organizó los archivos en el disco.
Para los curiosos, jenkins tiene un administrador de paquetes interno que descarga actualizaciones de complementos, y se requiere una cuidadosa coordinación de las principales instalaciones de jenkins y actualizaciones de complementos para evitar condiciones caóticas. Así que tenemos que bloquear cuidadosamente las actualizaciones de jenkins mediante, oh, apt-get upgrade cuando no sabemos exactamente qué está pasando con los complementos.
Entonces, lo que me gustaría hacer es convencer a dpkg / apt-get de que olvide que hay un paquete jenkins, sin dejar que elimine ningún archivo existente.
Por cierto, la 'instalación' consiste en un archivo '.war' más los enlaces /etc/init.d.
Obviamente, puedo hacer una copia de seguridad de lo que me importa, eliminar el paquete y restaurar, pero esperaba saber que había una oscura opción dpkg que olvidó eliminar archivos.
¿Hay alguna manera?
Respuestas:
La "mejor" forma de hacerlo es manipulando
/var/lib/dpkg/status
.¡SIN EMBARGO!
Ese archivo tiene una sintaxis sensible; Hacerlo de manera incorrecta puede dañar la administración de su paquete.
Esto es lo que tienes que hacer:
Encuentre un bloque que se parezca un poco a esto (el aspecto real puede depender del paquete que está tratando de hacer 'invisible'):
La primera declaración
Package: <name>
es dónde debe buscar, dónde<name>
está el nombre del paquete que desea eliminar.Cada bloque comienza con una
Package: <name>
línea y termina con la siguientePackage:
línea, ¡ PERO no elimine la siguientePackage:
declaración!Si tiene eso en cuenta, el paquete ya no aparecerá instalado en dpkg; a pesar de que todos los archivos aún están disponibles.
Este es un truco terrible en el mejor de los casos, pero funciona bien, lo he hecho algunas veces en el pasado yo mismo, en un momento en que Ubuntu todavía tenía problemas con los paquetes rotos a veces. No lo recomiendo, es una opción de último recurso.
fuente
Sigue siendo muy útil incluso si es un hack. Una sugerencia adicional es eliminar de manera similar el paquete no deseado de / var / lib / dpkg / available y eliminar todos los archivos {package}. * De / var / lib / dpkg / info /
Usé esto cuando decidí instalar una versión más nueva de un software desde la fuente, que previamente se había instalado como la versión lanzada por Ubuntu. Primero descargué y construí / instalé la nueva versión que quería, luego usé este truco para hacer que dpkg olvidara la versión anterior lanzada por Ubuntu.
fuente