Tentando remover a instalação defeituosa de Jenkins

0

Em uma antiga máquina Debian rodando squeeze Eu tenho uma instalação defeituosa do jenkins que me impede de fazer a maioria das ações básicas do apt como instalar, atualizar etc.

Eu tentei rodar

sudo dpkg --remove --force-remove-reinstreq jenkins

dpkg: warning: overriding problem because --force enabled:
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
(Reading database ... 139335 files and directories currently installed.)
Removing jenkins ...
Found an incorrect Java version
Java version found:
java version "1.5.0" gij (GNU libgcj) version 4.4.5 Copyright (C) 2007 Free 
Software Foundation, Inc. This is free software; see the source for copying 
conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS 
FOR A PARTICULAR PURPOSE.
Aborting
invoke-rc.d: initscript jenkins, action "stop" failed.
dpkg: error processing jenkins (--remove):
subprocess installed pre-removal script returned error exit status 1
Errors were encountered while processing:
jenkins

Eu tentei atualizar a versão do Java seguindo as diretrizes aqui: link

Mas recebo um erro semelhante ao acima. Como posso proceder para remover completamente Jenkins da máquina, não tenho necessidade disso?

Atualização: depois de tentar atualizar a versão do Java, agora recebo isso:

Found an incorrect Java version
Java version found:
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK Client VM (build 14.0-b16, mixed mode, sharing)

EDITAR: Tentei a resposta de Antonio, mas recebi a seguinte saída:

Traceback (most recent call last):
    File "/usr/bin/apt-listchanges", line 33, in <module>
    from ALChacks import *
File "/usr/share/apt-listchanges/ALChacks.py", line 32, in <module>
sys.stderr.write(_("Can't set locale; make sure $LC_* and $LANG are    correct!\n"))
NameError: name '_' is not defined
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "sv_SE.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
dpkg: error processing jenkins (--remove):
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
configured to not write apport reports
Errors were encountered while processing:
jenkins
E: Sub-process /usr/bin/dpkg returned an error code (1)
    
por Björn Andersson 01.01.2018 / 19:31

1 resposta

1

Eu sofri o mesmo em um Debian 7 Wheezy.

O problema é que você tem uma versão de Java desatualizada. O Jenkins precisa do Java 8. Sempre que você tentar desinstalar o Jenkins, seu sistema tentará executar um script de desinstalação associado ao Jenkins. Então, esse script falha porque você não tem a versão correta do Java e a remoção é finalizada.

Primeiramente, tentei atualizar o Java, mas descobri exatamente a mesma falha que o sistema tentou interromper o jenkins antes de atualizar o Java. Mesmo quando Jenkins não estava correndo, porque você se lembra? nós não temos a versão correta do Java.

Então estamos presos em algum tipo de dependência circular, e precisamos quebrá-lo.

Isso funcionou para mim:

  1. Edite o /etc/init.d/jenkins . Eu gosto de usar o vim, mas use seu editor preferido. Lembre-se de que você precisará de sudo privileges para editar este arquivo.
  2. Este é o script usado para iniciar e parar o Jenkins, o único é perceber que não temos a versão correta do Java, etc.
  3. Coloque o arquivo inteiro em comentários. Para tanto, coloque o símbolo # em cada linha. Com o vim consegui fazer facilmente com :%s/^/#/
  4. Ir para a última linha ( G no vim).
  5. Remova o # antes de exit 0 , que informará ao sistema que o script foi bem-sucedido.
  6. Agora você pode iniciar o sudo aptitude remove jenkins

Espero que seja útil. Me faça notar se não funcionou, por favor.

    
por 08.02.2018 / 15:35