Jak wyświetlić listę zależności pakietu w systemie Linux bez zakłócania pracy systemu

Ostatnia aktualizacja: 21/02/2026
Autor: Isaac
  • W systemie Linux zależnościami nazywamy pakiety lub biblioteki niezbędne innym programom do działania. Można je wyświetlić przy użyciu narzędzi takich jak apt-cache, apt-rdepends, rpm, yum, pactree, zypper i ldd, w zależności od dystrybucji.
  • W systemach Debian/Ubuntu polecenia apt-cache depend, apt-rdepends, dpkg-deb i apt-get build-dep służą głównie do sprawdzania zależności pakietów w repozytoriach i luźnych plikach .deb.
  • W świecie RPM i Arch Linux polecenia takie jak rpm -qR, yum deplist, yum provides i pactree umożliwiają przeglądanie zarówno bezpośrednich zależności, jak i kompletnych drzew zależności oraz zależności odwrotnych.
  • Jeśli pojawią się uszkodzone pakiety lub niespełnione zależności, można je naprawić za pomocą poleceń dpkg --configure -a, apt-get -f install, czyszczenia pamięci podręcznej, Synaptic lub, w ostateczności, edytując plik /var/lib/dpkg/status.

Wyświetlanie zależności pakietu w systemie Linux

Jeśli używasz systemu GNU/Linux od jakiegoś czasu, pewnie zastanawiałeś się, dlaczego podczas instalacji programu menedżer pakietów zaczyna pobierać wiele „dodatkowych” rzeczy. Biblioteki i dodatkowe pakiety to znane zależnościZrozumienie ich stanowi różnicę między zarządzaniem systemem ze spokojem ducha a działaniem w ciemno, modląc się, żeby niczego nie zepsuć.

Co więcej, bardzo często można zobaczyć samouczki lub filmy, w których ktoś instaluje aplikację i jak za dotknięciem czarodziejskiej różdżki dodaje trzy lub cztery kolejne paczki bez wyjaśnieniaTo rodzi nieufność: czy naprawdę są potrzebne? Czy system nie powinien sobie z nimi poradzić sam? W tym artykule zajmiemy się właśnie tym problemem: zobaczysz Jak wyświetlić listę zależności pakietu w systemie Linux (DEB, RPM, Pacman, Zypper…) a także jak sprawdzać, które pakiety zależą od innych, jak przeglądać pliki binarne i co zrobić, gdy zależności zostaną zerwane.

Czym jest zależność i dlaczego jest tak ważna w systemie Linux?

zależności pakietów w systemach Linux

Mówiąc prościej, zależność to pakiet (program lub biblioteka), którego inny potrzebuje do prawidłowego działaniaPrzykładowo, instalując LibreOffice, nie pobierasz tylko jednego pakietu: główny „metapakiet” zawiera dziesiątki bibliotek graficznych, czcionek, narzędzi do integracji systemów itp.

Gdy pakiet wskazuje, że potrzebne są inne, menedżer pakietów automatycznie się tym zajmuje. rozwiązać ten łańcuch zależności i zależności wstępnychOznacza to, że pobiera i instaluje wszystko, co niezbędne, łącznie z zależnościami, itd., aż do zamknięcia drzewa.

Problem pojawia się, gdy nie jest spełniony którykolwiek z tych warunków: jeśli wymagana biblioteka nie istnieje już w repozytoriach, jeśli instalujesz coś ze źle zapakowanego źródła zewnętrznego lub jeśli Instalacja lub aktualizacja została przerwana w trakcie procesuWtedy pojawiają się przerażające komunikaty o „niespełnionych zależnościach” i „uszkodzonych pakietach”.

Opakowanie uważa się za uszkodzone, gdy: Status instalacji jest niekompletny lub powoduje konflikt z resztą systemu (na przykład rozpakowany, ale nieskonfigurowany lub z niespełnionymi zależnościami). Od tego momentu mogą wystąpić błędy podczas instalowania, aktualizowania lub usuwania innych pakietów, ponieważ cały system zależności staje się niestabilny.

Dlatego tak ważne jest, aby wiedzieć jak sprawdzić, co od czego zależy i jak naprawić, gdy coś pójdzie nie takNajpierw przyjrzymy się najczęstszym przypadkom w systemach bazujących na Debianie/Ubuntu (DEB), następnie w świecie pakietów RPM (Fedora, CentOS, RHEL, openSUSE), a na koniec innym rodzinom, takim jak Arch Linux.

Wyświetlanie zależności w systemach DEB (Debian, Ubuntu i pochodne)

W ekosystemie Debian i Ubuntu liczenie zależności jest bardzo proste, ponieważ zestaw narzędzi jest bardzo ujednolicony: apt, apt-cache, dpkg i narzędzia uzupełniające podobnie jak apt-rdepends, obejmują one praktycznie wszystkie przypadki, których możesz potrzebować na co dzień.

Wyświetlanie zależności pakietu dostępnego w repozytoriach za pomocą apt-cache

Jeśli pakiet znajduje się w skonfigurowanych repozytoriach, możesz sprawdzić, czego potrzebuje:

apt-cache zależy od nazwy_pakietu

Na przykład, aby zobaczyć, od czego zależy vim:

apt-cache zależy od vim

Na wyjściu pojawią się wiersze takie jak „Depends:”, „PreDepends:”, „Suggests:” itd., które można zidentyfikować na pierwszy rzut oka obowiązkowe i zalecane zależnościTo szybki sposób, aby dowiedzieć się, jakie elementy zostaną przeniesione po zainstalowaniu konkretnego programu.

Jeśli chcesz uzyskać większy poziom szczegółowości, możesz połączyć go z innymi podpoleceniami apt-cache, takimi jak: pokażpkgktóry pokazuje również odwrotne zależności i wersje:

apt-cache showpkg vsftpd

Dzięki temu poleceniu oprócz pakietów, od których zależy vsftpd, zobaczysz, jakie inne pakiety są potrzebne Zależą od vsftpdSą to bardzo przydatne informacje przed odinstalowaniem usługi na serwerze produkcyjnym.

Wyświetl pełne drzewo zależności za pomocą apt-rdepends

Kiedy potrzebujesz nie tylko płaskiej listy, ale rekurencyjny łańcuch zależności (zależności zależności itd. szczegółowo), narzędziem gwiazdy jest apt-rdepends:

apt-rdepends nazwa_pakietu

To narzędzie zwykle nie jest instalowane domyślnie, dlatego musisz je najpierw dodać za pomocą:

sudo apt-get install apt-rdepends

Po zainstalowaniu apt-rdepends umożliwia dość zaawansowane przeglądanie stron internetowych. Oto kilka przydatnych opcji:

  • -b (-build): pokazuje bezpośrednie zależności potrzebne do skompilowania pakietu.
  • -p (-print-state): uwzględnia status pakietu i wersję w wynikach.
  • -f (-follow=ZALEŻY):śledzi zależności i zależności, generując bardziej wyczerpujące drzewo.

Jeśli w dowolnym momencie zgubisz się w składni, zawsze możesz sprawdzić instrukcję narzędzia, korzystając z:

człowiek apt-rdepends

Automatyczna instalacja zależności kompilacji za pomocą apt-get build-dep

W środowiskach programistycznych bardzo często zachodzi potrzeba wszystkie zależności potrzebne do skompilowania pakietu z jego kodu źródłowegoWłaśnie do tego służy poniższe polecenie:

  PikaOS, dystrybucja Linuksa, która ułatwia granie

sudo apt-get build-dep nazwa_pakietu

To podpolecenie przeszukuje repozytoria w celu znalezienia informacji o pakiecie źródłowym i Instaluje wszystkie pakiety, od których zależy proces kompilacji.Należy jednak pamiętać, że nie powoduje to zainstalowania samego programu, a jedynie zależności kompilacji.

