これがスーパーユーザーの問題かUnixLinuxの問題かはわかりませんが、ここで試してみましょう。
最近、私は次の事実を見つけました。
#710689 - 適性:ツリーでUnicode文字を使用する - Debianのバグレポートログ
aptitude が依存関係リストのツリーに Unicode 文字を使用している場合は良いでしょう。たとえば、次のようになります。
--\ Depends (3) --- libc-dev-bin (= 2.17-3) --- libc6 (= 2.17-3) --- linux-libc-dev --\ Suggests (2) --- glibc-doc (UNSATISFIED) --\ manpages-dev
...
aptitude
...私は考えました。そして、私は本当にASCIIアートツリーの出力が大好きです。そうすることが可能かどうかわからなかった!だから私はコマンドラインスイッチを1時間操作し始めましたaptitude
。単にその出力を取得できませんか?だから私の最初の質問は - この出力は当初どこに出てくるのですか? !
しばらくして、私は私のシステムにaptitude
最終的なシンボリックリンクがあることに気づきました。ついにインターフェースがあることに/usr/bin/aptitude-curses
気づきました!aptitude
curses
:/
aptitude
したがって、パラメータなしで実行します。curses
インターフェイスが起動し、次の内容が表示されます。
...明らかに、対応するASCIIツリー文字は呪いインタフェースから来ています。
だから私は不思議です。 「ビジュアル」ASCIIツリーを出力しますが、パッケージの実際の依存関係を含むDebian / aptツールはありますか?
私は知っていますDebtree - パッケージ依存関係グラフ(返品ソフトウェアの推奨 - パッケージの依存関係を視覚的に表示する方法は? - Ubuntuに尋ねる);しかし、私はディレクトリツリーに似たものを端末に持ちたいと思います(sによって生成されたsの「順序が指定されていない」[ノード位置の点で]グラフではありません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
--- ...
...
ベストアンサー1
bashスクリプトで行うことができます
ソースコード: "apt-rdependents-tree"
https://gist.github.com/damphat/6214499
走る
# sudo apt-get install apt-rdepends
# save gist, above, as "apt-rdepends-tree"
# chmod +x apt-rdepends-tree
# ./apt-rdepends-tree gcc
出力は次のとおりです。
# ./apt-rdepends-tree gcc
├─ gcc
│ ├─ cpp (>= 4:4.7.2-1)
│ └─ gcc-4.7 (>= 4.7.2-1)
└─ package-a
├─ package-b
└─ package-c