it-swarm.com.de

Paketsystem ist defekt. Wie man es repariert?

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 Schriften nicht akzeptieren).

Ich versuche, diese durch Ausführen von Bingos Build-Skript 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, dass ich versuchen soll, 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

50
Vigi

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

Versuchen Sie dann Sudo apt-get update erneut, Sudo apt-get -f install hin 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

41
Ringtail

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, d. H. -f steht hier für "Fix broken".

Sudo dpkg --configure -a

konfiguriert alle noch nicht konfigurierten Pakete (-a). Führen Sie am Ende den Update-Befehl Sudo apt-get update aus.

21
Nabeel Ahmed

Öffnen Sie synaptic Install 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.

enter image description here

16
user61928

Versuchen Sie: Sudo apt-get update && Sudo apt-get -f install
Ich hoffe, dass das Problem dadurch behoben wird.

3
Frantique

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
user152730

Wenn Sie es noch nicht getan haben, versuchen Sie, Ihren Paket-Repository-Verweis auf 'Main' oder die USA zu ändern. Dadurch wurde das Problem mit den nicht erfüllten Abhängigkeiten von Python-dev behoben (meine 12.04-Installation verwendete zuvor das Paket-Repository von Großbritannien).

  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 Programmmenü von Ubuntu, und suchen Sie nach Software-Updates (oder geben Sie 'Sudo apt-get update' in einem Terminalfenster aus).
  4. Aktualisieren Sie Ihre Software wie gewohnt, z. ü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 die Paketliste zuweilen in einem Schnappschuss aufgenommen (siehe mein Gist für Hinweise)! Ich bin wirklich froh, dass ich von den Anweisungen erfahren habe, die ich hier hinterlasse.

Hoffe das hilft.

1
Big Rich