System paczek jest uszkodzony. Jak to naprawić?

50

Niedawno kupiłem arduino i wymaga gcc-avr / avrdude do skompilowania oprogramowania. Zainstalowałem avr dla innego komponentu mikroprocesora jakiś czas temu, ale jest to oczywiście nieaktualna wersja (gcc wersja 3.3 20030512 (wersja wstępna)), więc postanowiłem je zaktualizować, ale to nie działało.

(Należy pamiętać, że wcześniej złamałem również mojego aptdaemona przez niekompletną instalację wina (nie mogłem uzyskać umowy instalacji czcionek), ale naprawiłem to przez ponowną instalację, a następnie zaakceptowałem umowę.)

Próbuję je zaktualizować, uruchamiając skrypt kompilacji bingo, ale wymaganych zależności nie można zainstalować z powodu ... raportów terminalu

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).

Ale działa

apt-get -f install

prowadzi do

(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)

Próbowałem uruchomić menedżera aktualizacji i zaktualizować mój system za jego pośrednictwem, ale dostaję tylko komunikat o błędzie

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

co następnie każe mi spróbować uruchomić apt-get -f install, który kończy się tak samo jak ostatnim razem.

Więc jak mogę naprawić swój system, naprawdę potrzebuję nowego AVR, proszę :) BTW, mój system to Ubuntu 11.04

Vigi
źródło
Czy masz zainstalowany synaptic w swoim systemie ?!
Tak Dlaczego? Nie powinienem tego mieć
Omer
Ten sam błąd (ale oparty na libboost). Żadna z odpowiedzi nie działała dla mnie.
izomorfizmy

Odpowiedzi:

41

Po sudo apt-get -f installpojawieniu się tego błędu spróbuj wymusić instalację plików, które nie zostały załadowane z powodu błędu.

Następnie spróbuj sudo apt-get updateponownie, w sudo apt-get -f installprzód iw tył, aż pozostanie tylko pakiet zawierający błąd.

sudo dpkg --configure -a

i wyczyść pamięć podręczną

sudo apt-get clean

Ringtail
źródło
3
Dzięki za odpowiedź, ale znalazłem rozwiązanie tak, jak napisałeś: PI otworzył menedżera pakietów synaptycznych i odfiltrował dwa uszkodzone pakiety, które następnie usunąłem za pomocą SPM, który teraz wszystko działa słodko i gładko. Udało mi się zainstalować zależności, a teraz instaluję avr za pomocą skryptu bingo! :) Jeszcze się nie skończyło, ale jeśli zawiedzie, spróbuję odpowiedzieć
Vigi,
dobrze słyszeć, że jest naprawiony
Ringtail
ok, właśnie usunąłem partycję 11.04 i świeżo zainstalowałem 11.10. teraz działa obok Windows Vista. Więc teraz mam najnowszą wersję avr / binutils / libs itp. Mogę teraz skompilować rzeczy dla arduino :) yay!
Vigi,
W wyniku tego problemu nie udało mi się również załadować sterowników myszy i sterowników sieci WLAN. Oznacza to, że nie mam już połączenia z Internetem i nie mogę z niego korzystać sudo apt-get -f install.
John Slegers
21

Zwykle dzieje się tak w wyniku „Niezaspokojonych zależności dla zainstalowanych pakietów”.

Oto proste rozwiązanie, jeśli masz zainstalowany program „Synaptic”:

  • Otwórz Synaptic.
  • Przejdź do „Statusu” (w lewym panelu nawigacyjnym).
  • Wybierz „Broken”.
  • Usuń te zepsute paczki.

W przeciwnym razie można to zrobić za pomocą interfejsu CLI:

Otwórz terminal i uruchom następującą komendę:

sudo apt-get clean

Powyższe polecenie wyczyści lokalne repozytorium pobranego pliku pakietu.

sudo apt-get install -f

Poprawi uszkodzone zależności, tzn. -fTutaj oznacza „napraw uszkodzone”.

sudo dpkg --configure -a

skonfiguruje wszystkie ( -a) pakiety, które nie zostały jeszcze skonfigurowane. Na koniec uruchom polecenie aktualizacji sudo apt-get update.

