Ubuntuでパッケージの依存関係を調べる方法です。
依存しているパッケージ一覧を表示
「apt depends」コマンドで、指定したパッケージの依存関係を表示させることが出来ます。
apt depends パッケージ名
- PreDepends (事前依存)
- 該当のパッケージをインストールする前に、あらかじめインストールと設定が完了している必要があるパッケージです。
- Depends(依存)
-
該当のパッケージが正常に動作するために、絶対に欠かせない必須のパッケージです。
パッケージをインストールする際に、一緒にインストールされます。 - Recommends(推奨)
-
機能を最大限に活用するために推奨される依存関係です。
必須ではありませんが、標準的な使い方をするなら一緒にインストールすることが推奨されるパッケージです。(※Ubuntuのデフォルト設定では、こちらも一緒にインストールされます) - Suggests(提案・関連)
-
機能を拡張したり、より便利に使ったりするために提案されるパッケージです。
デフォルトではインストールされません。必ずインストールする必要はありません。 - Conflicts(衝突)
-
該当のパッケージと競合するため、どちらか片方のみしかインストールできません。
該当のパッケージをインストールすると、Conflictsしているパッケージは削除されます。 - Replaces(置き換え)
- 該当のパッケージが、指定された別のパッケージのファイルを上書き(置き換え)できることを示します。
- Breaks(拒否・破壊)
- 一緒にインストールすると、指定されたパッケージの動作を壊してしまう(正常に動作しなくなる)関係です。そのため、同時インストールは拒否されます。
- Provides(提供)
-
該当のパッケージが、別の仮想パッケージとしての機能やファイルを提供していることを示します。
インストールすると該当するパッケージの機能も利用できるようになります。
それぞれの関係性についてのより詳しい説明は、公式のドキュメントも参考にしてください。
https://www.debian.org/doc/manuals/debian-faq/pkg-basics.ja.html#depends
実際の表示例
実際に「zip」と「tar」のパッケージについて、依存関係を表示させてみます。
$ apt depends zip zip Depends: libbz2-1.0 Depends: libc6 (>= 2.34) Recommends: unzip
$ apt depends tar tar PreDepends: libacl1 (>= 2.2.23) PreDepends: libc6 (>= 2.34) PreDepends: libselinux1 (>= 3.1~) Conflicts: cpio (<= 2.4.2-38) Breaks: dpkg-dev (<< 1.14.26) Suggests: bzip2 Suggests: ncompress Suggests: xz-utils Suggests: tar-scripts Suggests: tar-doc Replaces: cpio (<< 2.4.2-39)


コメント