En Debian y otras distribuciones derivadas, se utiliza una herramienta llamada APT (Advance Package Manager) para administrar el software del sistema. Por ejemplo, podemos mencionar la instalación, actualización, y búsqueda de información sobre paquetes. En este post hablaremos sobre el uso de apt-cache
para realizar esta última tarea.
APT utiliza la lista de repositorios presentes en el archivo /etc/apt/sources.list para llevar a cabo las tareas mencionadas en el párrafo anterior.
Uso de apt-cache
Para empezar, recordemos qué es lo que hace el comando aptitude update
o apt-get update
. Estos comandos se utilizan para actualizar la lista de paquetes disponibles desde los repositorios configurados en el sistema. Como resultado, también se actualiza la información guardada sobre los mismos en /var/lib/apt/lists/. Cada vez que deseamos acceder a la misma en realidad estamos leyendo datos presentes en el sistema y no en los repositorios remotos. De esa manera, disponemos de esta información mucho más rápido.
Por ejemplo, si deseamos realizar una búsqueda por palabra clave, podemos recurrir a apt-cache search
o aptitude search
seguidos por el término de búsqueda. El primer comando nos devolverá la lista de paquetes en cuyas descripciones aparezca el término de búsqueda. El segundo, en cambio, intentará buscar el término exacto. Por otro lado, si conocemos el nombre exacto de un paquete, apt-cache show
o aptitude show
serán las alternativas.
Para ilustrar, veamos los siguientes casos en la Fig. 1:
apt-cache search htop aptitude search htop apt-cache show htop aptitude show htop
En la Fig. 1 vemos que ambas herramientas devuelven información similar. También observamos que una nos aporta información que la otra no. Tal vez estemos acostumbrados a usar una de ellas en particular y hasta el momento no hayamos reparado en las posibilidades que nos brinda la otra. Ahora estamos al tanto de las herramientas que están a nuestro alcance para encontrar información sobre los paquetes disponibles en las repositorios configurados en nuestro sistema.