Ver si un paquete está instalado o no en GNU/Linux

Hace un tiempo, aprendimos cómo encontrar una versión de paquete en Linux. Hoy, veremos cómo encontrar si un paquete está instalado o no en los sistemas operativos tipo Unix. Encontrar paquetes instalados en modo GUI es fácil. Todo lo que tenemos que hacer es abrir el menú o el tablero e ingresar el nombre del paquete en el cuadro de búsqueda. Si el paquete está instalado, verás la entrada del menú. Es simple como eso. Pero es difícil encontrarlo en un sistema en el que no tiene modo GUI. Por lo tanto, saber cómo encontrar un paquete instalado o no en el modo CLI es tan importante como lo hacemos en el modo GUI. Ahora, descubramos cómo podemos encontrar si un paquete está instalado o no.

La forma universal de encontrar si un paquete está instalado o no es usar el comando “which” como a continuación:

$ which <package-name>

Ejemplo:

$ which nano

Si el paquete nano está instalado, mostrará la ruta instalada como se muestra a continuación.

/usr/bin/nano

 

Como tu paquete nano está instalado.

Veamos otro paquete, por ejemplo Emacs:

$ which emacs
/usr/bin/which: no emacs in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

¿Ves? Emacs no lo está.

 

 

 

 

El comando “which” está disponible por defecto en la mayoría de los sistemas operativos tipo Unix.

Además, hay algunas pocas formas específicas de distribución para encontrar si un paquete está instalado o no. Sigue leyendo.

En Arch Linux:

En Arch Linux y sus derivados como Antergos y Manjaro LInux, podemos hacer esto usando el comando “pacman” como se muestra a continuación:

$ pacman -Qs nano

Ejemplo:

local/nano 2.9.3-1 (base)
 Pico editor clone with enhancements

 

 

 

 

 

 

 

¿Notaste el prefijo “local” al frente del paquete “nano”? Significa que Nano está instalado.

Si el comando anterior no devuelve nada, significa que el paquete dado no está instalado.

En Fedora / RHEL / CentOS / Scientific Linux:

En distribuciones Linux basadas en RPM como Fedora, RHEL y sus clones como CentOS, Scientific Linux, podemos averiguar si un paquete se instala usando el comando “rpm”.

Para encontrar si un paquete (Ex.nano) está instalado o no, simplemente usa:

$ rpm -qa | grep nano

O,

$ rpm -qa | grep -i nano

Ejemplo:

nano-2.3.1-10.el7.x86_64

Para enumerar todos los paquetes instalados, ejecuta:

$ rpm -qa

 

En Debian / Ubuntu / Linux Mint:

En sistemas basados en DEB como Debian, Ubuntu y sus derivados como Linux Mint y Elementary OS, podemos hacer esto usando el comando “dpkg”.

Para buscar si un paquete particular (Ex.nano) está instalado o no, usa:

$ dpkg -s nano

Ejemplo:

 

 

 

 

Como puedes ver en la salida anterior, el paquete nano está instalado en nuestro sistema Ubuntu. Este comando no solo muestra si el paquete especificado está instalado, sino también la prioridad del paquete, número de versión, nombre del mantenedor, dependencias y su descripción, etc. No necesitas referir páginas man o cualquier página en línea, solo ejecuta este comando para tener los detalles completos de este comando en la mano.

Esta no es la única forma de encontrar los paquetes instalados. Aquí hay algunos más comandos.

$ dpkg-query -l nano

Ejemplo:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico

Otro ejemplo:

$ dpkg --get-selections | grep nano

Ejemplo:

nano install

Y un comando más….

$ dpkg --list | grep nano

Salida:

ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico

O usa este comando:

$ dpkg --list | grep -i nano

Para ver un listado de todos los paquetes, escribe:

$ dpkg --list

 

En SUSE / openSUSE:

Para verificar si un paquete está instalado o no en SUSE y openSUSE, ejecuta:

 

$ zypper search nano

O, en breve:

$ zypper se nano

También puedes usar el comando “rpm” como se muestra a continuación.

$ rpm -q nano

 

Encuentra si un paquete está instalado o no usando la utilidad “has”

Confía en mí, ¡esto es súper fácil! La utilidad “has” verificará la presencia de varias herramientas de línea de comandos en la ruta y también informará su versión instalada.

Para instalarlo, ejecuta los siguientes comandos:

$ git clone https://github.com/kdabir/has.git 
$ cd has 
$ sudo make install

Ahora comprueba si hay un paquete disponible o no como a continuación.

$ has nano
✔ nano 2.5.3

 

Si ves la marca de verificación (✔), el paquete está instalado. Como puedes ver en la salida anterior, el paquete nano está instalado y su versión es 2.5.3.

Verás la marca cruzada si el paquete no está instalado. Verifica el siguiente ejemplo.

$ has emacs
✘ emacs

También puedes buscar múltiples paquetes.

$ has nano emacs vim
✔ nano 2.5.3
✘ emacs
✔ vim 7.4

Si no deseas instalarlo, puedes usarlo directamente como se indica a continuación. Tu sistema debe estar conectado a Internet.

$ curl -sL https://git.io/_has | bash -s nano

Para verificar paquetes múltiples:

$ curl -sL https://git.io/_has | bash -s nano emacs vim

Crea un alias si eres demasiado flojo para escribir todo el comando:

$ alias has="curl -sL https://git.io/_has | bash -s"

Ahora, solo usa esta utilidad como a continuación:

$ has nano

Para obtener más detalles, consulte la página GitHub del proyecto.

 

Original

 

Comparte

(Artículo visitado 102 veces, 1 visitas hoy)

1
Responder

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
1 Hilo de comentarios
0 Hilo de respuestas
0 Seguidores
 
Comentario más reaccionado
Hilo de comentarios más populares
1 Autores de comentarios
alguien Autores de comentarios más recientes

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Suscribirse  
+ nuevos + antiguos + votados
Notificarme de
alguien
Invitado
alguien

whereis nano

nano: /bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz