이것이 SuperUser 또는 UnixLinux 질문에 대한 것인지 확실하지 않지만 여기서 시도해 보겠습니다.
최근에 나는 이것을 발견했다.
# 710689-적성 : 나무에서 유니 코드 문자 사용-데비안 버그 보고서 로그
aptitude가 종속성 목록의 트리에 유니 코드 문자를 사용하는 경우 예를 들면 다음과 같습니다.
--\ 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
궁극적으로 심볼릭 링크 라는 것을 깨달았다 /usr/bin/aptitude-curses
. 그리고 마침내 인터페이스 aptitude
가 있다는 것을 깨달았습니다 curses
!:/
그래서 나는 마침내 aptitude
아무런 인수없이 실행 합니다-그래서 curses
인터페이스가 시작되고 다음과 같은 것을 볼 수 있습니다 :
... 분명히 ASCII 트리 문자는 curses 인터페이스에서 나옵니다.
그래서 나는 "비주얼"ASCII 트리를 출력하는 데비안 / apt 툴이 있는지 궁금하지만 패키지의 실제 의존성을 가지고 있습니까?
부채 에 대해 알고 있습니다 -패키지 종속성 그래프 ( 소프트웨어 권장 사항 -패키지의 종속성 을 시각적으로 표시하는 방법? -Ask Ubuntu ); 그러나 나는 터미널 트리에서 ( '에 debtree
의해 생성 된 "정렬되지 않은"[노드 위치 측면에서] 그래프가 아닌) 디렉토리와 비슷한 것을 가지고 싶습니다 .graphviz
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
인터페이스는 의존성 노드를 확장 할 때 설치된 정보를 단순히 보여줍니다. 더 이상의 의존성으로 확장되지는 않습니다).
따라서 문제는 다음과 같은 의사 코드와 같이 터미널 문자로 종속성 트리 그래프를 생성하는 도구가 있습니까?
$ 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
--- ...
...