Używam apt-cache pkgname do pobierania pakietów jako
me@host:~$ apt-cache pkgnames | wc -l
62803
uzyskać 62803 wyników
ale
me@host:~$ dpkg -l | wc -l
2336
Jakie są przyczyny tak ogromnego rozróżnienia. Zakładam, że dpkg jest super niż apt.
apt
package-management
dpkg
Alice
źródło
źródło
Odpowiedzi:
apt
służy do zarządzania zdalnymi repozytoriami,dpkg
- dla lokalnie zainstalowanych pakietów. Są spokrewnieni.apt
jest z przodu dodpkg
. Po uruchomieniuapt-get install package
pobiera.deb
plik i instaluje go za pośrednictwemdpkg
. Więc liczby różnią się, ponieważ dostępnych jest wiele pakietów, ale tylko część jest zainstalowana lokalnie w twoim systemie.apt-cache
może wyświetlać zarówno zainstalowane, jak i niezainstalowane pakiety, ponieważ odpytujeapt
pamięć podręczną - wyświetla listę tego, co jest dostępne w zdalnych repozytoriach (ta pamięć podręczna jest tym, co dostajesz, gdy to robiszapt-get update
). Na przykład,Zauważ, że istnieje inne narzędzie, które może sprawdzać listę zainstalowanych / usuniętych pakietów lokalnych, i to jest
dpkg-query
. Na przykład,Zgodnie z instrukcją dpkg
Jeśli chodzi o
dpkg-query
to, należy zauważyć, że to narzędzie koncentruje się na wyszukiwaniu w bazie danych zainstalowanych pakietów i może wyświetlać informacje w określonym formacie (-f
opcja plus-W
akcja). Na przykład,Co ciekawe, baza danych dpkg utrzymuje listę pakietów, które zostały wybrane do usunięcia lub zostały w pewnym momencie usunięte .
dpkg-query
może również przyjmować wzorzec glob jako argument, aw zależności od jego braku pokaż tylko zainstalowane / skonfigurowane pakiety lub wszystkie pakiety.źródło
dpkg -l pokazuje zainstalowane wersje pakietu (poczynając od ii), usunięte (rc) i niektóre inne (np. zainstalowane, ale nieskonfigurowane, patrz strona podręcznika).
apt-cache pkgnames pokazuje wszystkie dostępne nazwy pakietów (ale nie wersje tego samego pakietu) w dodanych repozytoriach.
źródło