Instalación y uso básico de YAY

Yay es un asistente de instalación de paquetes para ArchLinux con capacidad para instalar paquetes desde el Repositorio de Usuarios de ArchLinux (AUR).

Cuando se trata de instalar paquetes de los repositorios oficiales de ArchLinux, yay tan solo funciona como una interfaz de Pacman, siendo este último el encargado de hacer todo el trabajo pesado, lo que garantiza que los resultados serán los mismos que si se usase Pacman directamente, pero con el añadido de una interfaz de usuario mucho mas amigable y fácil de usar que la de Pacman.

Herramientas como yay permiten instalar paquetes desde el Repositorio de Usuarios de Arch Linux (AUR), que no es soportado por pacman.

Los paquetes que se encuentran en el repositorio AUR  no pasan por los mismos controles de calidad y estabilidad que los de los repositorios «oficiales», úsalo con precaución.

Instalación

Abrimos una terminal y ejecutamos los siguientes comandos:

$ sudo pacman -Sy
$ sudo pacman -S git base-devel
$ cd /tmp
$ rm -rf yay 2> /dev/null
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si

Configuración

Activar colores

Para activar la salida colorida en Pacman y por extensión en yay (recordar que yay usa Pacman para todos sus procesos), se puede usar este comando:

sudo sed -i '/^#Color/s/^#//' /etc/pacman.conf

Uso básico

El uso de yay, se parece mucho al de yaourt, lo que lo hace, para mi gusto, mucho mas fácil de manejar.

Actualizar base de datos de paquetes

Con este comando yay se descargará la última versión de la base datos de paquetes.

$ yay -Sy

Actualizar sistema y opcionalmente los paquetes instalados en AUR

Después de actualizar el sistema busca automáticamente si hay actualizaciones en AUR, lo ejecuta por separado por cuestiones de seguridad.

$ yay -Syu

Actualizar base de datos de paquetes e instalar actualizaciones, todo en uno

$ yay

Si, así de simple.

Buscar un paquete

Buscar un paquete con yay es tan sencillo como escribir el nombre del paquete o algunas palabras clave después de yay y él buscará esos terminios y presentará una lista de coincidencias.

$ yay PAQUETE

El resultado será una lista numerada paquetes para que podamos seleccionar cuales queremos instalar. Con tan solo escribir el número del paquete que queramos, yay lo seleccionará y lo instalará.

Por ejemplo:

$ yay -Sy
[sudo] password for elias: 
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
$ yay libnm
12 aur/libnm-glib-secure 1.12.3dev+1+g0a3755c17-2 (+0 0.00%) 
    NetworkManager client library (legacy)
11 aur/libnm-secure 1.12.3dev+1+g0a3755c17-2 (+0 0.00%) 
    NetworkManager client library
10 aur/libnm-glib-ifupdown 0.9.8.10-6 (+5 0.00%) 
    NetworkManager library
9 aur/libnma-git 1.8.19.dev.r65.gd7a03bb4-1 (+11 0.01%) 
    NetworkManager GUI client library
8 aur/libnm-gtk-git 1.8.19.dev.r65.gd7a03bb4-1 (+11 0.01%) 
    NetworkManager GUI client library (legacy)
7 aur/libnm-git 1.15.2.r22048.g027ef98cd-1 (+29 0.02%) 
    NetworkManager client library
6 aur/libnm-glib-git 1.15.2.r22048.g027ef98cd-1 (+29 0.02%) 
    NetworkManager client library (legacy)
5 multilib/lib32-libnm-glib 1.14.4-1 (187.0 KiB 802.0 KiB) 
    NetworkManager client library (legacy)
4 multilib/lib32-libnm 1.14.4-1 (301.4 KiB 1.3 MiB) 
    NetworkManager client library
3 extra/libnma 1.8.20-1 (111.8 KiB 723.0 KiB) (Installed)
    NetworkManager GUI client library
2 extra/libnm-glib 1.14.5dev+17+gba83251bb-2 (624.0 KiB 6.5 MiB) (Installed)
    NetworkManager client library (legacy)
1 extra/libnm 1.14.5dev+17+gba83251bb-2 (902.8 KiB 9.3 MiB) (Installed)
    NetworkManager client library
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
==> 1
warning: libnm-1.14.5dev+17+gba83251bb-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) libnm-1.14.5dev+17+gba83251bb-2

Total Installed Size:  9.25 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] 

Listar los paquetes instalados desde AUR

$ yay -Qqm 

Instalar uno o varios paquetes por su nombre exacto

$ yay -S PAQUETE_1 [PAQUETE_2 PAQUETE_3 ...]

Eliminar uno o varios paquetes

$ yay -R PAQUETE_1 [PAQUETE_2 PAQUETE_3 ...]

Si quieres hacer una eliminación poco mas exhaustiva puedes probar a usar este otro comando. Elimina el/los paquete/s incluyendo todas sus dependencias, siempre que no sean requeridos por otros paquetes; y no fueron instalados explícitamente por el ti. Esta operación es recursiva y ayuda a mantener un sistema limpio sin huérfanos.

$ yay -Rns PAQUETE_1 [PAQUETE_2 PAQUETE_3 ...]

Y por último una forma un poco más bruta para eliminar paquetes seria esta otra. Elimina el/los paquete/s, así como todos los paquetes que dependen de uno o más de los paquetes de destino. Esta operación es recursiva y debe usarse con cuidado, ya que puede eliminar muchos paquetes potencialmente necesarios.

$ yay -Rnc PAQUETE_1 [PAQUETE_2 PAQUETE_3 ...]

Limpiar la memoria caché de los paquetes

Recordemos que los paquetes descargados no se eliminan automáticamente al instalar nuevas versiones, eso provoca que el sistema se infle indiscriminadamente. La razón, poder volver a una versión anterior si algo se complica.

$ yay -Sc

Hay más, pero no es el objetivo de éste post. Creo que lo básico lo hemos cubierto, espero que les sea de utilidad.