Encontre portas do FreeBSD que dependem de outra porta

6

Eu tenho um servidor FreeBSD sem cabeçalho, onde algumas portas instalaram toneladas de pacotes relacionados ao X11. Eu gostaria de descobrir quais são essas portas para que eu possa me livrar dos pacotes indesejados relacionados ao X. Existe uma maneira de descobrir isso?

    
por Chinmay Kanchi 06.08.2011 / 14:48

3 respostas

7

A resposta atual aceita está desatualizada. O FreeBSD substituiu suas ferramentas de empacotamento herdadas pelo pkgng .

Aqui está a nova maneira de consultar as dependências reversas de um pacote:

pkg info -r <pkg name>

Exemplo:

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
    
por 09.03.2014 / 22:44
4

pkg_info responde a perguntas como esta. Com a opção -R , ele espera o nome de uma porta instalada e exibirá todas as portas que dependem dessa porta:

pkg_info -R libXfont-1.4.3,1

Você pode usar curingas para evitar especificar o nome com o número da versão:

pkg_info -R libXfont-\*

Observe que isso não funciona de forma recursiva e, portanto, você precisa fazer pkg_info -R novamente para cada porta na lista resultante até chegar ao fim das coisas.

Observe que nos servidores geralmente é uma boa ideia colocar o seguinte em /etc/make.conf :

WITHOUT_X11=yes

Isso fará com que a maioria das portas (todas?) pule as dependências para qualquer coisa relacionada ao X11.

    
por 06.08.2011 / 18:17
0

Embora a resposta aceita esteja correta, há uma variante mais robusta e rica em recursos que pode oferecer mais flexibilidade:

# 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

Isso lhe daria dependências reversas para as portas instaladas localmente. Em alguns casos, você pode querer listar TODAS as dependências existentes nessa porta; nesse caso, pkg rquery pode fornecer essas informações:

# pkg rquery %ro python27|wc -l
    3758

Por favor, consulte man pkg-query para a lista completa dos possíveis sinalizadores de consulta, que devem funcionar para pkg-rquery também.

    
por 18.08.2018 / 01:30