En el següent article anem a fer una ullada a com podem verificar des de la terminal si un paquet donat està instal·lat o no en el nostre sistema Ubuntu. En ocasions els usuaris podem necessitar conèixer aquesta informació per a una o una altra cosa.
Per obtenir aquesta informació, podem trobar diferents formes per obtenir-la. Buscant una mica a Google es poden trobar diferents maneres d'obtenir aquestes dades. Que és una cosa que en algun moment sempre pot ser útil per a tots els usuaris. En aquest article anem a deixar set maneres, perquè cada usuari pugui triar la que millor s'adapti a ell.
Què podem utilitzar des de la terminal per verificar si un paquet donat està instal·lat o no en Ubuntu?
- apt. Aquesta és una poderosa eina de línia d'ordres per instal·lar, descarregar, eliminar, buscar i administrar paquets en sistemes basats en Debian.
- apt-cache. Es fa servir per consultar la memòria cau APT o les metadades d'un paquet.
- dpkg. Es tracta d'un administrador de paquets per a sistemes basats en Debian.
- dpkg-query. Aquesta és una eina per consultar la base de dades de dpkg.
- que. aquesta comanda torna la ruta completa de l'executable.
- on es. S'utilitza per buscar els arxius binaris, d'origen i de pàgina de manual per una ordre determinat.
- localitzar. La comanda locate funciona més ràpid que la comanda find perquè utilitza la base de dades updatedb, mentre que la comanda find busca en el sistema real.
Exemples per verificar si un paquet està instal·lat
Primer de tot, dir que les ordres dels he provat en Ubuntu 19.04.
comandament apt
APT és una poderosa eina per a la terminal amb la qual podem instal·lar, descarregar, eliminar, buscar i administrar, així com consultar informació sobre paquets. A més conté algunes utilitats de línia de comandaments menys utilitzades, relacionades amb l'administració de paquets.
apt list vim
Comandament apt-cache
la comanda apt-cache s'usa per consultar la memòria cau d'APT o les metadades de l'paquet des de la base de dades interna d'APT. Aquest buscarà i mostrarà informació sobre el paquet donat. Ens va mostrar si el paquet està instal·lat o no, la versió de l'paquet instal·lat, la informació de l'repositori d'origen.
En el següent exemple veurem que el paquet vim ja s'ha instal·lat al sistema.
apt-cache policy vim
comando dpkg
dpkg és una eina per instal·lar, crear, eliminar i administrar paquets, però a diferència d'altres sistemes de gestió de paquets, no pot descarregar i instal·lar paquets automàticament o les seves dependències. Per obtenir la informació, de manera clara, podem combinar-ho amb grep.
dpkg -l | grep -i nano
Ordre dpkg-query
Aquesta és una eina per mostrar informació sobre els paquets llistats a la base de dades de dpkg.
dpkg-query --list | grep -i nano
comando which
La comanda which torna la ruta completa de l'executable. Aquesta comanda resulta molt útil quan ens interessa crear un accés directe d'escriptori o un enllaç simbòlic per a arxius executables. La comanda busca en els directoris enumerats en la variable d'entorn CAMÍ de l'usuari actual.
Si després d'executar la comanda es mostra el binari de el paquet donat o la ubicació de l'arxiu executable, això ens indica que el paquet ja s'ha instal·lat al sistema. Si no, el paquet no està instal·lat al sistema.
which vim
comando whereis
la comanda on es s'usa per buscar els arxius binaris, d'origen i de pàgina de manual per una ordre determinat.
Si la sortida de la comanda mostra el binari de el paquet donat o la ubicació de l'arxiu executable, ens indica que el paquet ja s'ha instal·lat al sistema. Si no, el paquet no està instal·lat al sistema.
whereis nano
ordre locate
la comanda localitzar funciona més ràpid que la comanda find perquè utilitza la base de dades updatedb, Mentre que la comanda find busca en el sistema real. Utilitza una base de dades en lloc de buscar rutes de directori individuals.
Si la sortida de la comanda mostra el binari de el paquet donat o la ubicació de l'arxiu executable, el paquet ja s'ha instal·lat al sistema. Si no, el paquet no està instal·lat al sistema.
locate --basename '\nano'