Bagaimana cara menampilkan dependensi suatu paket secara visual?

31

Ini hanya untuk bersenang-senang dan rasa ingin tahu: apakah ada alat yang dapat digunakan untuk melihat secara visual dependensi suatu paket sebagai grafik?

Yaitu, paket yang tergantung pada paket yang diberikan. Ini bisa berupa alat baris perintah yang menampilkan menggunakan grafik ASCII (seperti pohon atau grafik Mercurial) atau alat GUI yang menunjukkan grafik ketergantungan secara visual. Kombinasi alat lainnya yang dapat menunjukkan dependensi secara visual juga berfungsi.

Ashwin Nanjappa
sumber
Dan apa sumbu grafik itu?
1
@ vasa1: Verteks akan menjadi paket dan tepi adalah dependensinya.
Ashwin Nanjappa

Jawaban:

34

surat hutang

Menurut situs web aplikasi , debtreepaket tersebut menyediakan "paket grafik ketergantungan pada steroid" .

Catatan: Ini juga sangat berguna saat merencanakan peningkatan perangkat lunak. Aplikasi ini dapat membuat grafik ketergantungan terhadap paket-paket yang belum diinstal pada sistem Anda. Ini akan membaca dari sources.listfile (biasanya terletak di /etc/apt/sources.list) dan itu akan melakukan permintaan langsung menggunakan daftar itu.

Diagram berikut adalah contoh berjalan debtreeterhadap paket dpkg. Berikut adalah peta ketergantungannya:

Untuk menginstal debtreedari baris perintah ( Ctrl- Alt- t) masukkan perintah:

sudo apt-get install debtree

Pemakaian

  • Buat file .dot (gambar grafik berarah - lihat halaman man dotmanual)

    debtree --with-suggests <package> >out.dot
    
  • Buat grafik (PNG) dari file .dot

    dot -T png -o out.png out.dot
    
  • Buat grafik (Postscript) dan lihat menggunakan Okular

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

Ketahuilah bahwa saat menjalankan aplikasi ini terhadap paket yang lebih besar (mis. Gedit), gambar dapat dengan cepat menjadi sulit dan tidak terbaca.

Catatan yang apt-rdependsjuga dapat digunakan dengan cara yang serupa, tetapi menyalurkan output ke grafik sedikit lebih berbelit-belit, menurut saya.

Lihat juga: halaman manual Ubuntu debtree

Kevin Bowen
sumber
1
--no-skipatau bahkan --show-allopsi yang sangat berguna untuk memasukkan lebih banyak paket seperti libc6.
logoff
2

Mungkin tidak terlalu "grafis" tetapi jika Anda memilih untuk tidak menginstal paket tambahan, Anda juga dapat menjalankannya

apt-cache rdepends <package>

Anda mungkin juga ingin melihat dependsopsi.

Anda juga memiliki:

  • apt rdepends <package>
  • Gunakan skrip ini ,apt-rdepends-tree <package>
  • apt-rdepends <package>atau sebagai debtree apt-rdepends --dotty package | springgraph > dependencies.png
Pablo A
sumber
1

Alat baris perintah, Apitude, adalah alat yang hebat untuk melihat dependensi. tidak ada grafik mewah, tetapi itu memberi Anda representasi hierarkis dependensi untuk paket tertentu.

Ntc
sumber
Nathan Cazell: Bisakah Anda menguraikan bagaimana saya bisa melihat grafik hierarkis ini untuk paket yang diberikan?
Ashwin Nanjappa
ketika Anda membuka Aptitude hanya mencari paket menggunakan / lalu tekan enter untuk paket yang Anda inginkan dan itu akan menampilkan semua informasi tentang paket termasuk pohon dependensi dengan dependensi yang tidak terpenuhi dan juga paket yang bertentangan.
Ntc
Nathan Cazell: Apakah Anda merujuk ke alat aptitude baris perintah?
Ashwin Nanjappa
Diedit. Maaf karena tidak mengklarifikasi sebelumnya
Ntc