Wie dieses apt Durcheinander zu beheben?

1598
kramer65

Ich verwende PureOS, das ist im Wesentlichen Debian mit einigen kleinen Änderungen. Ich habe versucht, Firefox darauf zu installieren, endete aber mit einem kompletten Durcheinander. Wenn ich jetzt versuche, ein grundlegendes Upgrade durchzuführen, erhalte ich Folgendes:

$ sudo apt update && sudo apt upgrade Ign:1 http://deb.debian.org/debian stretch InRelease Get:2 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]  Get:3 http://deb.opera.com/opera stable InRelease [2592 B]  Get:4 http://security.debian.org stretch/updates InRelease [63.0 kB]  Hit:5 http://deb.debian.org/debian stretch Release  Get:6 https://repo.skype.com/deb stable InRelease [4486 B]  Get:7 http://deb.opera.com/opera stable/non-free amd64 Packages [1835 B]  Get:8 http://packages.microsoft.com/repos/vscode stable InRelease [2801 B]  Get:9 http://repository.spotify.com stable InRelease [3302 B]  Get:10 http://repo.puri.sm/pureos green InRelease [9427 B]  Get:12 http://security.debian.org stretch/updates/main Sources [110 kB]  Get:13 http://security.debian.org stretch/updates/contrib Sources [1384 B]  Get:14 http://security.debian.org stretch/updates/main amd64 Packages [271 kB]  Get:15 https://repo.skype.com/deb stable/main amd64 Packages [2251 B]  Get:16 http://security.debian.org stretch/updates/main Translation-en [120 kB]  Get:17 http://security.debian.org stretch/updates/contrib amd64 Packages [1776 B]  Get:18 http://security.debian.org stretch/updates/contrib Translation-en [1759 B]  Get:19 https://download.sublimetext.com apt/stable/ InRelease [2562 B]  Get:20 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages [39.6 kB] Ign:21 https://mega.nz/linux/MEGAsync/Debian_9.0 ./ InRelease  Get:22 http://repo.puri.sm/pureos green/main amd64 Packages [6286 kB]  Get:23 https://mega.nz/linux/MEGAsync/Debian_9.0 ./ Release [976 B]  Get:26 http://repo.puri.sm/pureos green/main Translation-en [5583 kB]  Hit:24 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease  Get:27 http://repo.puri.sm/pureos green/main amd64 DEP-11 Metadata [2202 kB]  Get:28 http://repo.puri.sm/pureos green/main DEP-11 64x64 Icons [6768 kB] Fetched 21.6 MB in 4s (5487 kB/s)  Reading package lists... Done Building dependency tree  Reading state information... Done 59 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree  Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: iceweasel : Depends: firefox-esr but it is not installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

Also versuchte ich Folgendes vorzuschlagen:

$ sudo apt --fix-broken install Reading package lists... Done Building dependency tree  Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: firefox-esr Suggested packages: fonts-stix | otf-stix fonts-lmodern mozplugger The following NEW packages will be installed: firefox-esr 0 upgraded, 1 newly installed, 0 to remove and 59 not upgraded. 2 not fully installed or removed. Need to get 0 B/46.5 MB of archives. After this operation, 114 MB of additional disk space will be used. Do you want to continue? [Y/n]  perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US", LC_ALL = (unset), LANG = "en_US.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 (Reading database ... 227765 files and directories currently installed.) Preparing to unpack .../firefox-esr_52.6.0esr-1~deb9u1_amd64.deb ... dpkg-divert: error: 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by firefox-esr' clashes with 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by purebrowser' dpkg: error processing archive /var/cache/apt/archives/firefox-esr_52.6.0esr-1~deb9u1_amd64.deb (--unpack): new firefox-esr package pre-installation script subprocess returned error exit status 2 Errors were encountered while processing: /var/cache/apt/archives/firefox-esr_52.6.0esr-1~deb9u1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

Und jetzt bin ich irgendwie festgefahren.

Weiß jemand, was ich tun kann, um dieses Chaos zu säubern? Alle Tipps sind willkommen!

[BEARBEITEN]

Ich habe in vielerlei Hinsicht versucht, Firefox zu entfernen:

$ sudo apt -y remove firefox [sudo] password for hielke:  Reading package lists... Done Building dependency tree  Reading state information... Done Package 'firefox' is not installed, so not removed You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: iceweasel : Depends: firefox-esr but it is not going to be installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

Ich habe auch die folgenden Variationen ausprobiert, aber alle hatten ähnliche Ergebnisse:

sudo apt remove firefox sudo apt purge firefox sudo apt remove firefox-esr sudo apt purge firefox-esr sudo apt remove iceweasel sudo apt purge iceweasel sudo apt remove purebrowser sudo apt purge purebrowser 

[Bearbeiten 2]

Nach der Antwort von @alan versuchte ich die Ablenkung zu entfernen:

$ sudo dpkg-divert --remove /usr/bin/firefox Removing 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by purebrowser' 

Danach habe ich ein Update und dann ein Upgrade durchgeführt:

$ sudo apt update Hit:1 http://security.debian.org stretch/updates InRelease Hit:2 http://repo.puri.sm/pureos green InRelease  Hit:3 http://deb.opera.com/opera stable InRelease  Ign:4 http://deb.debian.org/debian stretch InRelease  Hit:5 http://packages.microsoft.com/repos/vscode stable InRelease  Hit:6 http://deb.debian.org/debian stretch-updates InRelease  Hit:7 http://deb.debian.org/debian stretch Release  Hit:8 https://repo.skype.com/deb stable InRelease  Ign:9 https://mega.nz/linux/MEGAsync/Debian_9.0 ./ InRelease  Hit:10 http://repository.spotify.com stable InRelease  Hit:11 https://download.sublimetext.com apt/stable/ InRelease  Get:12 https://mega.nz/linux/MEGAsync/Debian_9.0 ./ Release [976 B]  Hit:14 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease  Fetched 976 B in 3s (385 B/s)  Reading package lists... Done Building dependency tree  Reading state information... Done 135 packages can be upgraded. Run 'apt list --upgradable' to see them. $ $ $ $ sudo apt upgrade Reading package lists... Done Building dependency tree  Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: iceweasel : Depends: firefox-esr but it is not installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

Leider dasselbe Ergebnis wie Sie sehen können. Ich habe apt --fix-broken installnur versucht, um sicher zu sein, aber das ergab das gleiche Ergebnis wie zuvor.

Also habe ich den Befehl benutzt, um andere Ablenkungen zu finden (obwohl ich mir nicht ganz sicher bin, welche Ablenkungen genau sind):

& sudo dpkg-divert --list | grep firefox diversion of /usr/share/applications/firefox-esr.desktop to /usr/share/applications/firefox-esr.desktop.diverted by xul-ext-iceweasel-branding 

Also habe ich nur das gegeben, was ich für richtig hielt:

$ sudo dpkg-divert --remove /usr/share/applications/firefox-esr.desktop Removing 'diversion of /usr/share/applications/firefox-esr.desktop to /usr/share/applications/firefox-esr.desktop.diverted by xul-ext-iceweasel-branding' 

aber wieder bekomme ich dasselbe:

$ sudo apt upgrade Reading package lists... Done Building dependency tree  Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: iceweasel : Depends: firefox-esr but it is not installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

und noch ein Versuch, das Problem zu beheben:

$ sudo apt --fix-broken install Reading package lists... Done Building dependency tree  Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: firefox-esr Suggested packages: fonts-stix | otf-stix fonts-lmodern mozplugger The following NEW packages will be installed: firefox-esr 0 upgraded, 1 newly installed, 0 to remove and 135 not upgraded. 2 not fully installed or removed. Need to get 0 B/46.5 MB of archives. After this operation, 114 MB of additional disk space will be used. Do you want to continue? [Y/n]  perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US", LC_ALL = (unset), LANG = "en_US.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 (Reading database ... 227763 files and directories currently installed.) Preparing to unpack .../firefox-esr_52.6.0esr-1~deb9u1_amd64.deb ... Adding 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by firefox-esr' Unpacking firefox-esr (52.6.0esr-1~deb9u1) ... dpkg: error processing archive /var/cache/apt/archives/firefox-esr_52.6.0esr-1~deb9u1_amd64.deb (--unpack): trying to overwrite '/usr/share/applications/firefox-esr.desktop', which is also in package xul-ext-iceweasel-branding 0.4.0 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/firefox-esr_52.6.0esr-1~deb9u1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

