ฉันไม่แน่ใจว่านี่เป็นคำถาม SuperUser หรือ UnixLinux มากกว่านี้หรือไม่ แต่ฉันจะลองที่นี่ ...
เมื่อเร็ว ๆ นี้ฉันพบสิ่งนี้:
# 710689 - ความถนัด: ใช้อักขระ Unicode ในต้นไม้ - บันทึกรายงานข้อบกพร่องของเดเบียน
มันจะดีเมื่อความถนัดจะใช้อักขระยูนิโค้ดสำหรับต้นไม้ในรายการพึ่งพาเช่นแทน:
--\ Depends (3) --- libc-dev-bin (= 2.17-3) --- libc6 (= 2.17-3) --- linux-libc-dev --\ Suggests (2) --- glibc-doc (UNSATISFIED) --\ manpages-dev
...
... และฉันคิดว่า - ว้าวฉันชอบผลงานต้นไม้ ASCII มากไม่รู้ว่าaptitude
ทำอย่างนั้นได้! ดังนั้นฉันเริ่มสับสนเป็นเวลาหนึ่งชั่วโมงด้วยaptitude
สวิตช์บรรทัดคำสั่ง - และฉันก็ไม่สามารถรับเอาท์พุทที่? ดังนั้นคำถามแรกของฉันคือ - สิ่งนั้นมาจากที่ใดในตอนแรก!
หลังจากที่ในขณะฉันตระหนักว่าในระบบของฉัน, aptitude
ในท้ายที่สุด SymLinks ไป/usr/bin/aptitude-curses
; และในที่สุดฉันก็รู้ว่ามันaptitude
มีcurses
ส่วนต่อประสาน!:/
ดังนั้นในที่สุดฉันก็รันaptitude
โดยไม่มีข้อโต้แย้งใด ๆ - และเพื่อให้curses
ส่วนต่อประสานเริ่มต้นขึ้นและฉันสามารถเห็นสิ่งนี้:
... เห็นได้ชัดเลยว่าตัวละครทรี ASCII นั้นมาจากอินเตอร์เฟส curses
ดังนั้นฉันสงสัย - มีเครื่องมือ Debian / apt ซึ่งจะส่งออกต้นไม้ ASCII "ภาพ" - แต่มีการอ้างอิงจริงของแพคเกจ?
ฉันรู้เกี่ยวกับตราสารหนี้ - กราฟพึ่งพาแพคเกจ (เช่นซอฟต์แวร์แนะนำ - วิธีการแสดงการพึ่งพาแพคเกจสายตา - ถาม Ubuntu ); แต่ฉันต้องการที่จะมีบางสิ่งบางอย่างใน terminal คล้ายกับต้นไม้ไดเรกทอรี (มากกว่า "unordered" [ในแง่ของตำแหน่งโหนด] กราฟจากdebtree
สร้างโดยgraphviz
's dot
)
ฉันเคยเห็นด้วยมีอะไรที่จะแสดงการพึ่งพาทางสายตาเหมือนต้นไม้หรือไม่? ซึ่งแนะนำ:
$ 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)
...
... ซึ่งเป็นสิ่งที่ดีเพราะมันจะแสดงรายการแรกของการพึ่งพาทันทีของแพคเกจที่จำเป็น; จากนั้นการพึ่งพาของแพ็คเกจการพึ่งพาระดับแรกและอื่น ๆ - แต่มันไม่ได้มองเห็นเป็นต้นไม้ (และที่จริงแล้วอินเตอร์เฟสaptitude
ของมันcurses
จะแสดงข้อมูลที่ติดตั้งเมื่อคุณขยายโหนดการพึ่งพามันจะไม่ขยายเป็นการพึ่งพาเพิ่มเติม)
ดังนั้นคำถามคือ - มีเครื่องมือที่จะสร้างกราฟต้นไม้พึ่งพาที่มีตัวอักษร terminal - เช่นพูดในรหัสเทียมต่อไปนี้:
$ 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
--- ...
...