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

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

一部のポートには、X11 関連パッケージが多数インストールされたヘッドレス FreeBSD サーバーがあります。不要なX関連パッケージを削除できるように、これらのポートが何であるかを知りたいです。この問題を解決する方法はありますか?

答え1

現在許可されている回答が古くなっています。 FreeBSDは、レガシーパッケージングツールを次に置き換えました。包装袋

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

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

答え2

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に関連するすべてに依存してほとんどの(すべての?)ポートをスキップできます。

答え3

許可された答えは正確ですが、より柔軟性を提供するより強力で機能豊富なバリエーションがあります。

# 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

関連情報