Na przykład podczas uruchamiania:

sudo apt-get build-dep gmc

System wyświetli podsumowanie, na przykład „Zostaną zainstalowane następujące NOWE pakiety…”, zawierające listę wszystkich bibliotek programistycznych, które zostaną dodane (-dev, narzędzia do kompilacji itp.). Następnie możesz zaimportować swój kod za pomocą:

apt-get source nazwa_pakietu

i skompiluj za pomocą standardowych narzędzi. To całkiem czysty sposób na przygotowanie środowiska bez konieczności ręcznego wyszukiwania zależności.

Wyświetlanie zależności luźnych pakietów DEB (pobranych plików .deb)

Kiedy to co masz jest Plik .deb pobrany ręcznie (na przykład ze strony internetowej osoby trzeciej) i chcesz sprawdzić jego zależności przed instalacją, możesz skorzystać z narzędzia niskiego poziomu dpkg-deb:

dpkg-deb -I mypackage.deb

To polecenie wyświetli nagłówek pakietu, w tym pole „Zależy:”, w którym wyraźnie widać Jakie inne pakiety powinien zainstalować system? aby plik .deb działał poprawnie. Przydaje się również, jeśli pracujesz z alternatywne pakiety, takie jak AppImageponieważ pomaga porównać, które zależności będą zarządzane przez system, a które przez sam pakiet.

Jest szczególnie przydatny w środowiskach, w których Nie chcesz uszkodzić menedżera pakietów poprzez dodawanie zewnętrznych pakietów bez ich sprawdzenia. co zawierają i czy są kompatybilne z wersją dystrybucji, z której korzystasz.

Inne przydatne polecenia w DEB: apt, dpkg, dpkg-query, which, whereis i locate

Oprócz listy zależności, pomocne będzie opanowanie kilku poleceń zapytań, aby dowiedzieć się, czy pakiet jest zainstalowany i gdzie się znajdujePomoże Ci to sprawdzić, czy zależności są faktycznie spełnione w Twoim systemie.

  • apt -qq list nazwa_pakietu:pokazuje, czy pakiet jest zainstalowany, a także jego wersję i architekturę.
  • apt-cache policy nazwa_pakietu: pokazuje zainstalowaną wersję, kandydata na wersję i repozytorium źródłowe.
  • dpkg -l | grep -i nazwa_pakietu o dpkg-query –list | grep -i nazwa_pakietu:Wyświetlają listę pakietu, jego status i opis z bazy danych dpkg.
  • który binarny:jeśli plik wykonywalny znajduje się w zmiennej środowiskowej PATH użytkownika, zwracana jest jego ścieżka (na przykład /bin/nano).
  • gdzie jest binarne:pokazuje nie tylko plik wykonywalny, ale także powiązana dokumentacja i pliki (strony podręcznika, informacje, itp.).
  • zlokalizuj wzór: bardzo szybko wyszukuje pliki w bazie danych lokalizacji, choć wymaga zainstalowanej i zaktualizowanej wersji Locale.

Łącząc te narzędzia z apt-cache i apt-rdepends można zbudować dość kompleksową mapę co jest zainstalowane, kto tego używa i czego brakuje tak, aby wszystko do siebie pasowało.

Wymień zależności i zależności odwrotne w środowisku RPM (Fedora, RHEL, CentOS, openSUSE)

Dystrybucje oparte na RPM oferują kilka potężnych narzędzi. Podstawą jest rpm, który współpracuje bezpośrednio z bazą danych pakietów i na niej opiera się na menedżerach wysokiego szczebla, takich jak mniam (w klasycznych systemach) lub dnf (w nowocześniejszych wersjach Fedory i pochodnych).

Sprawdź zależności zainstalowanego pakietu RPM lub pakietu RPM w repozytorium

Aby zapytać rpm o zależności zainstalowanego pakietu, należy użyć następującego polecenia:

rpm -qR nazwa_pakietu

