Der Versuch, eine fehlerhafte Installation von Jenkins zu entfernen

2273
Björn Andersson

Auf einer alten Debian-Maschine, auf der Squeeze ausgeführt wird, habe ich eine fehlerhafte Installation von Jenkins, die mich daran hindert, die meisten grundlegenden apt-Aktionen wie Installieren, Upgrade usw. auszuführen.

Ich habe versucht zu laufen

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 

Ich habe versucht, die Java-Version gemäß den folgenden Richtlinien zu aktualisieren: https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-debian-8

Ich bekomme jedoch einen ähnlichen Fehler wie oben. Wie kann ich Jenkins vollständig von der Maschine entfernen, ich habe keine Notwendigkeit dafür?

Update: Nach dem Versuch, die Java-Version zu aktualisieren, erhalte ich jetzt Folgendes:

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) 

BEARBEITEN: Ich habe Antonio's Antwort ausprobiert, aber folgende Ausgabe erhalten:

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
Haben Sie versucht, diese Anweisungen aus der Fehlermeldung zu befolgen? `Das Paket befindet sich in einem sehr schlechten inkonsistenten Zustand - Sie sollten es vor dem Entfernen erneut installieren.“ jayhendren vor 6 Jahren 0
Außerdem: `invoke-rc.d: initscript jenkins, Aktion" stop "ist fehlgeschlagen." Können Sie den Jenkins-Dienst manuell starten oder stoppen? jayhendren vor 6 Jahren 0
Ich habe mein Bestes getan, um es neu zu installieren, aber es schlägt fehl mit dem gleichen Fehler Mesasge. Keine Ahnung, warum Start / Stop fehlschlägt, wenn ich es auch manuell mache. Björn Andersson vor 6 Jahren 0
Können Sie die Jenkins-Protokolle und die Ausgabe von "Service-Jenkins-Stopp" posten? jayhendren vor 6 Jahren 0
Es schreibt nichts in die Protokolle `` `/ var / log / jenkins``` ist leer. Die Ausgabe ist die gleiche wie im ursprünglichen Beitrag unter "Update". Björn Andersson vor 6 Jahren 0

1 Antwort auf die Frage

1
Antonio Sánchez-Padial

Ich litt dasselbe bei einem Debian 7 Wheezy.

Das Problem ist, dass Sie eine veraltete Java-Version haben. Jenkins benötigt Java 8. Wenn Sie versuchen, Jenkins zu deinstallieren, versucht Ihr System, ein Deinstallationsskript auszuführen, das Jenkins zugeordnet ist. Dann schlägt dieses Skript fehl, weil Sie nicht die richtige Java-Version haben und das Entfernen beendet ist.

Ich habe zuerst versucht, Java zu aktualisieren, fand aber genau den gleichen Fehler wie das System, um Jenkins vor dem Upgrade von Java zu stoppen. Selbst wenn Jenkins überhaupt nicht lief, weil Sie sich erinnern? Wir haben nicht die richtige Java-Version.

Wir sind also in einer Art zirkularen Abhängigkeit gefangen, und wir müssen sie brechen.

Das hat für mich funktioniert:

  1. Bearbeiten /etc/init.d/jenkins. Ich benutze gerne vim, benutze aber Ihren bevorzugten Editor. Denken Sie daran, dass Sie sudoBerechtigungen benötigen, um diese Datei bearbeiten zu können.
  2. Dies ist das Skript, mit dem Jenkins gestartet und gestoppt wird. Das Skript erkennt, dass wir nicht die richtige Java-Version haben usw.
  3. Fügen Sie die gesamte Datei unter Kommentare ein. Stellen Sie das Symbol #vor jeder Zeile voran . Mit vim habe ich es leicht gemacht:%s/^/#/
  4. Gehen Sie die letzte Zeile ( Gin vim).
  5. Entfernen Sie das #vorher exit 0, das sagt dem System, dass das Skript erfolgreich war.
  6. Jetzt können Sie starten sudo aptitude remove jenkins

Ich hoffe es ist nützlich. Schreiben Sie mir bitte, wenn es nicht funktioniert hat.

Hat leider nicht geholfen, siehe Ausgabe unter "EDIT" in meinem ursprünglichen Beitrag (das Einfügen war zu lang) Björn Andersson vor 6 Jahren 0
Versuchen Sie "apt-get remove" oder "aptitude remove" zu verwenden. Sie arbeiten auf einer höheren Ebene als "dpkg", und manchmal können sie mit Problemen umgehen, die mit "dpkg" nicht gelöst werden können. Antonio Sánchez-Padial vor 6 Jahren 0
Oder mache folgendes 1) Kommentieren Sie das Jenkins-Skript, wie ich es Ihnen gesagt habe. 2) Installieren Sie Jenkins erneut (wie in der Fehlerbeschreibung beschrieben). 3) Wiederholen Sie 1), und 4) versuchen Sie es erneut zu entfernen. Antonio Sánchez-Padial vor 6 Jahren 0