Попытка удалить неисправную установку Jenkins

2226
Björn Andersson

На старой машине Debian, на которой запущен squeeze, у меня неправильная установка jenkins, которая не позволяет мне выполнять самые основные действия, такие как установка, обновление и т. Д.

Я пробовал бегать

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 

Я попытался обновить версию Java, следуя инструкциям здесь: https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-debian-8

Но я получаю ошибку, аналогичную приведенной выше. Как я могу полностью удалить Дженкинс из машины, мне это не нужно?

Обновление: после попытки обновить версию Java теперь я получаю это:

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) 

РЕДАКТИРОВАТЬ: попробовал ответ Антонио, но получил следующий вывод:

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) 
0
Вы пытались следовать этим инструкциям из сообщения об ошибке? `Пакет находится в очень плохом несовместимом состоянии - вы должны переустановить его перед попыткой удаления`. jayhendren 6 лет назад 0
Также: `invoke-rc.d: initscript jenkins, не удалось выполнить действие" stop ". Есть идеи, почему это не удалось? Можете ли вы вручную запустить / остановить сервис jenkins? jayhendren 6 лет назад 0
Я старался изо всех сил переустановить это, но это терпит неудачу с тем же сообщением об ошибке. Понятия не имею, почему запуск / остановка завершается неудачей, она не срабатывает, если я делаю это также вручную. Björn Andersson 6 лет назад 0
Можете ли вы опубликовать логи Jenkins и вывод 'service jenkins stop'? jayhendren 6 лет назад 0
Он ничего не записывает в журналы `` `/ var / log / jenkins``` пуст. Вывод такой же, как в оригинальном посте в разделе «Обновление» Björn Andersson 6 лет назад 0

1 ответ на вопрос

1
Antonio Sánchez-Padial

Я страдал так же на Debian 7 Wheezy.

Проблема в том, что у вас устаревшая версия Java. Jenkins требуется Java 8. Всякий раз, когда вы пытаетесь удалить Jenkins, ваша система пытается выполнить сценарий удаления, связанный с Jenkins. Затем этот скрипт завершается ошибкой, потому что у вас нет правильной версии Java, и удаление заканчивается.

Сначала я попытался обновить Java, но обнаружил точно такую ​​же ошибку, как система пыталась остановить jenkins перед обновлением Java. Даже когда Дженкинс вообще не бегал, потому что ты помнишь? у нас нет правильной версии Java.

Таким образом, мы попали в ловушку какой-то круговой зависимости, и нам нужно ее преодолеть.

Это сработало для меня:

  1. Редактировать /etc/init.d/jenkins. Мне нравится использовать vim, но используйте предпочитаемый вами редактор. Помните, что вам понадобятся sudoпривилегии для редактирования этого файла.
  2. Это сценарий, используемый для запуска и остановки Jenkins, тот, который понимает, что у нас нет правильной версии Java и т. Д.
  3. Поместите весь файл под комментариями. Для этого добавьте символ #к каждой строке. С VIM я сделал это легко с:%s/^/#/
  4. Перейти к последней строке ( Gв VIM).
  5. Удалите #предыдущее exit 0, которое сообщит системе, что скрипт был успешным.
  6. Теперь вы можете запустить sudo aptitude remove jenkins

Я надеюсь, что это полезно. Запишите, если это не сработало, пожалуйста.

К сожалению, это не помогло, см. Вывод в разделе «РЕДАКТИРОВАТЬ» в моем исходном сообщении (вставлять его было слишком долго) Björn Andersson 6 лет назад 0
Попробуйте использовать `apt-get remove` или` aptitude remove`, они работают на более высоком уровне, чем `dpkg`, и иногда они могут решать проблемы, с которыми` dpkg` не может справиться. Antonio Sánchez-Padial 6 лет назад 0
Или сделайте следующее. 1) прокомментируйте сценарий Jenkins, как я вам сказал 2) переустановите Jenkins (как вам сказано в описании ошибки) 3) повторите 1) и 4) попробуйте удалить его снова. Antonio Sánchez-Padial 6 лет назад 0

Похожие вопросы