opcja -qR (-wymaga) mówi rpm, aby wyświetlił listę wszystkie pakiety i możliwości, od których zależy ten pakietJest to odpowiednik, na niskim poziomie, funkcji zależnej od apt-cache w świecie DEB.

Jeśli to co masz to luźny plik .rpm (niezainstalowany) i chcesz sprawdzić jego zależności przed zainstalowaniem w systemie, polecenie zmienia się nieznacznie:

rpm -qpR plik .rpm

Tutaj -p Każe RPM działać. o pliku pakietu na dysku zamiast na podstawie zainstalowanych pakietów.

Oprócz -R, rpm akceptuje bardzo przydatne kombinacje pozwalające uzyskać szerszy kontekst, na przykład: -ql Wypisz pliki zawarte w pakiecie, -qi Oferuje szczegółowe informacje (podsumowanie, wersję, grupę itp.) i -V Zweryfikuj jego integralność w odniesieniu do bazy danych (właściciele, uprawnienia, skróty…).

Wyświetlaj zależności, odwracaj zależności i wiele więcej dzięki Yum/DNF

W warstwie RPM menedżery takie jak yum i dnf znacznie upraszczają wykonywanie zapytań i rozwiązywanie zależności, a także zarządzanie repozytoriami, aktualizacjami i całym cyklem życia oprogramowania.

W przypadku yum masz kilka bardzo przydatnych podpoleceń bezpośrednio związanych z zależnościami:

  • yum deplit nazwa_pakietu: pokazuje zależności konkretnego pakietu, niezależnie od tego, czy jest on zainstalowany lub dostępny w repozytoriach.
  • yum solvedep dependency: zwraca pakiety, które spełniają daną zależność (nazwę biblioteki, pojemność wirtualną itp.).
  • yum udostępnia ścieżkę_lub_plik:mówi ci do którego pakietu należy konkretny plik?, bardzo przydatne, gdy wiesz, jakiego pliku binarnego lub biblioteki brakuje, ale nie wiesz, w którym pakiecie go brakuje.

Również z yum info nazwa_pakietu Można zobaczyć szczegółowe informacje o pakiecie (w tym podsumowanie i repozytorium źródłowe) oraz yum list nazwa_pakietu Porównujesz zainstalowaną wersję z tą dostępną do aktualizacji.

W bardziej zaawansowanych scenariuszach yum integruje również szybki przewodnik po czynnościach takich jak instalowanie, aktualizowanie, usuwanie, wyświetlanie grup pakietów, przeglądanie aktywnych repozytoriów, zarządzanie historią transakcji i wiele innych, umożliwiając nie tylko po to, by sprawdzić zależności, ale także po to, by zrozumieć, co zostało zainstalowane, kiedy i skąd.

  Jak stworzyć bezpieczne i dobrze skonfigurowane środowisko WSL 2

Podobieństwa między poleceniami RPM i Yum

Jeśli przełączasz się między rpm i yum, warto pamiętać o kilku podstawowych równoważnościach, aby się nie pogubić:

  • Zainstaluj pakiet: rpm -ivh - o obr./min -Uvhyum zainstalować (ten ostatni rozwiązuje i instaluje zależności).
  • Usuń pakiet: obr./min -emniam usuń.
  • Sprawdź informacje o pakiecie: obr./min -qimniam informacja.
  • Wyszukaj pakiet według nazwy: ciąg wyszukiwania yumrpm -qa | grep chain (ten ostatni informuje, czy jest zainstalowany).

Morał tej historii jest taki, że w przypadku pytań o zależności, rpm udostępnia „surowe” szczegóły, a yum ułatwia rozwiązywanie problemów., pobieranie i operacje zbiorcze na pakietach ze zdalnych repozytoriów.

Wyświetlanie zależności w systemie Arch Linux i pochodnych (Pacman/Pactree)

