Cometi o erro de instalar o Jenkins a partir do pacote ubuntu, o que causa um estresse infinito por aqui no gerenciamento de atualizações. Não tenho nenhuma discussão sobre como o Ubuntu organizou os arquivos em disco.
Para os curiosos, o jenkins possui um gerenciador de pacotes interno que baixa atualizações de plug-ins, e é necessária uma coordenação cuidadosa das principais instalações e atualizações de plug-ins do jenkins para evitar condições caóticas. Portanto, temos que bloquear cuidadosamente as atualizações do jenkins via, oh, apt-get upgrade quando não sabemos exatamente o que está acontecendo com os plugins.
Então, o que eu gostaria de fazer é convencer o dpkg / apt-get a esquecer que existe um pacote jenkins, sem permitir que ele exclua os arquivos existentes.
A propósito, a 'instalação' consiste em um arquivo '.war' mais os links /etc/init.d.
Obviamente, posso fazer backup do que me interessa, remover o pacote e restaurar, mas esperava aprender que havia uma opção obscura do dpkg que esqueceu de excluir os arquivos.
Há algum jeito?
Respostas:
A melhor maneira de fazer isso é manipulando
/var/lib/dpkg/status
.CONTUDO!
Esse arquivo tem uma sintaxe sensível; Fazer isso da maneira errada pode prejudicar o gerenciamento de pacotes.
Aqui está o que você deve fazer:
Encontre um bloco parecido com este (a aparência real pode depender do pacote que você está tentando tornar 'invisível'):
A primeira declaração
Package: <name>
é onde você deve procurar, onde<name>
está o nome do pacote que deseja remover.Cada bloco começa com uma
Package: <name>
linha e termina com a próximaPackage:
linha, MAS não remova a próximaPackage:
instrução!Se você tiver isso em mente, o pacote não parecerá mais instalado no dpkg; apesar de todos os arquivos ainda estarem disponíveis.
Este é um truque terrível, na melhor das hipóteses, mas funciona muito bem, eu já fiz isso algumas vezes no passado, em uma época em que o Ubuntu ainda estava lutando com pacotes quebrados às vezes. Eu não recomendo, é uma opção de último recurso.
fonte
Ainda é muito útil, mesmo que seja um hack. Uma sugestão adicional é remover similarmente o pacote indesejado de / var / lib / dpkg / available e remover todos os arquivos {package}. * De / var / lib / dpkg / info /
Usei isso quando decidi instalar uma versão mais recente de um software a partir da fonte, que havia sido instalada anteriormente como a versão lançada pelo Ubuntu. Primeiro baixei e construí / instalei a nova versão que eu queria, depois usei esse hack para fazer o dpkg esquecer a versão mais antiga do Ubuntu.
fonte