Aby zbadać, co spowodowało instalację danego pakietu, chciałbym uzyskać listę pakietów zależnych od tego pakietu. Nie mogłem znaleźć niczego oczywistego man dpkg
.
201
Aby zbadać, co spowodowało instalację danego pakietu, chciałbym uzyskać listę pakietów zależnych od tego pakietu. Nie mogłem znaleźć niczego oczywistego man dpkg
.
aptitude
, coś, co nie było instalowane domyślnie od lat. W 2017 roku wszyscy na Ubuntu nadal mająapt-cache
. Każdy, kto podąży za połączonym pytaniem, zagubi się w dyskusji na temat programu, który niewielu będzie miało.Odpowiedzi:
apt-cache rdepends packagename
powinien robić co chceszźródło
apt-cache rdepends tofrodos
potwierdził podejrzenie , że został zainstalowany przez inny pakiet (przestarzałydos2unix
).--installed
, dane wyjściowe są nawet przydatne dla pakietów, które mogą być używane przez wiele innych:apt-cache rdepends --installed packagename
sudo apt rdepends packagename
aptitude ma całkiem niezły sposób radzenia sobie z tym:
Domyślnie wyświetla tylko „najbardziej zainstalowany, najsilniejszy, najściślejszy, najkrótszy” powód, ale możesz go użyć,
aptitude -v why
aby wyświetlał wszystko, co znajdzie.źródło
reverse-depends
wubuntu-dev-tools
ubuntu-dev-tools
jest w Debianieopenssh-server
polecam (i dlatego instaluję)xauth
na bezgłowym serwerze, przeciągając setki zależności x11 i dziesiątki bezużytecznych aktualizacji miesięcznie. To jest problem z automatycznym zarządzaniem pakietami!Przykład:
źródło
apt showpkg <pkgname>
Jest więcej niż jeden sposób, przy czym każda metoda pokazuje inny wynik.
Aby uzyskać szczegółowy widok pełnego drzewa zależności odwrotnej;
Alternatywnie;
Lub zwięzła lista:
źródło
rdepends
pokazuje to drzewo?apt-rdepends php7.0-fpm
pokazujesed
.sed
nie zależy od PHP, nie mówiąc już o PHP FPM.apt-rdepends -r yourPackageNameHere
Najprostszą opcją jest nadal:
co nie wymaga instalowania żadnego pakietu.
źródło
apt-cache
wyjścia s. Właśnie tego potrzebowałem teraz (debugowanie niekompatybilności glibc 2.28, więc upvoting)Oprócz innych dobrych odpowiedzi, APT / APT-GET
-s
wykonuje „symulowane” usuwanie (lub instalację).sudo apt -s remove <pkgname>
Używanie
-s
lub--simulated
do usuwania (lub instalowania) pakietów, zwykle wyświetla listę zależności, których dotyczy problem. Pokaże osierocone pakiety podczas usuwania lub potrzebne zależności podczas instalacji bez faktycznego uruchamianiainstall
lubremove
. Tylko informacyjny.źródło
apt remove -s php7.0-fpm
pokazujeThe following additional packages will be installed: apache2 apache2-bin apache2-data libapache2-mod-php7.0 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0
. Dlaczego apache miałby zostać zainstalowany, jeśli usunę PHP FPM?