Apt-cache pour les paquets installés

Bonjour

Quand j’utilise synaptic et que je fais une recherche par exemple monpaquet, parmi les résultats obtenus, je vois rapidement ceux qui sont installés (ou non).

Y a-t-il une possibilité de faire la même chose en console?
C’est-à-dire comme apt-cache monpaquet mais que la recherche se fasse que parmi mes paquets installés.

merci

Bonjour
Tu peux par exemple faire comme ça, si tu cherches firefox :

apt list --installed | grep firefox

Le grep n’est pas nécessaire pour apt.

apt list -i '*paquet*'
dpkg -l '*paquet*' | grep '^ii'

Merci beaucoup
Effectivement avec installed mais je cherchais à le faire avec cache!

Note aux utilisateurs zsh/bash, pour éviter les surprises:
‹ * › n’est pas interprété de la même manière par le shell et la commande apt ou dpkg.

exemple en zsh:

$ apt list -i *vlc*
  zsh: no match

et fonctionne en bash, bien que devrait plutôt refuser la confusion.
La bonne habitude est de systématiquement quoter les * pour ces commandes.

$ apt list -i '*vlc*'

Ceci dit quand on fait un simple
apt search <paquet>
le résultat donne en bout de ligne s’il est installé:

~# apt search haproxy
En train de trier... Fait
Recherche en texte intégral... Fait
go-mmproxy/stable 2.1-1+b6 amd64
  Golang implementation of mmproxy

golang-github-armon-go-proxyproto-dev/stable 0.0~git20190211.68259f7-2 all
  Golang package to handle HAProxy Proxy Protocol

golang-github-pires-go-proxyproto-dev/stable 0.4.2-3 all
  golang library of PROXY protocol for v1 and v2

haproxy/stable,now 2.6.12-1 amd64  [installé]
  fast and reliable load balancing reverse proxy

haproxy-doc/stable 2.6.12-1 all
  fast and reliable load balancing reverse proxy (HTML documentation)

haproxy-log-analysis/stable,now 2.0~b0-4 all  **[installé]**
  analyse the HTTP logs generated by HAProxy

haproxyctl/now 1.4.3-1 all  **[installé, local]**
  Utility to manage HAProxy

hatop/stable,now 0.8.2-1 all  **[installé]**
  client interactif en ncurses pour haproxy

libghc-io-streams-haproxy-dev/stable 1.0.1.0-4+b2 amd64
  HAProxy protocol 1.5 support for io-streams

libghc-io-streams-haproxy-doc/stable 1.0.1.0-4 all
  HAProxy protocol 1.5 support for io-streams; documentation

libghc-io-streams-haproxy-prof/stable 1.0.1.0-4+b2 amd64
  HAProxy protocol 1.5 support for io-streams; profiling libraries

libprotocol-websocket-perl/stable 0.26-3 all
  Perl library that implements WebSocket protocol

monitoring-plugins-contrib/stable 42.20230308 amd64
  Plugins for nagios compatible monitoring systems

postgresql-15-bgw-replstatus/stable 1.0.6-3+b1 amd64
  report whether PostgreSQL node is master or standby

prometheus-haproxy-exporter/stable 0.14.0-1+b5 amd64
  HAProxy exporter for Prometheus

puppet-module-puppetlabs-haproxy/stable 2.1.0-5 all
  Puppet module for HAProxy

python3-haproxy-log-analysis/stable,now 2.0~b0-4 all  **[installé]**
  generate aggregate statistics from HAProxy HTTP logs (Python 3)

vim-haproxy/stable,now 2.6.12-1 all  **[installé, automatique]**
  coloration syntaxique pour les fichiers de configuration d’HAProxy

en, prime on sait si l’installation est automatique ou locale

apt est 10 fois plus lent que dpkg, et a même le temps d’afficher ‹ En train de lister… ›, dont on se passerait bien. Pas grave pour une seule opération, mais pénalisant pour de mulitiples appels nécessaires dans un script par exemple.
» apt consulte une base de données.
» dpkg ne lit qu’un seul fichier (à un chouillas près): /var/lib/dpkg/status

Pour du script, dpkg est largement conseillé:

$ dpkg -l '*vlc*' |awk '$1=="ii"{printf "%-40s%s\n",$2,$3}'
  libvlc-bin:amd64                        3.0.18-2
  libvlc5:amd64                           3.0.18-2
  libvlccore9:amd64                       3.0.18-2
  phonon4qt5-backend-vlc:amd64            0.11.3-1
  vlc                                     3.0.18-2
  vlc-bin                                 3.0.18-2
  vlc-data                                3.0.18-2
  vlc-plugin-access-extra:amd64           3.0.18-2
  vlc-plugin-base:amd64                   3.0.18-2
  vlc-plugin-qt:amd64                     3.0.18-2
  vlc-plugin-video-output:amd64           3.0.18-2

Apt n’est pas fait pour des scripts. C’est même préciser dans le packages quelque part d’ailleurs.
Et le sujet ne s’était pas positionné sur du scripting.
Sans compter qu’en ligne de commande, il fournit directement et simplement l’information sans attente particulièrement longue et sans avoir à faire une ligne de commande alambiquée.
Mais pour enfoncer le point, le sujet n’est pas un script