Utilizando o equery
Fevereiro 15th, 2006 por angusyoungNosso amigo Helder Ribas colaborou com esse ótimo artigo na utilizacão do equery para administracão do Portage e seus pacotes. Obrigado Ribas, pelo conteúdo.
"Uma das coisas mais importantes é saber gerenciar bem os pacotes instalados, conseguir resolver dependência e as vezes apagar um pacote que esteja atrapalhando o update do sistema, mas sempre volta por que existe um aplicativo que tem ele como dependência e a pessoa não sabe qual é o arquivo."
Bem, esse artigo serve para esclarecer algumas dúvidas sobre isso.
Um pacote importante para essa tarefa é o gentoolkit, esse pacote foi pacote foi escrito especialmente para facilitar o gerenciamento dos pacotes do gentoo.
Com esse pacote é possível descobrir as dependências do pacote e descobrir os pacotes que dependem do dito cujo, as opções do USE, refazer automaticamente dependência quebradas.
A ferramenta que eu mais curto no gentoolkit é o equery, que pode ser considerado um verdadeiro canivete suíço do portage. Ele é útil demais.
Uma coisa bacana dele é mostrar as dependência reversas, ou seja, quais pacotes dependem de um pacote específico, o que auxilia na hora de remover alguns pacotes chatos que vivem teimando em voltar.
equery depends
nazgul ~ # equery depends mozilla
[ Searching for packages depending on mozilla... ]
dev-util/devhelp-0.10
app-misc/beagle-0.1.1
gnome-extra/yelp-2.12.2
www-client/epiphany-1.8.3
dev-dotnet/gecko-sharp-0.11
dev-python/gnome-python-extras-2.12.0
Mas se quisessemos saber de qual pacote pertence um arquivo(ou aplicativo), por exemplo, de onde vem o startx, a opção no caso seria "belongs".
equery belongs
nazgul ~ # equery belongs startx
[ Searching for file(s) startx in *... ]
x11-base/xorg-x11-6.8.99.15-r4 (/usr/bin/startx)
Mas se a intenção é diferente, quer descobrir quais arquivos fazem parte de um pacote, a opção seria "files".
equery files
nazgul ~ # equery files gentoolkit
[ Searching for packages matching gentoolkit... ]
* Contents of app-portage/gentoolkit-0.2.1:
/etc
/etc/eclean
/etc/eclean/distfiles.exclude
/etc/eclean/packages.exclude
/etc/revdep-rebuild
/etc/revdep-rebuild/99revdep-rebuild
...
Descobrir toda a arvore de dependência de um pacote também é simples com o equery, com a opção "depgraph" é possível ver todas as dependência de um pacote.
equery depgraph
nazgul ~ # equery depgraph baselayout
[ Searching for packages matching baselayout... ]
* dependency graph for sys-apps/baselayout-1.12.0_pre15-r1
`-- sys-apps/baselayout-1.12.0_pre15-r1
`-- sys-apps/sysvinit-2.86-r3
`-- sys-kernel/linux-headers-2.6.11-r2 (virtual/os-headers)
`-- sys-devel/patch-2.5.9 [ !bootstrap ]
`-- sys-libs/readline-5.0-r2 [ !build !bootstrap ]
`-- sys-libs/ncurses-5.4-r6
`-- sys-libs/gpm-1.20.1-r4 [ gpm ]
`-- app-shells/bash-3.0-r12
`-- sys-apps/coreutils-5.2.1-r7 [ !build !bootstrap ]
`-- sys-devel/gettext-0.14.4 [ nls ]
`-- sys-libs/glibc-2.3.5-r2
`-- sys-devel/gcc-3.4.4-r1
`-- sys-devel/gcc-config-1.3.12-r6
`-- sys-libs/zlib-1.2.3
...
Outra coisa importante para se descobrir com o equery são as flags do USE de cada pacote, a opção no caso é "uses".
equery uses
nazgul ~ # equery uses gnome
[ Searching for packages matching gnome... ]
[ Colour Code : set unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for gnome-base/gnome-2.12.2 ]
U I
- - accessibility : Adds support for accessibility (eg 'at-spi' library)
+ + cdr : Adds support for CD writer hardware
+ + dvdr : Adds support for DVD writer hardware (e.g. in xcdroast)
+ + hal : Enable Hardware Abstraction Layer (HAL) support
Espero que tenham gostado da dica.
Postado em Dicas | | Enviar para o Rec6
Dezembro 31st, 1969 at 16:00
Legal o seu artigo, parabéns. Gostaria de deixar uma nota ao "portage-utils", que possui um utilitário chamado "q", escrito em c, que possui vários módulos que fazem ainda mais que o equery.
Dezembro 31st, 1969 at 16:00
Meu caro, um ótimo primeiro artigo.
Continue sempre assim!
Abraços.
Chronos.