일부 포트에 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