Paketsystem ist defekt. Wie man es repariert?


50

Ich habe erst kürzlich ein Arduino gekauft und benötige gcc-avr / avrdude, um die Software zu kompilieren. Ich habe vor einiger Zeit avr für eine andere Mikroprozessorkomponente installiert, es handelt sich jedoch offensichtlich um eine veraltete Version (gcc Version 3.3 20030512 (Vorabversion)), daher habe ich diese aktualisiert, aber es hat nicht funktioniert.

(Bitte beachten Sie, dass ich meinen Aptdaemon zuvor auch durch eine unvollständige Weininstallation beschädigt habe (ich konnte die Vereinbarung zur Installation von Schriftarten nicht akzeptieren), aber ich habe das durch eine Neuinstallation behoben, indem ich die Vereinbarung akzeptierte.)

Ich versuche, diese durch Ausführen des Build-Skripts von Bingo zu aktualisieren , aber die erforderlichen Abhängigkeiten können aufgrund von avr ... terminal-Berichten nicht installiert werden

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Aber rennen

apt-get -f install

Ergebnisse in

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ich habe versucht, den Update Manager auszuführen und mein System über ihn zu aktualisieren, erhalte jedoch nur eine Fehlermeldung

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

Das sagt mir dann, ich soll versuchen, apt-get -f install auszuführen. Das Ergebnis ist das gleiche wie beim letzten Mal.

Also, wie kann ich mein System reparieren, ich brauche wirklich den neuen AVR, bitte :) Übrigens, mein System ist Ubuntu 11.04


Haben Sie synaptic in Ihrem System installiert ?!

Ja, warum? Ich sollte es nicht haben
Omer

Gleicher Fehler (aber basierend auf libboost). Keine der Antworten hat für mich funktioniert.
Isomorphismen

Antworten:


41

Versuchen Sie sudo apt-get -f install, eine Installation der Dateien zu erzwingen, die aufgrund des Fehlers nicht geladen wurden, nachdem Sie diesen Fehler erhalten haben.

Versuchen Sie es dann sudo apt-get updateerneut sudo apt-get -f installhin und her, bis nur noch das Paket übrig ist, bei dem der Fehler aufgetreten ist.

sudo dpkg --configure -a

und leeren Sie den Cache

sudo apt-get clean


3
Vielen Dank für die Antwort, aber ich habe gerade eine Lösung gefunden, als Sie dies gepostet haben: PI hat den Synaptic Package Manager geöffnet und zwei defekte Pakete herausgefiltert, die ich dann mit SPM entfernt habe. Jetzt läuft alles süß und reibungslos. Es ist mir gelungen, die Abhängigkeiten zu installieren und jetzt installiere ich avr mithilfe von Bingos Skript! :) Es ist noch nicht fertig, aber wenn es fehlschlägt, werde ich Ihre Antwort versuchen
Vigi

Gut zu hören, seine feste
Ringtail

ok, gerade 11.04 Partition gelöscht und neu installiert 11.10. Jetzt läuft es neben Windows Vista. Also habe ich jetzt die neusten avr / binutils / libs etc installiert. So kann ich jetzt Dinge für Arduino kompilieren :) yay!
Vigi

Aufgrund dieses Problems konnte ich auch keine Maustreiber und WLAN-Treiber laden. Das heißt, ich habe keine Internetverbindung mehr und kann nicht benutzen sudo apt-get -f install.
John Slegers

21

Dies ist normalerweise das Ergebnis von "Nicht erfüllten Abhängigkeiten für installierte Pakete".

Hier ist eine einfache Lösung, wenn Sie "Synaptic" installiert haben:

  • Öffnen Sie Synaptic.
  • Gehe zu 'Status' (in der linken Navigation).
  • Wählen Sie "Broken".
  • Entfernen Sie diese kaputten Pakete.

Andernfalls kann über CLI verhandelt werden:

Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

sudo apt-get clean

Der obige Befehl löscht das lokale Repository der abgerufenen Paketdatei.

sudo apt-get install -f

Korrigiert defekte Abhängigkeiten, dh -fhier steht für "Fix broken".

sudo dpkg --configure -a

konfiguriert alle ( -a) Pakete, die noch nicht konfiguriert wurden. Führen Sie am Ende den Befehl update aus sudo apt-get update.


