Comment puis-je vérifier la liste de dépendance pour un paquet deb. J'utilise Ubuntu 11.10 et j'ai sauvegardé tous les paquets deb de var/cache/apt/archives
. Je souhaite formater mon ordinateur et réinstaller uniquement les applications sélectionnées. Aussi, comment puis-je obtenir la liste des packages installés et des dépendances.
Outre la méthode dpkg
, vous pouvez vérifier les dépendances des packages dans le référentiel:
apt-cache depends package-name
EDIT Mis à jour avec la recommandation de @ Tino. Le commentaire de @ Tigran ne s'applique plus.
Cela vous montrera toutes les informations sur le paquet:
dpkg -I package.deb
apt-cache depends [Package-Name]
fonctionnera également. Bien que si vous sourcez le package .deb
en dehors de votre liste de sources, des éléments tels que apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name]
pourraient afficher des informations obsolètes ou ne pas être synchronisés avec le package réellement installé. Par conséquent, dpkg -I [Package-Name]
fonctionnerait mieux dans ce cas.
dpkg
n'a plus le -I
et vous devez utiliser dpkg-deb
pour afficher les informations sur le paquet, y compris les dépendances:
dpkg-deb -I package.deb
Pour une version de package spécifique:
apt-cache show <package_name>=<version>
Pour trouver les versions disponibles: Comment puis-je vérifier la version disponible d'un paquet dans les référentiels?
Voici un peu de post-traitement bâclé, et probablement pas très englobant, que vous pouvez appliquer à la sortie dpkg -I
pour obtenir les éléments de dépendance sous forme de liste:
Condensé pour 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(',')
])
"