Chcę usunąć pakiet, ale zapomniałem, jak go zainstalować za pomocą dpkg
lubapt-get
Próbuję to sprawdzić dpkg-query -list | grep myPackage
i apt list --installed | grep myPackage
, ale mój pakiet został pokazany na obu.
więc skąd mam wiedzieć, czy pakiet został zainstalowany przez dpkg, czy apt?
Aby wykonać prawidłowe polecenie odinstalowania, takie jak: apt-get remove
lubdpkg -r
Odpowiedzi:
Porównaj dziennik
/var/log/apt/term.log
, który jest plikiem dziennika wygenerowanym przezapt
i/var/log/dpkg.log
, który jest plikiem dziennika wygenerowanym przezdpkg
. Jeśli zauważysz nazwę pakietu, który można znaleźć w,/var/log/dpkg.log
ale nie w/var/log/apt/term.log
, jest bardzo prawdopodobne, że dodpkg
tego czasu zainstalowałeś pakiet .Pamiętaj, że
apt
to nakładka nadpkg
. Dlatego zaleca się usunięcie dowolnego pakietuapt
zamiastdpkg
, ponieważapt
obsłuży on zależność do usunięcia tych pakietów, które nie będą używane przez żadne inne pakiety (lub oznaczy je jako „nie używać już”, aby umożliwić ich późniejsze usunięcie. zależy od dokładnieapt
używanych opcji). Jeśli jednak chcesz, usunięcie paczki nie jest dla ciebie szkodliwedpkg
. Prawdopodobnie zostawisz wiele paczek, których już nie będziesz używać.źródło
Każdy pakiet zainstalowany z APT jest również instalowany z
dpkg
. APT oblicza zależności i pobiera pakiety, które są następnie rozpakowywane i instalowane przezdpkg
.Jeśli możesz znaleźć swoje pakiety za pomocą APT, powinieneś użyć
apt
poleceń, aby je odinstalować, ponieważ APT obliczy zależności pakietu i:sudo apt autoremove
źródło
Nie ma znaczenia, jak odinstalować pakiet.
dpkg
wymaga również zależności ustawionych w pakiecie.Po uruchomieniu
apt remove
zaczynadpkg
usuwać pakiet.Gdy instalujesz pakiet za pomocą
dpkg
i wymaga to pewnych zależności, proces instalacji zatrzymuje się z błędem. Możesz to naprawić przezsudo apt install -f
zainstalowanie zależności, jeśli są one dostępne. W takim przypadkuapt autoremove
będzie działać w ten sam sposób.źródło