Menadżery pakietów w systemie Linux są najbardziej przydatnymi programami, które pozwalają dodać dodatkowe funkcje do systemu. Mogą być używane do instalowania, usuwania, aktualizowania i uaktualniania pakietów, a także oferują możliwość rozwiązywania zależności. Jednak, jak każdy inny program, także menadżery pakietów mogą sprawiać problemy. Czasami, podczas aktualizacji lub instalacji programu od innych dostawców, instalacja może się nie powieść i skutkować błędami, które wymagają zainstalowania brakujących zależności i uszkodzonych pakietów. Błąd ten może również wystąpić z powodu niewłaściwego zarządzania pakietami, nieprawidłowej instalacji pakietów oraz instalacji niepotrzebnych pakietów. Bez względu na przyczynę, problem polega na tym, że otrzymujesz błąd i zostajesz w sytuacji, w której nie możesz dodać nowego pakietu, ani zaktualizować lub usunąć istniejących pakietów, dopóki nie naprawisz problemu.
W tym artykule dowiemy się, jak naprawić brakujące zależności i uszkodzone pakiety za pomocą polecenia apt-get. Należy zauważyć, że komendy i procedury opisane w tym artykule zostały przetestowane na systemie Debian 10. Te same kroki można stosować również w systemie Ubuntu oraz starszych wersjach Debiana.
Będziemy korzystać z wiersza poleceń, aby wypróbować rozwiązania i naprawić problem. Aby otworzyć aplikację Terminal w systemie Debian, naciśnij klawisz Super na klawiaturze i wyszukaj ją za pomocą paska wyszukiwania, który się pojawi. Gdy wyniki wyszukiwania zostaną wyświetlone, kliknij ikonę Terminala, aby go otworzyć.
Korzystanie z apt-get do naprawy brakujących i uszkodzonych pakietów
Apt-get to narzędzie zarządzania pakietami oparte na wierszu poleceń, które służy do instalowania, uaktualniania i usuwania pakietów. Oprócz tych funkcji posiada także flagi, które można użyć do naprawy brakujących zależności i uszkodzonych pakietów.
Metoda 1
Użyj opcji "fix-missing" z "apt-get update", aby zaktualizować system i upewnić się, że pakiety są aktualne, oraz że nie ma nowych wersji dostępnych dla pakietów.
$ sudo apt-get update --fix-missing
Po zakończeniu aktualizacji wykonaj poniższe polecenie, aby zmusić menadżera pakietów do znalezienia brakujących zależności lub uszkodzonych pakietów i zainstalowania ich.
$ sudo apt-get install -f
Innym podejściem do rozwiązania problemu uszkodzonego pakietu za pomocą apt-get jest edycja pliku "/etc/apt/sources/list" i dodanie witryn z nowymi wersjami dostępnych pakietów. Następnie wykonaj polecenie "apt-get update", aby zaktualizować listę repozytoriów.
Jeśli powyższa metoda nie naprawi problemu brakujących zależności i uszkodzonych pakietów i nadal otrzymujesz błąd, spróbuj następujących metod.
Inne metody
Metoda 2
W tej metodzie użyjemy polecenia "apt-get autoremove" i "dpkg", aby naprawić brakujące zależności i uszkodzone pakiety.
- Zaktualizuj indeks repozytorium, wykonując poniższe polecenie w Terminalu:
$ sudo apt-get update
- Następnie wykonaj poniższe polecenie, aby wyczyścić lokalne repozytorium:
$ sudo apt-get clean
- Wykonaj poniższe polecenie, aby usunąć wszystkie niepotrzebne pakiety, które już nie są potrzebne:
$ sudo apt-get autoremove
Powyższe polecenie wyświetli nazwy niespełnionych zależności lub uszkodzonych pakietów.
- Następnie spróbuj wykonać poniższe polecenie w Terminalu, aby wymusić usunięcie uszkodzonego pakietu:
$ sudo dpkg --remove --force-remove-reinstreq Nazwa_Pakietu
Metoda 3
W kolejnej metodzie użyjemy polecenia "dpkg—configure", aby naprawić brakujące zależności i uszkodzone pakiety.
Dpkg to narzędzie do zarządzania pakietami, które można używać do instalowania, usuwania i zarządzania pakietami. Podobnie jak apt-get, może także pomóc w naprawie uszkodzonych pakietów i brakujących zależności. Jeśli otrzymasz jakieś błędy podczas instalacji lub aktualizacji pakietów, spróbuj poniższego rozwiązania za pomocą dpkg:
- Wykonaj poniższe polecenie w Terminalu, aby ponownie skonfigurować wszystkie częściowo zainstalowane pakiety:
$ sudo dpkg --configure -a
Jeśli powyższe polecenie nie działa, jak w naszym przypadku, i otrzymujesz podobne wyniki wyświetlające błąd, spróbuj usunąć pakiet.
- Wykonaj poniższe polecenie w Terminalu, aby usunąć błędny pakiet.
$ apt-get remove <nazwa_pakietu>
- Następnie użyj poniższego polecenia, aby wyczyścić lokalne repozytorium:
$ sudo apt-get clean
Po wypróbowaniu jednego z powyższych rozwiązań, ponownie wykonaj polecenie aktualizacji, aby upewnić się, że zależności są rozwiązane, a uszkodzone pakiety są naprawione lub usunięte.
$ sudo apt-get update
Naprawa błędów dotyczących zależności i uszkodzonych pakietów oraz przywrócenie systemu do normalnego stanu może zająć wiele godzin. Czasami jest to tak skomplikowane, że gdy wreszcie uda się to naprawić, czujesz się bardzo szczęśliwy. Przedstawiliśmy kilka rozwiązań dotyczących tego błędu, więc prosimy o ich wypróbowanie. Jeśli znasz inne możliwe rozwiązania, o których nie wspomnieliśmy, daj nam znać w komentarzach.