Noch mehr Tipps?

[EDIT 3]

Den Tipps von @harrymc folgend habe ich versucht, folgendes auszuführen:

$ sudo apt-get install iceweasel [sudo] password for hielke:  Reading package lists... Done Building dependency tree  Reading state information... Done iceweasel is already the newest version (52.6.0esr-1~deb9u1). You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: iceweasel : Depends: firefox-esr but it is not going to be installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

Wie Sie sehen, hat das nicht funktioniert. Also hier ist die Ausgabe apt-cache policy firefox-esr:

$ apt-cache policy firefox-esr firefox-esr: Installed: (none) Candidate: 52.6.0esr-1~deb9u1 Version table: 52.6.0esr-1~deb9u1 500 500 http://security.debian.org stretch/updates/main amd64 Packages 52.5.0esr-1~deb9u1 500 500 http://deb.debian.org/debian stretch/main amd64 Packages 

Nur zur Information, hier sind die Inhalte meiner /etc/apt/sources.list:

deb http://repo.puri.sm/pureos/ green main deb http://deb.opera.com/opera/ stable non-free # deb-src http://deb.opera.com/opera/ stable non-free # deb http://security.debian.org/debian-security stretch/updates main # deb http://httpredir.debian.org/debian/ stretch main contrib non-free  deb http://deb.debian.org/debian stretch main contrib non-free deb-src http://deb.debian.org/debian stretch main contrib non-free  deb http://deb.debian.org/debian stretch-updates main contrib non-free deb-src http://deb.debian.org/debian stretch-updates main contrib non-free  deb http://security.debian.org/ stretch/updates main contrib non-free deb-src http://security.debian.org/ stretch/updates main contrib non-free 

Sagt Ihnen das etwas?

