it-swarm.com.de

Wie kann man kaputte Pakete reparieren?

Der Versuch, libssl-dev unter Ubuntu 14.04.2 zu installieren

$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.

$ Sudo apt-get install libssl-dev
The following packages have unmet dependencies:
 libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ Sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
 zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

Wie kann ich das gehaltene Paket entfernen und das richtige installieren?

25
Sam Healey

Versuchen Sie zunächst Folgendes einzugeben: Sudo dpkg --configure -a

Dies wird einen großen Beitrag zur Behebung fehlerhafter Abhängigkeiten leisten. Wenn das nicht ausreicht, versuchen Sie: Sudo apt-get install -f

Dann bereinigen und aktualisieren: Sudo apt-get clean && Sudo apt-get update

Dann Upgrade: Sudo apt-get upgrade (Sagen Sie 'y' für Upgrades)

Wenn Sie die Meldung erhalten, dass einige Pakete "zurückgehalten" werden, gehen Sie folgendermaßen vor:

Sudo apt-get dist-upgrade

Führen Sie nun diese beiden Befehle aus:

Sudo apt-get purge zlib1g-dev
Sudo apt-get autoremove

Dann sehen Sie, was passiert, wenn Sie Folgendes eingeben: Sudo apt-get install libssl-dev

Wenn es immer noch nicht funktioniert, versuchen Sie Folgendes:

Sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1

Wenn es immer noch nicht funktioniert, öffnen Sie Synaptic Package Manager (Es sollte sich in Ihrem Launcher befinden. Wenn Sie es nicht finden können, geben Sie am Terminal synaptic-pkexec Ein.).

Suchen Sie nach zlib1g-dev. Wenn das Feld neben zlib1g-dev nicht grün ist, klicken Sie darauf und wählen Sie "Zur Installation markieren". Wenn Sie mehr als eine Version sehen, wählen Sie 1:1.2.8.dfsg-1ubuntu1. Dann suchen Sie nach libssl-dev. Wenn das Feld neben libssl-dev nicht grün ist, klicken Sie darauf und wählen Sie "Zur Installation markieren".

Wählen Sie dann "Übernehmen".

20
gracious1

Sie müssen nach allen Dateien suchen, die mit Ihrem Paket zusammenhängen, sie löschen und dann neu installieren.

Sudo dpkg --list
Sudo apt-get purge "file-name"

wiederholen Sie den zweiten Befehl mit jeder Datei und installieren Sie sie einfach neu.

2
Alex

Ich hatte dieses Problem und habe es wie folgt behoben: 1) Öffnen Sie das Dienstprogramm "Software & Updates". 2) Gehen Sie zur Registerkarte "Updates". 3) Stellen Sie sicher, dass alle Optionen ausgewählt sind:

+ Important security updates
+ Recommended updates
+ Unsupported updates

4) Sudo apt update && Sudo apt upgrade

5) Neustart

0
Fedorov7890
Sudo aptitude install lib_name_depending

arbeitete für mich, als ich libcurl4-openssl-dev auf meinem Ubuntu 14.04LTS installieren wollte.

Einige abhängige Bibliotheken wurden nicht auf meinem Computer installiert, und mit dem aptitude-Tool kann ich die erforderlichen Bibliotheken/Pakete interaktiv installieren/downgraden, um libcurl4-openssl-dev Installieren zu können.

0
Danijel Hodzic

Wie ich es behoben habe, war, als es kaputte Pakete sagte, dass ein Paket darüber aufgelistet war. Ich habe Sudo apt-get install (Paketname) ausgeführt, und dann habe ich Sudo apt-get upgrade ausgeführt, und dann hat es funktioniert!

0
user393214