Comment puis-je vérifier la liste des dépendances pour un paquet deb

72

Comment puis-je vérifier la liste des dépendances pour un paquet deb. Je cours Ubuntu 11.10 et j'ai sauvegardé tous les paquets deb de var/cache/apt/archives . Je souhaite formater mon PC et réinstaller uniquement les applications sélectionnées. Comment puis-je obtenir la liste des paquets et dépendances installés?

    
posée Vikramjeet 19.11.2011 - 08:55
la source

4 réponses

53

Outre la méthode dpkg , vous pouvez vérifier les dépendances des packages dans le référentiel:

apt-cache depends package-name

MODIFIER Mise à jour avec la recommandation de @ Tino. Le commentaire de @ Tigran ne s'applique plus.

    
réponse donnée Oxwivi 19.11.2011 - 09:16
la source
82

Cela vous montrera toutes les informations sur le paquet:

dpkg -I package.deb
    
réponse donnée htorque 19.11.2011 - 09:03
la source
2

apt-cache depends [Package-Name] fonctionnera aussi bien. Bien que si vous générez le package .deb en dehors de votre liste de sources, des choses comme apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name] peut afficher des informations obsolètes ou ne pas se synchroniser avec le package installé réel dpkg -I [Package-Name] fonctionnerait mieux dans ce cas.

    
réponse donnée Mziyabo Singwango 26.02.2017 - 16:58
la source
0

Voici un post-traitement bâclé et probablement pas très complexe que vous pouvez faire avec dpkg -I output pour obtenir des éléments de dépendance sous forme de liste:

Condensé pour les ordinateurs

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

Développé pour les humains:

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(',')
    ])
"
    
réponse donnée ThorSummoner 11.05.2015 - 20:43
la source

Lire d'autres questions sur les étiquettes