Apt / Aptitude: como filtrar pacotes impossíveis de instalar?

4

Especialmente quando executando o Sid, existem muitos pacotes que se tornam não instaláveis, já que as dependências mudam as versões ABI, ou as próprias dependências podem ter sido descartadas. Seria bom saber como filtrar esses pacotes para que um possível mantenedor possa verificar quais pacotes problemáticos existem no repositório.

Até agora eu criei:

#!/bin/sh
apt-cache pkgnames|xargs apt-get -s install\
|sed "/ : /h;/installable/{x;/ .* :/{s/ \(.*\) :.*//;b}};d" | sort

Ele não marca recursivamente os pacotes que dependem do pacote "não vai ser instalado" X, onde X é o pacote que está marcado porque uma das dependências é "não instalável". Por exemplo, no seguinte:

foo : Depends on bar but not going to be installed
bar : Depends on baz but not installable

bar será marcado, mas foo não. E eu não deveria apenas marcar todos os pacotes que tem a linha "não vai ser instalada" porque pode ser bar é um pacote que existe, mas quebra outro pacote instalado.

    
por syockit 08.06.2011 / 20:25

1 resposta

1

Supondo que você saiba Python, e se você não sabe hoje é um bom dia para começar ... a documentação para as ligações do apt python tem um exemplo trabalhado que é relevante, embora possa não ser uma solução completa.

apt-get install python-apt python-apt-doc

e olhe para /usr/share/doc/python-apt-doc/examples/missing-deps.py . Estou usando o Debian squeeze.

Eu apenas tentei

python missing-deps.py

e produz uma pequena lista de pacotes. Meu entendimento deste script é que ele produz uma lista de pacotes que atualmente são desinstaláveis no Debian main. No entanto, eu não tenho uma instalação instável do Debian no momento para testá-la.

    
por 11.06.2011 / 21:23

Tags