Aufgrund dieses Problems konnte ich auch keine Maustreiber und WLAN-Treiber laden. Das heißt, ich habe keine Internetverbindung mehr und kann nicht benutzen sudo apt-get -f install.
John Slegers

Sie können einen offline / portablen Paket-Manager, z. B. Keryx oder Cube, verwenden. Hiermit können Sie Pakete und aktuelle Repositorys (in einem Ordner oder direkt auf einen pendrive) von einem anderen Computer mit Internetverbindung (Linux oder Windows) herunterladen, nachdem Sie den pendrive an den Computer angeschlossen haben den Computer ohne Internetverbindung und installieren Sie die heruntergeladenen Pakete.
Nabeel Ahmed

Eine Schritt-für-Schritt-Anleitung für die Verwendung von Cube (habe ich nicht selbst verwendet) - community.linuxmint.com/tutorial/view/1583
Nabeel Ahmed

Eine weitere Antwort von askubuntu mit schrittweiser Einrichtung von Keryx - askubuntu.com/a/181913/58950
Nabeel Ahmed

Ich war in der Lage zu lösen, nur mit sudo apt-get install -fund sudo dpkg --configure -a.. Nach einem Neustart bekam ich wieder Netzwerk, Audio und so weiter :)
Luke

16

Öffnen Sie synapticInstallieren Sie synaptic . Gehen Sie dann zum Status und wählen Sie Defekt . Dann entfernen Sie die beschädigten Pakete vollständig.

Dies sollte Ihr System korrigieren.

Bildbeschreibung hier eingeben


Ich bin auf Ubuntu 12.04. Sobald ich das Synaptics Software Center geöffnet habe, wurde gemeldet, dass der Katalog beschädigt ist und repariert werden muss, und mir wurde ein Reparaturknopf angeboten, mit dem das Problem sofort behoben werden konnte.
Tyler Collier

3

Versuch: sudo apt-get update && sudo apt-get -f install
Ich hoffe, dass das Problem dadurch behoben wird.


2
Hab mich nicht entschlossen.
Damien Roche

Aufgrund dieses Problems konnte ich auch keine Maustreiber und WLAN-Treiber laden. Das heißt, ich habe keine Internetverbindung mehr und kann nicht benutzen sudo apt-get -f install.
John Slegers

1

Wenn Sie es noch nicht getan haben, versuchen Sie, Ihren Paket-Repository-Verweis auf "Main" oder die USA zu ändern . Auf diese Fest meines Python-dev unerfüllte Abhängigkeiten Problem (mein 12.04 installieren wurde die Vereinigte Königreich Paket - Repository verwenden, zuvor).

  1. Gehen Sie im 'Ubuntu Software Center' (USC) zum Menü / Reiter 'Bearbeiten => Softwarequellen'.
  2. Ändern Sie den Dropdown-Wert "Herunterladen von" in "Hauptserver" oder in einen Server in den USA.
  3. Verlassen Sie USC, den geöffneten 'Update Manager' im Ubuntu-Programmmenü, und suchen Sie nach Softwareaktualisierungen (oder geben Sie 'sudo apt-get update' in einem Terminalfenster aus).
  4. Aktualisieren Sie Ihre Software wie gewohnt, z. B. über 'Update Manager' oder apt-get / aptitude in einem Terminal.

Dadurch wurde mein Repository repariert und ich installierte wie gewohnt alles, was ich danach brauchte.

Bevor ich mein Problem mit den obigen Anweisungen behebe, haben verschiedene aptitude / apt-get-Befehle vorgeschlagen, viele, viele Pakete zu entfernen. Wie Sie jedoch zu schätzen wissen, hatte ich keine Lust, meine über 6-monatigen Paketzusätze zu verlieren, und das ist auch so Ich habe manchmal eine Momentaufnahme der Paketliste gemacht (siehe meine Übersicht für Hinweise)! Ich bin wirklich froh, dass ich von den Anweisungen erfahren habe, die ich hier hinterlasse.

Hoffe das hilft.


1

Hatte das gleiche Problem, ein

sudo apt-get clean

gefolgt von einem

sudo apt-get update

gefolgt von einem

sudo apt-get upgrade -f

behoben. Ich hoffe das hilft!


1
Aufgrund dieses Problems konnte ich auch keine Maustreiber und WLAN-Treiber laden. Das heißt, ich habe keine Internetverbindung mehr und kann nicht benutzen sudo apt-get -f install.
John Slegers
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.