Apt-cache: Comment lister tous les packages installés avec le numéro de version?

51

apt-cache dump --installed ne fonctionne pas, il répertorie également les packages désinstallés.

Je veux lister les packages d'installation chacun par une ligne, avec le numéro de version installé.

Xiè Jìléi
la source
3
bug # 775771 restreindre les résultats de la recherche d'apt-cache aux paquets installés
bartolo-otrit

Réponses:

53

essayer dpkg -l

il vous liste les paquets, la version et une courte description.

kev
la source
1
J'aime aussi apt-show-versionscar ça montre aussi lequel on est uptotdate.
Malat
37

Le moyen le plus simple consiste à utiliser dpkg, mais il peut afficher quelques packages superflus et tronquer les noms de package longs et les numéros de version:

dpkg -l

Pour lister uniquement les packages correctement installés et ne pas tronquer les noms:

dpkg -l | grep '^ii'

Pour avoir plus de contrôle sur le format de sortie, vous pouvez utiliser dpkg-query:

dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'
Gilles, arrête de faire le mal
la source
13

Une autre commande peut être:

apt-show-versions

Il vous donne également des informations sur l'état du paquet (à jour, pouvant être mis à niveau, ...) et sur la distribution de l'origine (Wheezy, jessie, ...). On peut facilement filtrer les paquets provenant de backports ou d’autres dépôts exotiques.

Ce programme est emballé séparément. Installez-le d'abord avec:

apt-get install apt-show-versions
SkyRaT
la source
C'est vraiment bien car cela montre la version à laquelle un paquet peut être mis à jour. +1
Randall Cook
combiné à apt-mark showmanualcela, vous obtenez un moyen simple et agréable de récupérer les versions de tous les paquets installés manuellement. Voir aussi la réponse Askubuntu apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
Gregor
4

La commande suivante répertorie les packages avec leurs versions et vous permet en outre de configurer un système avec les mêmes packages et versions ultérieurement, à l'aide du pkg-selections.txtfichier généré ici:

aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt

Chaque ligne contiendra le nom du paquet, sa version et un "A" optionnel si le paquet a été installé automatiquement.

Source: " Cloner un système Debian - Paquets et versions identiques ". Contient également le script qui configure un système à partir de pkg-selections.txt.

Tanius
la source
4

Pour lister les noms de chaque paquet installé, tapez comme n'importe quel utilisateur:

dpkg --get-selections

Vous obtiendrez une sortie comme celle-ci:

accountsservice              install
aclinstall                   install
acpi-supportinstall          install
acpidinstall                 install
...

Pour supprimer la chaîne de caractères "install" non nécessaire, vous pouvez utiliser sed :

dpkg --get-selections | sed 's:install$::'

Et si vous voulez l'enregistrer dans un fichier appelé InstalledPackages , vous tapez ceci:

dpkg --get-selections | sed 's:install$::' > InstalledPackages
Rémi G.
la source
1

Si vous n'avez pas accès au système actif et que vous disposez d'une sauvegarde de la /partition racine , vous pouvez:

root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app

Maintenant, cela /root/installed_appcontient tous les paquets installés!

sasha2002
la source