パッケージのビルド依存関係を見つけるにはどうすればよいですか?


48

どのパッケージを見つけたいのですが

sudo apt-get build-dep <package>

インストールされます(既にいくつかの依存関係がインストールされている場合は、それらも確認したい→そのため、上記の実行やシミュレーションでは不十分です)。コマンドラインが望ましい。


1
私は混乱していsudo apt-get build-dep <package>ますが、パッケージのリストを表示しません(パッケージにビルドの依存関係がある場合)、インストールしますか?
イザヤ

1
残念ながら、インストールされていないパッケージのみが表示されます。
htorque

回答:


45

依存関係の依存関係を含む依存関係の完全なリストについては、次を使用できます。

apt-rdepends --build-depends openoffice.org

コマンドにより、apt-rdepends最初にインストールするように通知される場合があります。

次のコマンドを使用して、インストールされていないもののみを表示できます。

apt-rdepends --build-depends --print-state openoffice.org | grep NotInstalled

apt-rdepends --helpすべてのオプションを参照してください。

:これにより、大量のリストが生成されます。
apt-rdepends -b xtermたとえば、8773行の出力を生成し、それを行うのに時間がかかります。

最上位のパッケージをビルドするために必要なパッケージ、つまりnautilusをビルドするために何をインストールする必要があるかだけを見たい場合は、次を実行します。

apt-rdepends --build-depends --follow=DEPENDS nautilus

これはCarsten Thielの回答The following NEW packages will be installed)とほぼ同等ですが、出力形式は少し良くなっています。また、最上位のパッケージのみが表示されますが、シミュレートされたapt-getは、それらの依存関係としてインストールされたパッケージも表示します。

これには、インストールされているパッケージも表示されます。ただし、デフォルトでインストールされるパッケージも表示される場合があります。残念ながら、apt-get build-depを実行した後にシステムをクリーンアップしようとする場合、どちらの方法も大いに役立ちます。私が知る限り、のaptログファイルを見る以外に、インストールされたものを見つける信頼できる方法はありません/var/log/apt/history.log


1
おかげで、バージョン--follow=DEPENDSはまさに私が探していたものです。また、Launchpadでこれらのビルドの依存関係を見つけることもできます。Nautilusの場合:launchpad.net/ubuntu/natty/+source/nautilus(スクロールダウン)。
htorque

17

オプション-s--simulate)は、何もせずに行われるすべてを出力します。そのためにroot権限さえ必要ありません。

apt-get -s build-dep <package>

6
上記の私のコメントを参照してください-これは既にインストールされているパッケージを表示しません。私の質問が正確でないことを申し訳ありません。
-htorque

動作しない-と失敗するE: Unable to find a source package for inkscape
アナトリーテクトニック

17
apt-cache showsrc <pkgname> | grep ^Build-Depends

showsrc指定されたソースパッケージのdebian / controlファイルを表示します。次に、ソースからビルドするのに必要なパッケージのリストを含む「Build-Depends」で始まる行をgrepします。


何をapt-cache showsrc、何をするのかを説明すれば+1 | grep。それでも、良い答えです。提供してくれてありがとう。
MadMike 14

sudo apt-cache showsrc inkscapeinkscapeUbuntu 18.10では機能しません-与えるW: Unable to locate package inkscape N: No packages found
anatoly techtonik

@anatolytechtonikは、DockerのUbuntu 18.10でテストしたばかりで、私にとってはうまくいきます。あなたがしたapt-get update最初の?
ステファン・グーリチョン

これは必要なツールを提供し、余分なパッケージを必要としないため、受け入れられた答えである必要があります。
ステファン・グーリチョン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.