W dystrybucjach Arch Linux i opartych na Pacmanie (Manjaro, EndeavourOS itp.) dostępne jest bardzo wydajne i wygodne narzędzie do wizualizacji relacji: pactreeW przeciwieństwie do płaskich wyników innych systemów, Pactree reprezentuje hierarchiczne drzewo zależności, o wiele bardziej czytelne na pierwszy rzut oka.

Na przykład, aby sprawdzić drzewo zależności vim, możesz uruchomić:

pactree vim

Dane wyjściowe wyświetlane są w stylu podobnym do polecenia drzewa, rozgałęziając każdą zależność i jej podzależności:

vim
├─vim-runtime
├─gpm
│ └─bash
│ ├─readline
│ │ ├─glibc
│ │ ├─nagłówki-api-linux
│ │ ├─tzdata
│ │ └─system plików
└─acl
└─atrybut
└─glibc

Jak widać, bardzo łatwo jest to śledzić wizualnie. które paczki wiszą na każdym poziomieJeśli chcesz odwrócić perspektywę i zobaczyć, które pakiety zależą od konkretnego, możesz także użyć innych narzędzi Pacman, ale jeśli chodzi o widok „od dołu”, Pactree jest trudny do pobicia.

Jeśli chcesz w pełni wykorzystać jego możliwości, zapoznaj się z stronami podręcznika:

mężczyzna pactree

Wyświetlanie zależności w SUSE i openSUSE (Zypper)

W dystrybucjach takich jak openSUSE i SLE referencyjnym menedżerem pakietów jest zypperOprócz instalowania, aktualizowania i usuwania oprogramowania umożliwia również wygodne sprawdzanie zależności.

Aby sprawdzić, czego wymaga konkretny pakiet, np. vim, możesz użyć:

zypper info –wymaga vim

To polecenie wyświetli standardowe informacje o pakiecie (nazwę, wersję, repozytorium itp.) wraz z sekcją zawierającą listę wymagań wszystkie zależności, które muszą być obecne w systemieJest to odpowiednik polecenia „Depends” w poleceniu apt-cache lub polecenia „Requires” w poleceniu rpm -qR.

W połączeniu z innymi opcjami Zyppera (takimi jak wyszukiwanie wzorców, lista repozytoriów itp.) umożliwia ona utrzymanie dość dokładna kontrola nad tym, które pakiety zawierają które biblioteki w środowisku SUSE.

Jak sprawdzić, które pakiety zależą od innych (zależności odwrotne)

Tak samo ważne jak wiedza o tym, od czego zależy pakiet, jest poznanie które inne pakiety od niego zależąTaka odwrotna kontrola zależności jest kluczowa przed odinstalowaniem czegoś pozornie „nieszkodliwego”, co w rzeczywistości może być wykorzystane w połowie systemu.

W systemach Debian/Ubuntu możesz użyć:

  • apt-cache rdepends nazwa_pakietu: wyświetla listę pakietów zależnych od określonego pakietu.
  • apt-cache showpkg nazwa_pakietuOprócz informacji o pakiecie i jego zależnościach zawiera sekcję „Reverse Depends” zawierającą informacje o pakietach, które tego wymagają.

W świecie RPM yum oferuje również sposoby jego przeglądania:

  • yum deplit nazwa_pakietu:na podstawie wyników można pośrednio zobaczyć, kto przyczynia się do każdej zależności.
  • yum udostępnia file_or_capacityInformuje Cię, które pakiety zapewniają konkretną bibliotekę lub plik, dzięki czemu możesz wnioskować Co by się stało, gdybym je usunął?.

Łącząc te zapytania, można łatwo odpowiedzieć na pytania takie jak: „Jeśli usunę tę bibliotekę, które aplikacje przestaną działać?”. A w przypadku serwera lub krytycznego środowiska graficznego jest to czyste złoto.

Sprawdź zależności plików binarnych za pomocą ldd

Oprócz menedżerów pakietów czasami możesz być zainteresowany poznaniem z których bibliotek dynamicznych korzysta konkretny plik binarnyNa przykład w celu debugowania błędu ładowania lub problemu z wersjami biblioteki libc.

