다른 포트에 의존하는 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

관련 정보