Skąd mam wiedzieć, czy pakiet został zainstalowany przez dpkg czy apt?

15

Chcę usunąć pakiet, ale zapomniałem, jak go zainstalować za pomocą dpkglubapt-get

Próbuję to sprawdzić dpkg-query -list | grep myPackagei 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 removelubdpkg -r

stackoverYC
źródło
7
Możesz odinstalować w dowolny sposób.
Pilot6

Odpowiedzi:

28
  1. Porównaj dziennik /var/log/apt/term.log, który jest plikiem dziennika wygenerowanym przez apti /var/log/dpkg.log, który jest plikiem dziennika wygenerowanym przez dpkg. Jeśli zauważysz nazwę pakietu, który można znaleźć w, /var/log/dpkg.logale nie w /var/log/apt/term.log, jest bardzo prawdopodobne, że do dpkgtego czasu zainstalowałeś pakiet .

  2. Pamiętaj, że aptto nakładka na dpkg. Dlatego zaleca się usunięcie dowolnego pakietu aptzamiast dpkg, ponieważ aptobsł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ładnie aptużywanych opcji). Jeśli jednak chcesz, usunięcie paczki nie jest dla ciebie szkodliwe dpkg. Prawdopodobnie zostawisz wiele paczek, których już nie będziesz używać.

tai271828
źródło
Dzięki za komentarz @ user535733. Zredagowałem odpowiedź zgodnie z twoim komentarzem.
tai271828
21

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 przez dpkg.

Jeśli możesz znaleźć swoje pakiety za pomocą APT, powinieneś użyć aptpoleceń, aby je odinstalować, ponieważ APT obliczy zależności pakietu i:

  • usuń pakiety, które zależą od pakietu wybranego do usunięcia
  • oznacz pakiety, które są zależnościami pakietu wybranego do usunięcia, jako niepotrzebne, aby można je było wyczyścić sudo apt autoremove
Zanna
źródło
4

Nie ma znaczenia, jak odinstalować pakiet.

dpkg wymaga również zależności ustawionych w pakiecie.

Po uruchomieniu apt removezaczyna dpkgusuwać pakiet.

Gdy instalujesz pakiet za pomocą dpkgi wymaga to pewnych zależności, proces instalacji zatrzymuje się z błędem. Możesz to naprawić przez sudo apt install -fzainstalowanie zależności, jeśli są one dostępne. W takim przypadku apt autoremovebędzie działać w ten sam sposób.

Pilot 6
źródło