Jak wizualnie wyświetlić zależności pakietu?

31

To jest po prostu dla zabawy i ciekawości: czy istnieje narzędzie, za pomocą którego można wizualnie zobaczyć zależności o pakiecie jako wykres?

Oznacza to, że pakiety, od których zależy dany pakiet. Może to być narzędzie wiersza polecenia, które wyświetla grafikę ASCII (np. Drzewo lub graflog Mercurial) lub narzędzie GUI, które pokazuje graficznie wykres zależności. Działa także każda inna kombinacja narzędzi, która może wizualnie pokazywać zależności.

Ashwin Nanjappa
źródło
A jakie byłyby osie wykresu?
1
@ vasa1: Wierzchołki będą pakietami, a krawędzie są zależnościami.
Ashwin Nanjappa

Odpowiedzi:

34

dług

Według strony internetowej aplikacji The debtreepakiet zawiera „pakiet wykresy uzależnienie od sterydów” .

Uwaga: Jest to również bardzo przydatne podczas planowania aktualizacji oprogramowania. Ta aplikacja jest w stanie przedstawić zależności między pakietami, które nie zostały jeszcze zainstalowane w systemie. Odczyta to z sources.listpliku (zwykle znajduje się w /etc/apt/sources.list) i wykona zapytanie na żywo przy użyciu tej listy.

Poniższy schemat jest przykładem działania debtreeprzeciwko pakietowi dpkg. Oto mapa jego zależności:

Aby zainstalować debtreez wiersza poleceń ( Ctrl- Alt- t), wprowadź polecenie:

sudo apt-get install debtree

Stosowanie

  • Utwórz plik .dot (ukierunkowany rysunek wykresu - patrz strona man dotpodręcznika)

    debtree --with-suggests <package> >out.dot
    
  • Utwórz wykres (PNG) z pliku .dot

    dot -T png -o out.png out.dot
    
  • Utwórz wykres (Postscript) i wyświetl go za pomocą Okulara

    debtree <package> | dot -Tps | okular - &
    

Należy pamiętać, że podczas uruchamiania tej aplikacji na większych pakietach (np. Gedit) obrazy mogą szybko stać się niewygodne i nieczytelne.

Zauważ, że apt-rdependsmożna go również użyć w podobny sposób, ale moim zdaniem potokowanie wyjścia do grafiki jest nieco bardziej skomplikowane.

Zobacz także: Strona podręcznika systemu Ubuntu

Kevin Bowen
źródło
1
--no-skiplub nawet --show-allsą bardzo przydatnymi opcjami, aby dołączyć więcej pakietów takich jak libc6.
wyloguj się
2

Może nie tak „graficzny”, ale jeśli wolisz nie instalować żadnych dodatkowych pakietów, masz również możliwość uruchomienia

apt-cache rdepends <package>

Możesz także zajrzeć do dependsopcji.

Masz także:

  • apt rdepends <package>
  • Użyj tego skryptu ,apt-rdepends-tree <package>
  • apt-rdepends <package>lub jako dług apt-rdepends --dotty package | springgraph > dependencies.png
Pablo A.
źródło
1

Narzędzie wiersza poleceń Apitude to świetne narzędzie do sprawdzania zależności. żadnych fantazyjnych wykresów, ale daje dobrą hierarchiczną reprezentację zależności dla konkretnego pakietu.

Ntc
źródło
Nathan Cazell: Czy mógłbyś wyjaśnić, w jaki sposób mogę wyświetlić ten hierarchiczny wykres dla danego pakietu?
Ashwin Nanjappa
kiedy otworzysz Aptitude, po prostu wyszukaj pakiet za pomocą /, a następnie naciśnij klawisz Enter dla żądanego pakietu, a wyświetli wszystkie informacje o pakiecie, w tym drzewo zależności z niezaspokojonymi zależnościami, a także pakiety powodujące konflikt.
Ntc
Nathan Cazell: Czy masz na myśli narzędzie zdolności wiersza poleceń?
Ashwin Nanjappa,
Edytowane. Przepraszam, że nie wyjaśniłem wcześniej
Ntc