En algunas ocasiones nos encontramos con que necesitamos saber si algún programa o paquete se encuentra instalado en el sistema o no. El problema es que con la cantidad de gestores de paquetes disponibles para las diferentes distribuciones GNU/Linux, ésto puede ser algo complicado para los más novatos al tener que andar recordando los diferentes comandos o herramientas así como de sus opciones en cada caso para que nos muestre si el paquete se encuentra en nuestro sistema.
Por ejemplo, si nos movemos en Arch Linux y derivados, la herramienta que buscamos es el gestor de paquetespacman con las opciones -Qs y el nombre del paquete que queremos comprobar. En cambio, si se trata de una distro basada en paquetes RPM podemos usar la herramienta rpm -qa que enumera todos los paquetes instalados y canalizar la salida con ayuda de una pipe hacia grep nombre-paquete para filtrar el resultado. Para los Debian y derivados se puede emplear dpkg -s seguido del nombre del paquete a consultar, etc.
Puedes pensar que which es una solución genérica para cualquier distribución, y lo cierto es que funcionaría hasta cierto punto, ya que no todos los paquetes se encuentran en las rutas donde which busca y por tanto puede parecer que si buscamos ciertos paquetes de software parezca que no han sido encontrados y no están instalados en el sistema pero sí que estén… Por ejemplo, si buscamos si el editor de texto nano está instalado con which se puede ver perfectamente si está o no, pero si lo probamos con LibreOffice la cosa varía:
1
2
3
| which nano which libreoffice |
El resultado de ambos será muy diferente, ya que en el primer caso nos indicará la ruta del binario (/bin/nano) y en el segundo no nos mostrará salida alguna aunque LibreOffice se encuentre instalado. A eso me refería. Por tanto, al final no nos queda otra que aprendernos los diferentes comandos y opciones para la distro que estemos usando:
Solución a problemas de arranque en Ubuntu y Linux Mint
1
2
3
4
5
| pacman -Qs nombre-paquete rpm -qa | grep nombre-paquete dpkg -s nombre-paquete |