Saya tidak yakin apakah ini lebih merupakan pertanyaan SuperUser atau UnixLinux, tapi saya akan coba di sini ...
Baru-baru ini, saya menemukan ini:
# 710689 - aptitude: gunakan karakter unicode di pohon - log laporan Debian Bug
Alangkah baiknya ketika aptitude akan menggunakan karakter unicode untuk pohon dalam daftar dependensi, misal alih-alih:
--\ Depends (3) --- libc-dev-bin (= 2.17-3) --- libc6 (= 2.17-3) --- linux-libc-dev --\ Suggests (2) --- glibc-doc (UNSATISFIED) --\ manpages-dev
...
... dan saya pikir - wow, saya sangat suka keluaran pohon seni ASCII itu, tidak sadar aptitude
bisa melakukan itu! Jadi, saya mulai bermain-main selama satu jam dengan aptitude
sakelar baris perintah - dan saya tidak bisa mendapatkan keluaran itu? Jadi pertanyaan awal saya adalah - dari mana output itu berasal?
Setelah beberapa saat, saya menyadari bahwa pada sistem saya, aptitude
pada akhirnya terhubung dengan /usr/bin/aptitude-curses
; dan saya akhirnya menyadari bahwa aptitude
memiliki curses
antarmuka!:/
Jadi, saya akhirnya berjalan aptitude
tanpa argumen - dan curses
antarmuka dimulai, dan saya bisa melihat sesuatu seperti ini:
... jadi jelas sekali, karakter pohon ASCII itu berasal dari antarmuka kutukan.
Jadi saya bertanya-tanya - apakah ada alat Debian / apt, yang akan menampilkan pohon ASCII "visual" seperti itu - tetapi dengan dependensi paket yang sebenarnya?
Saya tahu tentang debtree - Grafik ketergantungan paket (juga rekomendasi perangkat lunak - Bagaimana cara menampilkan dependensi suatu paket? - Tanya Ubuntu ); tapi saya lebih suka memiliki sesuatu di terminal, menyerupai pohon direktori (daripada grafik "tidak teratur" [dalam hal posisi simpul] dari debtree
, yang dihasilkan oleh graphviz
's dot
).
Saya juga telah melihat Apakah ada sesuatu yang akan menunjukkan dependensi secara visual, seperti pohon? , yang merekomendasikan:
$ apt-rdepends aptitude
Reading package lists... Done
Building dependency tree
Reading state information... Done
aptitude
Depends: libapt-pkg4.10
Depends: libboost-iostreams1.42.0 (>= 1.42.0-1)
Depends: libc6 (>= 2.4)
Depends: libcwidget3
Depends: libept1
Depends: libgcc1 (>= 1:4.1.1)
Depends: libncursesw5 (>= 5.7+20100313)
Depends: libsigc++-2.0-0c2a (>= 2.0.2)
Depends: libsqlite3-0 (>= 3.7.3)
Depends: libstdc++6 (>= 4.5)
Depends: libxapian22
libapt-pkg4.10
libboost-iostreams1.42.0
Depends: libbz2-1.0
Depends: libc6 (>= 2.3.6-6~)
Depends: libgcc1 (>= 1:4.1.1)
Depends: libstdc++6 (>= 4.2.1)
Depends: zlib1g (>= 1:1.1.4)
...
... mana yang baik, karena ia mencantumkan terlebih dahulu dependensi langsung dari paket yang diperlukan; dan kemudian dependensi paket ketergantungan tingkat pertama, dan sebagainya - tapi itu tidak divisualisasikan sebagai pohon (dan benar-benar, aptitude
's curses
antarmuka hanya menunjukkan diinstal info ketika Anda memperluas ketergantungan simpul, ia tidak memperluas untuk dependensi lanjut).
Jadi, pertanyaannya adalah - apakah ada alat, yang akan menghasilkan grafik pohon dependensi dengan karakter terminal - seperti, katakanlah, dalam pseudocode berikut:
$ pseudo-deb-graph --show-package="aptitude"
aptitude
--- Depends: libapt-pkg4.10
--\ Depends: libboost-iostreams1.42.0 (>= 1.42.0-1)
--- Depends: libbz2-1.0
--- Depends: libc6 (>= 2.4)
--\ Depends: libc6 (>= 2.3.6-6~)
--\ Depends: libc-bin (= 2.13-0ubuntu13)
--- ...
--\ Depends: libgcc1
--- ...
--\ Depends: tzdata
--- ...
...