Naprawianie katalogu centrum oprogramowania

15

Jestem nowy w Ubuntu, wygląda na to, że jest lepszy niż Windows. Ostatniego dnia próbowałem zainstalować Kget (menedżer pobierania), ale podczas tego procesu mój komputer nagle przestał działać. Więc musiałem to wyłączyć. Po ponownym zalogowaniu się do Ubuntu nie mogę zainstalować żadnego programu. Centrum oprogramowania Ubuntu mówi:

Items cannot be installed or removed until package catalog is repaired.
Do you want to repair it now?

Po kliknięciu opcji naprawy pojawia się (po kilku sekundach):

Package operation fails - The installation or removal of a software package failed

Próbowałem kilka razy, ale ten sam problem wystąpił. Czy ktoś może mi powiedzieć, jak rozwiązać ten problem?

Dinuka Lankaloka
źródło

Odpowiedzi:

16

Otwórz terminal i wypróbuj to polecenie

sudo apt-get install -f

Naprawi wszystkie uszkodzone pakiety. po tym możesz zainstalować dowolne oprogramowanie.

aneeshep
źródło
23

Aby naprawić uszkodzone pakiety w Ubuntu, wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Po otwarciu uruchom poniższe polecenie.

sudo dpkg --configure -a
sudo apt-get install -f

Jeśli problem nadal występuje, edytuj dpkg statusplik

gksudo gedit /var/lib/dpkg/status   

Znajdź odpowiedni pakiet i usuń wszystko, co ma z nim coś wspólnego> i zapisz plik. 1

1 Źródło: Poprawka Ubuntu

Mitch
źródło
4
Czy edytowanie pliku statusu dpkg jest całkiem bezpieczne? Czy na przykład narażę się na duże ryzyko zepsucia całego systemu?
2
Jeśli usuniesz dany pakiet, powinno być OK.
Mitch
1

Podczas aktualizacji z 13.10 do 14.04.1 miałem problem z uszkodzonymi pakietami, a kiedy próbowałem wszystkich typowych rzeczy apt-get -f install, dostałem błąd, coś w rodzaju E: Sub-process /usr/bin/dpkg returned an error code (1).

Zamiast ponownej instalacji i spędzania godzin na konfigurowaniu rzeczy, ubrudziłem sobie ręce i ostatecznie to naprawiłem. Oto jak:

  1. Synaptic używa apt-getunderhood. Idź użyć tego apt-getna konsoli. Dowiedz się, które polecenia są używane przez Synaptic lub z których należy korzystać.

  2. apt-getwykorzystuje dpkgwewnętrznie. Jeśli komunikat dpkgzakończy się błędem, spróbuj wykonać operację dpkgbezpośrednio, zobaczysz rzeczywisty błąd.

  3. dpkgprzechowuje swoje metadane /var/lib/dpkg/info/. W moim przypadku miał problemy z samba-libsinstalacją (uszkodzone archiwum) lub usunięciem (brak metadanych -> stwierdzenie, że nie jest zainstalowany). Więc usunąłem metadane. Potem pobiegł dpkg --clear-avail. Następnie pobrałem bibliotekę i umieściłem w miejscu zamiast uszkodzonego pliku. Potem apt-get update. Potem dpkg --install <path-to-lib>. A potem zaczęło działać.

Ondra Žižka
źródło