¿Cómo puedo verificar la lista de dependencias para un paquete Deb

73

¿Cómo puedo consultar la lista de dependencias de un paquete Deb? Estoy ejecutando Ubuntu 11.10 y he hecho una copia de seguridad de todos los paquetes deb de var/cache/apt/archives . Quiero formatear mi PC y reinstalar solo las aplicaciones seleccionadas. Además, ¿cómo puedo obtener la lista de paquetes instalados y dependencias?

    
pregunta Vikramjeet 19.11.2011 - 08:55

4 respuestas

53

Además del método dpkg , puede verificar las dependencias de los paquetes en el repositorio:

apt-cache depends package-name

EDITAR Actualizado con la recomendación de @Tino. El comentario de @Tigran ya no se aplica.

    
respondido por el Oxwivi 19.11.2011 - 09:16
83

Esto le mostrará toda la información sobre el paquete:

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

apt-cache depends [Package-Name] también funcionará. Aunque si usted obtiene el paquete .deb de fuera de su lista de fuentes, cosas como apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name] podría mostrar información obsoleta o podría no sincronizarse con el paquete instalado real, por lo tanto, dpkg -I [Package-Name] funcionaría mejor en ese caso.

    
respondido por el Mziyabo Singwango 26.02.2017 - 16:58
0

Aquí hay un postprocesamiento descuidado, y probablemente no muy abarcativo, que puede hacer para dpkg -I de salida para obtener elementos de dependencia como una lista:

Condensado para computadoras

# 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(',')])"
#

Ampliado 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(',')
    ])
"
    
respondido por el ThorSummoner 11.05.2015 - 20:43

Lea otras preguntas en las etiquetas