Standardowym narzędziem do tego w systemach typu Unix jest lddJego podstawowe użycie jest bardzo proste:

ldd /ścieżka/do/pliku_binarnego

Wynik pokaże każdą bibliotekę współdzieloną potrzebną plikowi binarnemu, wraz ze ścieżką, z której jest odczytywana, oraz kierunkiem ładowania. Jeśli którakolwiek z nich wyświetla się jako „nie znaleziono”, oznacza to, że… Brak zależności w systemie lub nie znajduje się ona na prawidłowej ścieżce wyszukiwania.

Jeśli chcesz zobaczyć informacje bardziej szczegółowo i prześledzić wewnętrzne zależności samych bibliotek, możesz użyć:

ldd -v /ścieżka/do/pliku_binarnego

Opcja -v dodaje dodatkowe informacje i może pomóc weryfikować wersje, eksportowane symbole i inne szczegóły, które w środowiskach produkcyjnych często decydują o tym, czy usługa uruchomi się poprawnie, czy ulegnie awarii.

Naprawianie uszkodzonych pakietów i niespełnionych zależności w systemach Debian/Ubuntu

Jakkolwiek ostrożny byś nie był, prędzej czy później natkniesz się na system, który narzeka uszkodzone pakiety, niespełnione zależności lub zablokowane plikiZanim wpadniesz w panikę, ważne jest, aby zrozumieć koncepcję i ustalić rozsądną kolejność odzyskiwania danych.

Uszkodzony pakiet pojawia się zazwyczaj, gdy instalacja lub aktualizacja zostanie przerwana, gdy zostaną zainstalowane źle skonstruowane pakiety zewnętrzne lub gdy Niezgodne repozytoria są mieszane razemTypowy objaw: nie można zainstalować ani zaktualizować czegokolwiek, ponieważ apt odmawia kontynuowania pracy do momentu rozwiązania konfliktu.

  Jak krok po kroku korzystać z narzędzia do rozwiązywania problemów w systemie Windows 11

Pierwsza próba: dpkg i apt w celu rekonfiguracji i naprawy

Pierwszym logicznym krokiem jest poproszenie programu dpkg o dokończenie konfiguracji tego, co pozostało niedokończone:

sudo dpkg –konfiguruj -a

To polecenie wymusza konfigurację wszystkich rozpakowanych, ale nieskonfigurowanych pakietów. Jeśli po instalacji były jakieś oczekujące skrypty, zostaną one teraz wykonane. Często samo to wystarcza. „Stany niespójne są rozwiązywane”.

Jeśli nadal nie działa, zaleca się wyczyszczenie lokalnej pamięci podręcznej .deb, aby uniknąć uszkodzonych pozostałości i zwolnij miejsce na dysku:

sudo apt-get clean && sudo apt-get autoclean

Następnie regenerujemy informacje o repozytorium i pozwalamy programowi apt spróbować odbudować zależności, korzystając z opcji fix:

sudo apt-get update –fix-missing
sudo apt-get install -f

Połączenie –Popraw brakujące y -f (-fix-broken) To nakazuje programowi podjąć próbę rozwiązania niespójnych pakietów i niespełnionych zależności, instalując lub naprawiając to, co jest potrzebne. To jedno z najskuteczniejszych narzędzi przed uciekaniem się do bardziej agresywnych środków.

Jeśli nadal widzisz komunikat blokady, taki jak „Nie można zablokować”, może to oznaczać, że przestarzałe pliki blokadyW takim przypadku, i tylko jeśli masz pewność, że nie jest uruchomiony żaden apt lub dpkg, możesz je usunąć:

sudo rm /var/lib/apt/lists/lock && sudo rm /var/cache/apt/archives/lock && sudo rm /var/lib/dpkg/lock

Następnie powtórz poprzednią sekwencję poleceń (configure, clean, update, install -f), aby sprawdzić, czy system wrócił do prawidłowego stanu.

Ręcznie usuń uszkodzony pakiet za pomocą dpkg

