Cómo potenciar tu experiencia con Arch Linux.

Por Julio Mena
Cómo potenciar tu experiencia con Arch Linux.

Acabas de realizar una instalación básica de Arch Linux, ya sea de forma clásica, siguiendo la Arch Wiki comando a comando, o mediante algún script de instalación. Para este post, el método utilizado no es relevante: en cualquier caso, a continuación verás cuatro recomendaciones que pueden mejorar de forma considerable tu experiencia con este sistema operativo.


Utiliza los espejos más eficientes con Reflector


Para este propósito utilizaremos la herramienta reflector, un script escrito en Python que comprueba los mirrors más actualizados, los ordena por velocidad y, a continuación, los agrega a nuestro mirrorlist.

Ten en cuenta que esta acción sobrescribirá todo el contenido del archivo mirrorlist.


1. Actualizar la base de datos, el sistema e instalar reflector

Terminal window
sudo pacman -Syyu reflector rsync

2. Listar los países donde se alojan los mirrors

Terminal window
reflector --list-countries

Autocompletions screen zsh shell


3. Editar el archivo de configuración de reflector

Terminal window
sudo nano /etc/xdg/reflector/reflector.conf

Reemplazamos las opciones por defecto por estas otras:

Terminal window
--country 'United Kingdom,Germany,Albania

Y cambiamos --sort age por --sort rate. Esto hará que la lista de mirrors se ordene por velocidad de descarga.

Terminal window
--sort rate

Autocompletions screen zsh shell


4. Habilitar el temporizador de systemd para reflector

Por último, habilitamos el temporizador de systemd que proporciona reflector para iniciar el servicio reflector.service cada semana.

Terminal window
sudo systemctl enable reflector.timer
Terminal window
sudo systemctl start reflector.service

Al activar este proceso en systemd lo que sucedera en el backend de manera trasnparete será esto.

Autocompletions screen zsh shell


No pierdas tiempo construyendo un paquete: utiliza Chaotic-AUR

Chaotic-AUR es un repositorio comunitario que automatiza la construcción de numerosos paquetes de AUR. Es posible consultar la lista de paquetes disponibles, que se actualiza con frecuencia.

La principal ventaja de este repositorio es poder instalar paquetes que solo están en AUR como si fueran paquetes de los repositorios oficiales de Arch Linux. No es necesario construirlos manualmente ni utilizar ningún AUR helper, aunque probablemente quieras disponer de uno por si en algún momento necesitas un paquete que aún no esté incluido en este repositorio.

Terminal window
sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key 3056513887B78AEB
sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
sudo pacman -Syy

Finalmente, agregamos la entrada que referencia al archivo mirrorlist de Chaotic-AUR al final del archivo /etc/pacman.conf:

Terminal window
sudo nano /etc/pacman.conf
[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist

Autocompletions screen zsh shell

Para instalar un paquete directamente desde este repositorio le especificamos a pacman el repositorio de esta manera:

Terminal window
sudo pacman -S chaotic-aur/palemoon-gtk3-bin

Autocompletions screen zsh shell Autocompletions screen zsh shell

Es recomendable revisar la documentación oficial de Chaotic-AUR para conocer más detalles y buenas prácticas de uso.


Dile adiós a “command not found”

Es habitual que, al ejecutar un comando que no está instalado, aparezca el mensaje “command not found”. Localizar manualmente a qué paquete pertenece ese comando puede resultar tedioso, incluso cuando el nombre del paquete coincide con el del comando.

Autocompletions screen zsh shell

Podemos mejorar esta situación sustituyendo el clásico “command not found” por una herramienta más informativa.

Autocompletions screen zsh shell

La herramienta en cuestión es find the command, disponible en AUR. La instalaremos con el AUR helper de preferencia. Si ya agregaste Chaotic-AUR, también la encontrarás en ese repositorio.

Terminal window
paru -S find-the-command-git

Además, instalamos dos dependencias: una necesaria para buscar en la base de datos de los repositorios (pkgfile) y otra opcional que mejora la interacción (fzf).

Terminal window
sudo pacman -S pkgfile fzf

A continuación, añadimos el hook correspondiente en el archivo de configuración de nuestra shell:

Terminal window
# bash #
source /usr/share/doc/find-the-command/ftc.bash
# zsh #
source /usr/share/doc/find-the-command/ftc.zsh
# fish #
source /usr/share/doc/find-the-command/ftc.fish

En el caso de zsh, es posible añadir la opción askfirst al hook:

askfirst pregunta si se desea buscar el comando en la base de datos antes de realizar la consulta.

Existen más opciones disponibles, que pueden consultarse en su repositorio de GitHub.

Por último, actualizamos la base de datos de pkgfile y habilitamos el temporizador de systemd para que se ejecute de forma periódica:

Terminal window
sudo pkgfile --update
sudo systemctl enable --now pkgfile-update.timer

A partir de este momento, cuando intentemos ejecutar un comando que no esté instalado en el sistema, en lugar del mensaje “command not found” se activará find the command.

Si se ha configurado la opción askfirst, primero preguntará si queremos buscar ese comando en los repositorios. Si la base de datos de pkgfile no está actualizada, también preguntará si debe actualizarla. En ese caso, respondemos que sí (Y).


Limpieza automática de la caché de pacman

Con el tiempo, al instalar y desinstalar paquetes con pacman, la caché va creciendo y puede llegar a ocupar una cantidad considerable de espacio en la partición del sistema (/).

Para gestionar este problema utilizaremos pacman-contrib, un conjunto de scripts y herramientas para pacman que incluye paccache, la utilidad que nos permitirá liberar espacio en el directorio root.

Terminal window
sudo pacman -S pacman-contrib
Terminal window
#HookDir = /etc/pacman.d/hooks/
# Qedando así
HookDir = /etc/pacman.d/hooks/
Terminal window
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Limpiando la caché de pacman
When = PostTransaction
Exec = /usr/bin/paccache -r

Autocompletions screen zsh shell

Si el directorio hooks no existe, debemos crearlo previamente.

Terminal window
sudo mkdir -p /etc/pacman.d/hooks

Este hook ejecutará paccache automáticamente cada vez que se actualice, instale o desinstale un paquete, limpiando la caché cuando haya paquetes candidatos a ser eliminados. Si no hubiera nada que limpiar, no se producirá ningún error; simplemente se indicará que no hay paquetes disponibles para su eliminación.

Conclusión: Estas cuatro recomendaciones son relativamente sencillas de aplicar y pueden contribuir de forma importante a optimizar, automatizar y mantener en buen estado un sistema Arch Linux en el uso diario.