it-swarm.dev

Jak vypsat závislé balíčky (reverzní závislosti)?

Abychom prozkoumali, co způsobilo instalaci daného balíčku, rád bych získal seznam balíčků, které závisí na tomto balíčku. Nemohl jsem najít nic zjevného v man dpkg.

226
l0b0

apt-cache rdepends packagename by měl dělat, co chceš

286
RobotHumans

aptitude má docela pěkný způsob, jak to zvládnout:

$ aptitude why bash
i   foomatic-filters PreDepends bash (>= 2.05)

Ve výchozím nastavení je uveden pouze „nejvíce nainstalovaný, nejsilnější, nejpřísnější a nejkratší“ důvod, ale můžete použít aptitude -v why, aby bylo výstupem všeho, co najde.

66
tumbleweed
apt-cache showpkg <pkgname> 

Příklad:

apt-cache showpkg lightdm
21
qorrow

Existuje více způsobů, kdy každá metoda vykazuje jiný výstup.

Pro detailní pohled na plný strom zpětné závislosti;

aptitude install apt-rdepends
apt-rdepends -r bash

Alternativně;

apt-cache showpkg bash

Nebo stručný seznam:

apt-cache rdepends bash
17
papashou

Nejjednodušší možností je stále:

apt rdepends package-name

což nevyžaduje instalaci žádného balíčku.

10
Corrado Topi

Kromě dalších dobrých odpovědí, APT/APT-GET -s provede „simulované“ odstranění (nebo instalaci).

Sudo apt -s remove <pkgname>

Použitím -s nebo --simulated k odebrání (nebo instalaci) balíčků bude normálně uveden seznam všech závislých závislostí. Při odstraňování bude zobrazovat osamocené balíčky nebo potřebné závislosti při instalaci bez skutečného spuštění install nebo remove. Pouze informativní.

8
bshea