Como posso verificar a lista de dependências de um pacote deb?

68

Como posso verificar a lista de dependências de um pacote deb. Estou executando o Ubuntu 11.10 e copiei todos os pacotes deb de var/cache/apt/archives . Quero formatar meu pc e reinstalar apenas aplicativos selecionados. Também como posso obter a lista de pacotes e dependências instalados.

    
por Vikramjeet 19.11.2011 / 08:55

4 respostas

50

Além do método dpkg , você pode verificar as dependências dos pacotes no repositório:

apt-cache depends package-name

EDITAR Atualizado com a recomendação do @ Tino. @ Comentário de Tigran não se aplica mais.

    
por Oxwivi 19.11.2011 / 09:16
78

Isso mostrará todas as informações sobre o pacote:

dpkg -I package.deb
    
por htorque 19.11.2011 / 09:03
2

apt-cache depends [Package-Name] também funcionará. Embora se você originar o pacote .deb fora da sua lista de fontes, coisas como apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name] pode mostrar informações desatualizadas ou pode não ser sincronizado com o pacote instalado dpkg -I [Package-Name] funcionaria melhor nesse caso.

    
por Mziyabo Singwango 26.02.2017 / 16:58
0

Aqui estão alguns pós-processamentos desleixados e provavelmente não muito abrangentes que você pode fazer para dpkg -I output para obter itens de dependência como uma lista:

Condensado para computadores

# dpkg -I package.deb | python -c "import sys, re; t=re.split(r'\n(?= ?[\w]+:)|:', sys.stdin.read()); print '\n'.join([i.strip() for i in {key.strip(): value.strip() for key, value in zip(t[::2], t[1::2])}['Depends'].split(',')])"
#

Expandido para humanos:

dpkg -I package.deb | python -c "
    import sys, re;
    # Split keys and values into pairs (zipped together later)
    t=re.split(
        r'\n(?= ?[\w]+:)|:', 
        sys.stdin.read()
    ); 
    # Newline separate each dependency
    print '\n'.join([
        # Trim each dependency value
        i.strip() for i in {
            # Build assoc array from package metadata
            key.strip(): value.strip() 
            for key, value in zip(t[::2], t[1::2])
        }['Depends'].split(',')
    ])
"
    
por ThorSummoner 11.05.2015 / 20:43