web-dev-qa-db-ja.com

別のポートに依存するFreeBSDポートを探す

私はヘッドレスのFreeBSDサーバーを持っており、いくつかのポートに大量のX11関連のパッケージがインストールされています。不要なX関連のパッケージを取り除くことができるように、これらのポートが何であるかを知りたいと思います。これを理解する方法はありますか?

6
Chinmay Kanchi

現在受け入れられている回答は古くなっています。 FreeBSDは、従来のパッケージツールを pkgng に置き換えました。

パッケージの逆依存関係を照会する新しい方法は次のとおりです。

pkg info -r <pkg name>

例:

root@server:/usr/ports # pkg info -r python27
python27-2.7.6_4:
        python2-2_2
        talloc-2.0.8
        tevent-0.9.18
        tdb-1.2.12,1
        ldb-1.1.16
        glib-2.36.3_2
        xcb-proto-1.9
        gobject-introspection-1.36.0_2
        samba4-4.0.13
7
Kaypro II

pkg_infoはこのような質問に答えます。 -Rオプションを使用すると、インストールされているポートの名前が必要であり、そのポートに依存するすべてのポートが表示されます。

pkg_info -R libXfont-1.4.3,1

ワイルドカードを使用して、バージョン番号で名前を指定しないようにすることができます。

pkg_info -R libXfont-\*

これは再帰的には機能しないため、結果のリストの各ポートに対して、最後までpkg_info -Rを再度実行する必要があることに注意してください。

サーバーでは、/etc/make.confに次のように入力することをお勧めします。

WITHOUT_X11=yes

これにより、ほとんど(すべて?)のポートがX11関連のものへの依存関係をスキップするようになります。

4
snap

受け入れられた答えは正しいですが、より柔軟性を提供できる、より堅牢で機能豊富なバリアントがあります。

# pkg query %ro python27
misc/mc
devel/talloc
lang/python2
lang/python
devel/git
devel/tevent
databases/tdb
devel/py-setuptools
dns/py-dnspython
devel/py-iso8601
net/samba48

これにより、ローカルにインストールされたポートの依存関係が逆になります。場合によっては、そのポートの既存の依存関係をすべて一覧表示したいことがあります。その場合、pkg rqueryはその情報を提供できます。

# pkg rquery %ro python27|wc -l
    3758

可能なクエリフラグの完全なリストについては、man pkg-queryを参照してください。これらはpkg-rqueryでも機能するはずです。

0
Timur Bakeyev