一部のポートには、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