J'utilise arch linux.
Existe-t-il un moyen de répertorier les dépendances facultatives de tous les packages installés? Et si oui, puis-je filtrer cette liste pour ne voir que les packages manquants (non installés)?
arch-linux
pacman
vonPetrushev
la source
la source
pacman -Qi | grep "Optional Deps" | grep -v None | grep -v installed
Réponses:
Vous pouvez utiliser expac pour interroger la
pacman
base de données.Quelque chose comme:
imprimera une liste de tous les packages installés sur votre machine et le
optdepends
pour chacun (%O
) 1 dans un fichier appeléoptdeps
. Vous pouvez ensuite trier cela par rapport à une liste de packages optdepends installés.Voir
man expac
pour la liste complète des options.1. C'est un O majuscule, pas un zéro. Parce que nous ne pouvons pas avoir une police qui distingue les deux ...
la source
Il y a un bel utilitaire dans le référentiel AUR (aur / pacdep).
pacdep a beaucoup d'options - juste un exemple - découvrez les paquets optionnels pour "thunar-archive-plugin":
La sortie ci-dessus signifie qu'aucun des packages optionnels n'est installé. Après avoir installé "xarchiver", la sortie ressemble à
J'ai trouvé (la première partie de) cette réponse sur
http://mywaytoarch.tumblr.com/post/34979742718/easily-list-package-dependencies
la source
Ce n'est pas exactement efficace, mais vous trouverez ce que vous voulez (en COULEUR!):
la source
||
plutôt&&
qu'après legrep
, puis entre parenthèses autour du reste de la ligne?pacman -Qi xmms2 | sed -n '/^Optional/,$p' | sed '/^Required/q' | head -n -1 | cut -c19- | cut -d: -f1
Bien que j'ai dû remarquer que la solution de @ DarkHeart ne fonctionne pas vraiment, cela m'a inspiré pour en faire une qui fonctionne. (pas de couleurs cependant)
J'utilise package-query , un outil similaire au lieu d'expac qui a été suggéré par @jasonwryan, car je l'ai déjà installé (c'est une dépendance de yaourt). Il devrait être trivial de changer cela pour utiliser à la place expac.
La liste de toutes les dépendances facultatives est principalement effectuée par l'appel à package-query. La première boucle for supprime les explications, il ne reste donc que les noms de package pour les dépendances facultatives; la seconde boucle for supprime les dépendances déjà installées dans sa première ligne avant d'imprimer les résultats dans la seconde.
la source
Cela devrait faire l'affaire:
Première entrée pour
comm
répertorier toutes les dépendances facultatives, deuxième entrée tous les packages installés et leurs attributs «fournir». Les deux listes sont triées et contiennent chaque élément une seule fois en raison desort -u
. Ensuite, seules les lignes affichées sont contenues dans la première mais pas dans la seconde liste.(modifié pour intégrer la suggestion de @ Archemar)
la source
Parfois, vous devez travailler en arrière ... trouvez d'abord toutes les dépendances non facultatives, puis faites une référence croisée avec la liste complète, puis utilisez uniq. Cela va générer une liste des dépendances installées en option.
Trouver tous installés
Trouver tous non facultatifs:
Les entrées uniques doivent donc être facultatives:
Générer la liste des options facultatives manquantes dépend des descriptions, pas joli, mais ça marche.
la source
J'ai essayé seulement dans GNU sed mais
cela a fonctionné (utilisez sort / uniq comme vous le souhaitez).
la source