4
Haben Sie versucht, die defekte Firefox-Installation zu entfernen? `sudo apt -y entfernen` Praveen P vor 6 Jahren 0
@PraveenP - ja habe ich getan. Das habe ich der Frage hinzugefügt. Irgendwelche anderen Ideen? kramer65 vor 6 Jahren 0
Siehe [diese Antwort] (https://askubuntu.com/a/282746). harrymc vor 6 Jahren 0
Befolgen Sie EDIT 2: Führen Sie den folgenden Befehl aus: `sudo apt-get install iceweasel`. Wenn dies nicht hilft, geben Sie bitte die Ausgabe von "apt-cache policy firefox-esr" an. Und welches Repository verwenden Sie mit apt? harrymc vor 6 Jahren 0
@ harrymc - Danke für den Tipp. Das macht es leider noch nicht. Ich habe die Ergebnisse unter [EDIT 3] zur Frage hinzugefügt. Sagt Ihnen das etwas? kramer65 vor 6 Jahren 0
Nach EDIT 3: Iceweasel könnte das Problem sein, da es eine umbenannte Version von Firefox ist, die aber jetzt eingestellt wird. Versuchen Sie `apt-get iceweasel entfernen '. harrymc vor 6 Jahren 0
@ harrymc - Ich habe schon (und jetzt wieder) Variationen davon ausprobiert, aber das macht keinen Unterschied. kramer65 vor 6 Jahren 0
@ kramer65 Wenn Sie eine Chance haben, können Sie in [Chat] (https://chat.stackexchange.com/rooms/118/root-access) springen? Ich möchte gerne weitere interaktive Problemlösungen ausprobieren. Bob vor 6 Jahren 0
Schauen Sie nach, ob es sinnvoll ist, _manually_ den temporären Download / Cache / Packages zu säubern ... und Firefox erneut zu installieren. [Selbstzitat] (https://askubuntu.com/a/498949/196535). Beachten Sie, dass "apt" und "apt-get" möglicherweise auf andere Weise funktionieren und dass "apt-get" zwei verschiedene Optionen hat: -m` und "-f", leider [ein weiteres Selbstzitat] (https: // askubuntu.com/a/462751/196535) `:-)`. Hastur vor 6 Jahren 0

4 Antworten auf die Frage

2
Alan

Firefox versucht eine Umleitung zu schaffen, wenn bereits eine Umleitung mit diesem Namen existiert.

Sie müssen zuerst die vorhandene Umleitung entfernen.

Dies ist die Fehlerzeile:

dpkg-divert: error: 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by firefox-esr' clashes with 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by purebrowser' 

Von dieser Lösung :

sudo dpkg-divert --remove /usr/bin/firefox 

Hinweis: Wenn die Umleitung nicht von / usr / bin / firefox verursacht wird, müssen Sie die Umleitung entweder mit oder sudo dpkg-divert --list | grep firefoxoder sudo dpkg-divert --list | grep purebrowser kennzeichnen. Wenn Sie die von Perl ausgegebene Ländereinstellungsfehlermeldung nicht mögen, können Sie sie entfernen Exportieren Sie Ihr Gebietsschema wie hier gezeigt :

export LC_CTYPE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 

Wenn alles andere fehlschlägt, öffnen Sie den Paketdatensatz und entfernen Sie iceweasel von Hand:

sudo -i gedit /var/lib/dpkg/status 

(Sie werden wahrscheinlich einen Block sehen, der so etwas wie Paket: Iceweasel Status: Install broken startet). Siehe dieses ähnliche Problem: Fehlerhafte Pakete können mit Sudo apt-get install -f nicht behoben werden

Hallo Alan. Danke für deine Vorschläge. Ich habe sie ausprobiert, bin aber nicht zu einer Lösung gekommen. Ich habe es in der Frage unter "[EDIT 2]" beschrieben. Hast du noch andere Ideen? kramer65 vor 6 Jahren 0
Eine Umleitung ist eine Anweisung, eine Datei usw. aus einem Paket mit einem anderen Namen als normalerweise installiert zu installieren (z. B. firefox -> firefox.desktop). Um die Umleitung zu entfernen, müssen Sie die Quelle und nicht das Ergebnis entfernen. Versuchen Sie: `sudo dpkg-divert --remove / usr / share / applications / firefox-esr / xul-ext-iceweasel-branding ' Alan vor 6 Jahren 0
Ich habe Ihren Vorschlag ausprobiert, aber dann bekomme ich keine Ablenkung von / usr / share / applications / firefox-esr / xul-ext-iceweasel-branding ', keine entfernt. " kramer65 vor 6 Jahren 0
Ich weiß, dass Sie versucht haben, die Browser zu entfernen, aber haben Sie versucht, das Branding-Paket zu entfernen? Es ist lange Zeit, aber sie in der richtigen Reihenfolge zu entfernen (apt purge) und das entsprechende Paket erneut zu installieren. Sieht so aus, als wäre die Bestellung xul-ext-iceweasel-branding-> iceweasel-> firefox. Sie sollten kein Eiswurm oder Firefox benötigen, da PureOS PureBrowser bietet. Alan vor 6 Jahren 0
Wenn alles andere fehlschlägt, öffnen Sie den Paketdatensatz und entfernen Sie iceweasel von Hand: ** sudo -i gedit / var / lib / dpkg / status ** (Sie werden wahrscheinlich einen Block sehen, der so etwas wie Paket: Iceweasel Status: Install startet gebrochen). Siehe dieses ähnliche Problem: https://askubuntu.com/questions/146150/unable-to-fix-broken-packages-with-sudo-apt-get-install-f Alan vor 6 Jahren 1
Ihr letzter Kommentar hat mir geholfen. Wenn Sie es Ihrer Antwort hinzufügen, kann ich Ihre Antwort akzeptieren. kramer65 vor 6 Jahren 0
@ kramer65 - fertig. Alan vor 6 Jahren 0
arbeitete für mich Vielen Dank 0.sh vor 5 Jahren 0
2
gmelis

Verwenden Sie dies: sudo dpkg -i --force-all /var/cache/apt/archives/firefox-esr_52.6.0esr-1~deb9u1_amd64.deb und Sie werden Firefox-esr zwangsweise installieren. 99,9% wird Ihr Problem beheben. Dann folgen Sie mit sudo dpkg --configure -a und Sie werden höchstwahrscheinlich im freien Raum sein.

In der Regel finden Sie beim Mischen von Elementen in Installationen ein Paket, das eine Datei aus einem anderen Paket überschreiben muss. Wenn Sie in diesen Fällen dpkgmit der --force-allOption arbeiten, können Sie Gott spielen, aber es überschreibt auch alle Sicherheitsprüfungen, die in Debians Paketverwaltungssystem integriert sind. Aber das ist schließlich eine der Lasten des Root- Benutzers.

0
HoD

Wenn Sie sich die Repos anschauen, enthält Debian das 'Iceweasel'-Paket, während das PureOS-Repo das Firefox-Esr-Paket enthält. Basierend auf den Fehlermeldungen stehen sie in Konflikt.

Dies kann Ihr Firefox-Profil entfernen, aber ich würde Folgendes versuchen:

sudo apt purge firefox firefox-esr iceweasel purebrowser sudo apt install firefox-esr 

Damit sollte das Firefox-Paket aus dem PureOS-Repo installiert werden.

Iceweasel war eine Neuentwicklung von Firefox, die von Debian erstellt wurde, aber sie stellen ihre Änderungen wieder her. In Debian-Stretch heißt es immer noch Iceweasel, aber es wird einfach ein gepatchter Firefox-Esr installiert. In der nächsten Debian-Version sollte es einfach Firefox-Esr heißen.

Ist es möglich, dass Sie diese Debian-Repos selbst hinzugefügt haben? Das ist nie eine gute Idee, um Distro-Repositories zu mischen. Kommentieren Sie diese Zeilen dann aus:

apt clean && apt update 

Versuchen Sie dann erneut, die Installation zu löschen.

Danke, aber wie Sie in der Frage lesen können, habe ich versucht, alle verwandten Browser (firefox, firefox-esr, iceweasel und purebrowser) mit "apt remove" und "apt purge" zu entfernen. Aber das gibt mir etwas Ausgabe und endet mit dem Fehler `E: Unmet Abhängigkeiten. Versuchen Sie "apt --fix-broken install" ohne Pakete (oder geben Sie eine Lösung an). "Möchten Sie diesen Fehler beheben? kramer65 vor 6 Jahren 0
Ich habe völlig versäumt, dass Sie das schon versucht haben ... Können Sie versuchen, sie alle in einem Befehl zu löschen, so wie ich es aktualisiert habe? HoD vor 6 Jahren 0
Ich editierte erneut und fragte nach den Debian-Repos. Jetzt, da ich darüber nachdenke, scheint es faul zu sein. HoD vor 6 Jahren 0
0
harrymc

Die Firefox-Pakete im PureOS sind möglicherweise inkonsistent oder befinden sich im Übergangszustand.

In diesem Fall schlage ich vor, die Pakete Iceweasel, Firefox und Firefox-Esr (oder alle anderen Varianten von Firefox) zu entfernen, den neuesten Linux-Build von Firefox direkt von Mozilla herunterzuladen und zu installieren .
Überprüfen Sie zum Beenden, ob automatische Updates aktiviert sind.

Weitere Informationen finden Sie im Mozilla-Artikel Installieren von Firefox - Linux .

Um ein defektes Paket zu entfernen, können Sie folgende Option verwenden:

sudo dpkg --remove --force-remove-reinstreq package_name 

Wenn Sie einen Fehler erhalten, dass ein Paket nicht entfernt wird, weil es von einem anderen Paket abhängt, entfernen Sie auch dieses andere Paket.

Danke, aber wie Sie in der Frage lesen können, habe ich versucht, alle verwandten Browser (firefox, firefox-esr, iceweasel und purebrowser) mit "apt remove" und "apt purge" zu entfernen. Aber das gibt mir etwas Ausgabe und endet mit dem Fehler `E: Unmet Abhängigkeiten. Versuchen Sie "apt --fix-broken install" ohne Pakete (oder geben Sie eine Lösung an). "Möchten Sie diesen Fehler beheben? kramer65 vor 6 Jahren 0
Funktioniert der neueste Linux-Build von Firefox von Mozilla, auch wenn Sie diese defekten Pakete nicht entfernen? harrymc vor 6 Jahren 0
Sie können auch sudo dpkg --remove --force-remove-reinstreq package_name` versuchen. Wenn Sie einen Fehler erhalten, dass ein Paket nicht entfernt wird, weil es von einem anderen Paket abhängt, entfernen Sie auch dieses andere Paket. harrymc vor 6 Jahren 0