Verificando dependências deb em relação ao sistema atual

3

Eu sei que posso listar as dependências do .deb usando dpkg --info , mas existe alguma maneira automatizada de verificar essas dependências em relação ao sistema atual? Em que estou interessado, o status: se o pacote será instalado corretamente ou se falhará.

    
por viraptor 29.07.2010 / 15:57

2 respostas

1

De acordo com o manual: dpkg -i --force-bad-path --dry-run foo.deb . No entanto, isso não funciona, um bug foi enviado sobre isso há 10 anos .

Existe uma opção correspondente em apt-get e aptitude , mas isso só se aplica a pacotes obtidos via apt.

    
por 04.08.2010 / 20:45
0

Aqui está uma maneira muito trabalhosa, mas funciona, mais ou menos.

Verifique se você não é root ou corre o risco de substituir alguns arquivos do sistema.
Crie um diretório temporário e mude para ele.

mkdir root
cp -as /var/lib/dpkg .
rm dpkg/lock dpkg/triggers/Lock
fakeroot dpkg --force-not-root --force-bad-path --admindir=dpkg --instdir=root --log=log -i mypackage.deb

Isto irá descompactar o pacote e depois reclamar sobre quaisquer dependências ausentes no stderr. É provável que retorne um status diferente de zero mesmo se não houver dependências ausentes devido a um script postinst com falha.

Eu não tentei com um pacote que tem um script preinst , é possível que dpkg desista antes de verificar as dependências.

    
por 06.08.2010 / 00:10