
Estou trabalhando para reduzir um sistema à menor quantidade de arquivos, pacotes, etc. necessários para fornecer a funcionalidade que desejo.
Estou descobrindo que muitos pacotes que gostaria de manter têm dependências de pacotes que são completamente desnecessários e/ou indesejados para a distribuição que estou construindo, além do fato de serem dependências.
Eu sei que posso extrair o código-fonte de cada pacote, compilar uma lista de funções da dependência indesejada, verificar a fonte do pacote que desejo manter para saber onde essas funções são chamadas (se houver) e retirar a biblioteca para apenas essa função e possivelmente sua API, ou qualquer outra coisa necessária para entregar essa funcionalidade ao pacote que eu gostaria de manter.
Eu já fiz isso,uma vezpara ver se era possível. Isso é. No entanto, é demorado, tedioso e dificilmente candidato à automação.
Existe uma opção que não consegui encontrar dpkg
ou um programa que escapou das minhas habilidades de pesquisa (reconhecidamente não surpreendentes) para alcançar o efeito desejado?
Responder1
deborphan
tenta resolver este problema.
aptitude
faz isso para você nos bastidores, monitorando quais pacotes podem ser removidos porque foram extraídos apenas para satisfazer uma dependência de um pacote que não está mais instalado.
debfoster
anuncia funcionalidade semelhante, mas não tenho experiência prática com isso.
Todos funcionam no nível do pacote e usam as dependências declaradas no dpkg
banco de dados do. Sua pergunta parece sugerir que você deseja eliminar pacotes individuais para remover código e outros recursos desnecessários. Esta é uma tarefa significativamente mais complexa e exigente; Não imagino que exista nada direto para resolver esse problema.