Jeśli problem nadal występuje, następnym krokiem będzie dokładne ustalenie jego przyczyny. Który pakiet jest uszkodzony. W tym celu możesz użyć:

sudo dpkg -l | grep ^..r

Pakiety oznaczone literą „r” w swoim statusie oznaczają niekompletne lub uszkodzone instalacjePo zidentyfikowaniu nazwy możesz spróbować ją siłą usunąć:

sudo dpkg –remove –force-remove-reinstreq nazwa_pakietu

To polecenie wymusza na programie dpkg usunięcie pakietu powodującego konflikt, nawet jeśli jego stan jest niespójny. Następnie czyści pamięć podręczną i ponownie aktualizuje.

sudo apt-get clean && sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade

Jeżeli system aktualizuje się bez zarzutów, to najprawdopodobniej przywróciłeś bazę danych pakietów do stanu stabilnego i możesz normalnie kontynuować pracę.

Użyj Synaptic do graficznej naprawy uszkodzonych pakietów

Jeśli wolisz bardziej wizualne podejście lub pomagasz komuś, kto nie czuje się pewnie w terminalu, menedżer pakietów Synaptic Nadal jest to bardzo potężne narzędzie.

Najpierw zainstaluj (jeśli jeszcze go nie masz):

sudo apt-get install synaptic

Następnie otwórz go i:

  1. Aktywuj Filtros i wybierz filtr Złamany.
  2. Znajdź przesyłkę, która wygląda na uszkodzoną.
  3. Kliknij prawym przyciskiem myszy i wybierz «Zaznacz, aby całkowicie odinstalować».
  4. Zastosuj zmiany, aby Synaptic mógł spróbować Usuń problematyczny pakiet i odbuduj zależności.

Dodatkowo w menu Edytuj → Napraw uszkodzone pakietySynaptic zawiera opcję automatyczną, która próbuje rozwiązywać nieścisłości w partiach, co może zaoszczędzić Ci kilku czynności wykonywanych ręcznie.

Ostateczność: edytuj plik statusu dpkg

Jeśli wszystko inne zawiedzie, pozostaje jedno zaawansowane i delikatne rozwiązanie: bezpośrednio edytuj plik /var/lib/dpkg/status, w którym dpkg przechowuje stan każdego zainstalowanego pakietu.

Pomysł polega na otwarciu go za pomocą edytora tekstu w trybie superużytkownika:

sudo nano /var/lib/dpkg/status

Po wejściu do środka poszukaj bloku opisującego uszkodzony pakiet (zaczyna się od „Pakiet: nazwa_pakietu” i zawiera kilka pól, takich jak „Status:”, „Wersja:” itd.) i usuń cały ten blokTo tak, jakby usunąć jego istnienie z bazy danych dpkg.

Zapisz zmiany, zamknij edytor, a następnie uruchom:

sudo apt-get clean && sudo apt-get update && sudo apt-get dist-upgrade

Jeśli nie ma dalszych niespójności, system powinien być sprawny. Technikę tę należy stosować ostrożnie i, jeśli to możliwe, wraz z kopią zapasową pliku stanu na wypadek konieczności cofnięcia zmiany.

Dzięki temu arsenałowi poleceń — apt-cache, apt-rdepends, rpm, yum, pactree, zypper, ldd oraz narzędziom naprawczym dpkg i apt — masz teraz całkiem obszerny przegląd Jak wyświetlić listę zależności pakietów w systemie Linux, dowiedzieć się, co od czego zależy i jak zareagować, gdy coś ulegnie awarii.Znajomość tych narzędzi nie tylko zapewni Ci spokój ducha podczas instalowania oprogramowania, ale także umożliwi Ci odczytywanie komunikatów systemu przy każdym błędzie i podejmowanie świadomych decyzji bez działania w ciemno.

jak zarządzać pakietami Flatpak
Podobne artykuł:
Jak wygodnie i bezpiecznie zarządzać pakietami Flatpak w systemie Linux