Nabeel Ahmed
źródło
W wyniku tego problemu nie udało mi się również załadować sterowników myszy i sterowników sieci WLAN. Oznacza to, że nie mam już połączenia z Internetem i nie mogę z niego korzystać sudo apt-get -f install.
John Slegers
Możesz użyć menedżera pakietów offline / przenośnego, tj. Keryx lub Cube - pomóż pobrać pakiety i najnowsze repozytoria (w folderze lub bezpośrednio na pendrive) z innego komputera z połączeniem internetowym (Linux lub Windows), po zakończeniu podłącz pendrive do komputer bez połączenia z Internetem i zainstaluj pobrane pakiety.
Nabeel Ahmed,
Samouczek krok po kroku dotyczący korzystania z Kostki (sam tego nie użyłem) - community.linuxmint.com/tutorial/view/1583
Nabeel Ahmed
Kolejna odpowiedź askubuntu z krok po kroku konfiguracją Keryx
Nabeel Ahmed
Byłem w stanie rozwiązać problem za pomocą sudo apt-get install -fi sudo dpkg --configure -a.. po ponownym uruchomieniu dostałem sieć, dźwięk i tak dalej :)
Luke
16

Otwórz synapticZainstaluj synaptic . Następnie przejdź do statusu i wybierz Broken . Następnie całkowicie usuń uszkodzone pakiety.

To powinno poprawić twój system.

wprowadź opis zdjęcia tutaj

Społeczność
źródło
Jestem na Ubuntu 12.04. Gdy tylko otworzyłem Synaptics Software Center, powiedział, że katalog jest uszkodzony i musi zostać naprawiony, i zaoferował mi przycisk naprawy, który natychmiast rozwiązał problem.
Tyler Collier,
3

Spróbuj: sudo apt-get update && sudo apt-get -f install
mam nadzieję, że to rozwiąże problem.

Frantique
źródło
2
Nie rozwiązał dla mnie.
Damien Roche,
W wyniku tego problemu nie udało mi się również załadować sterowników myszy i sterowników sieci WLAN. Oznacza to, że nie mam już połączenia z Internetem i nie mogę z niego korzystać sudo apt-get -f install.
John Slegers
1

Jeśli jeszcze nie jesteś, spróbuj zmienić odniesienie do repozytorium pakietów na „Main” lub Stany Zjednoczone . Robi to naprawić mój python-dev niezaspokojone-zależnościami problem (mój 12,04 zainstalować został przy użyciu pakietu repozytorium Wielka Brytania, poprzednio).

  1. W „Centrum oprogramowania Ubuntu” (USC) przejdź do menu / karty „Edycja => Źródła oprogramowania”.
  2. Zmień wartość rozwijaną „Pobierz z” na „Serwer główny” lub serwer w Stanach Zjednoczonych.
  3. Opuść USC, otwarty „Menedżer aktualizacji” z menu programu Ubuntu i „Sprawdź” aktualizację oprogramowania (lub wydaj „sudo apt-get update” w oknie terminala).
  4. Zaktualizuj oprogramowanie w normalny sposób, np. Za pomocą „Menedżera aktualizacji” lub apt-get / aptitude w terminalu.

Naprawiło to moje repozytorium i przystąpiłem do instalowania tego, czego potrzebowałem później, jak zwykle.

Przed naprawieniem mojego problemu z powyższymi instrukcjami różne polecenia aptitude / apt-get sugerowały, że usuwam wiele pakietów, ale, jak możesz docenić, nie miałem ochoty tracić ponad 6 miesięcy dodawania pakietów, i to mimo wszystko Czasami wykonuję migawkę listy pakietów (zobacz moje wskazówki, aby uzyskać wskazówki)! Bardzo się cieszę, że dowiedziałem się o instrukcjach, które tu zostawiam.

Mam nadzieję że to pomoże.

Big Rich
źródło
1

Miałem ten sam problem

sudo apt-get clean

a następnie

sudo apt-get update

a następnie

sudo apt-get upgrade -f

naprawione. Mam nadzieję, że to pomoże!

użytkownik152730
źródło
1
W wyniku tego problemu nie udało mi się również załadować sterowników myszy i sterowników sieci WLAN. Oznacza to, że nie mam już połączenia z Internetem i nie mogę z niego korzystać sudo apt-get -f install.
John Slegers