Je suis très nouveau sur ubuntu et j'essaie de trouver une commande qui indique quels paquets et quelles versions sont installés sur mon "sandbox" Je cherche à regrouper cela dans un fichier de sortie
Réponses
Trop de publicités?Il se peut que votre question soit marquée comme un doublon, car vous êtes censé faire vos propres recherches avant de poster sur les sites StackExchange. Mais, parce que l'éventuel doublon ( Comment dresser la liste de tous les paquets installés ? ) n'aborde pas les informations relatives à la version, voici votre réponse :
dpkg -l | grep "^ii" | awk '{print $2,$3}'
ou
dpkg -l | awk '/^ii/ {print $2,$3}'
Décodé :
dpkg -l
liste tous les paquets, y compris ceux qui ont été supprimés.
grep "^ii"
n'imprime que les lignes commençant par "ii" (pour exclure les paquets qui ont été supprimés, généralement marqués "rc"). Notez que les paquets installés ne sont pas toujours dans l'état "ii". Cette commande vérifiera : dpkg -l | grep -v "^ii" | grep -v "^rc" | tail -n +6
awk '{print $2,$3}'
imprime les deuxième et troisième colonnes (nom du paquet et version, respectivement).
p.s. J'ai déjà écrit quelques commentaires à ce sujet, mais mon code était erroné.
Bien que la sélection de champs à partir de la sortie de dpkg -l
La méthode d'évaluation de la qualité de l'eau est certainement efficace, mais les dpkg-query
permet de personnaliser les champs et le format de sortie sans avoir recours à des outils de traitement de texte supplémentaires. Il se trouve qu'un
dpkg-query -W
sans chaîne de format explicite donne exactement une liste de noms et de versions de paquets séparés par des tabulations (équivalent à dpkg -l | awk '{print $2,$3}'
), comme indiqué dans le document man dpkg-query
:
-W, --show [package-name-pattern...]
Just like the --list option this will list all packages matching
the given pattern. However the output can be customized using
the --showformat option. The default output format gives one
line per matching package, each line having the name (extended
with the architecture qualifier for Multi-Arch same packages)
and installed version of the package, separated by a tab.
Si vous souhaitez obtenir un résultat plus joli, plus proche de celui de dpkg -l
vous pourriez utiliser quelque chose comme
dpkg-query -W -f='${binary:Package;-25}\t${Version}\n'
pour justifier à gauche les noms des paquets dans un champ de 25 colonnes, ou
dpkg-query -W -f='${db:status-abbrev}\t${binary:Package;-25}\t${Version}\n'
pour inclure le ii
etc. au début de chaque ligne.