Acabas de realizar una instalación básica de Arch Linux, si bien lo hiciste de manera clásica, es decir, comando a comando siguiendo los pasos de la ArchWiki, o bien empleaste algún script de instalación. Para este post da igual la forma de instalación porque en él vas a descubrir cuatro consejos que mejorarán de manera sustancial tu experiencia con este sistema operativo.

Logotipo Arch Linux

Utiliza los espejos más poderosos gracias a Reflector.

Para este propósito emplearemos la mitiquisima herramienta reflector, que es un script escrito en Python que comprobará los mirrors más actualizados y los ordenará por velocidad, para acto seguido agregarlos a nuestro mirrorlist.

Aviso

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

sudo pacman -Syyu reflector rsync

2. Podemos ver un listado de los paí­ses donde están alojados esos mirrors para decirle a reflector que compruebe los de esos países especí­ficos.

reflector --list-countries

Nos devolverá un listado como el siguiente:

Reflector [–list-countries]

3. Editamos el archivo de configuración de reflector.

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

Reemplazamos las opciones por defecto por estas otras.

--country Germany,US

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

--sort rate

Finalmente, nos debe quedar un archivo de configuración muy similar a este.

Archivo de configuración de Reflector

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

sudo systemctl enable reflector.timer

Sí­ queremos ejecutar reflector antes de lo previsto.

sudo systemctl start reflector.service

No pierdas tiempo construyendo un paquete, únete a Chaotic-AUR.

Chaotic-AUR es un repositorio comunitario que automatiza la construcción de muchísimos paquetes en AUR. Podéis ver la lista de paquetes disponibles, que se va actualizando a menudo. 

La gran ventaja que ofrece este repositorio es precisamente instalar paquetes que solo están en el AUR como si fuera un paquete más de los repositorios oficiales de Arch Linux, es decir, no es necesario construirlo, ni el uso de ningún AUR helper. Aunque es probable que quieras instalar uno por si necesitaras de algún paquete que aún no estuviera incluido en este repositorio.

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

sudo nano /etc/pacman.conf

[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist

Os animo a visitar la documentación de Chaotic-AUR

Dile adiós a «command not found» de una vez por todas.

¿Alguna vez os ha pasado que ejecutáis un comando que al no tenerlo instalado os aparece el famoso «command not found»?

Aviso «command not found»

Yo creo que sí­, más de lo que os gustarí­a. A mí­ concretamente me ha pasado varias veces y es muy molesto dedicar un tiempo a buscar a qué paquete pertenece ese comando, aunque es posible que tengas suerte y ese comando sea de un único paquete con el mismo nombre, pero aun así aún podemos mejorar nuestra vida. Bien, pues vamos a solucionar este inconveniente y vamos a cambiar el «command not found» por esto otro.

Herramienta «find the command»

La herramienta en cuestión es find the command que se encuentra disponible en el AUR, con lo que procedemos a instalarla con nuestro AUR helper de preferencia, sin embargo, si agregaste Chaotic-AUR, también se encuentra en este repositorio.

paru -S find-the-command-git

Instalamos también dos dependencias, una necesaria para buscar en la base de datos de los repositorios (pkgfile) y otra opcional que le aporta un estilo muy interesante (fzf).

sudo pacman -S pkgfile fzf

Ahora simplemente debemos agregar el hook a nuestro archivo de configuración de nuestra shell.

# 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

Yo suelo agregarle al hook una opción en mi shell zsh:

  • askfirst te pregunta si quieres que busque tu comando en la base de datos.

Tip

Por último, actualizamos la base de datos de pkgfile y habilitamos el temporizador para systemd para que se ejecute cada cierto tiempo.

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

Ahora cuando intentemos ejecutar un comando que no se encuentra instalado en nuestro sistema, en vez de darnos el típico «commnad not found» aparecerá find the command a nuestro rescate.

Primero si pusiste la opción askfirst te preguntará si quieres que busque ese comando en los repositorios y por último si no está actualizada la base de datos de pkgfile, te preguntará que si la actualiza. Respondemos que si (Y)

Con esta herramienta ya hemos mejorado nuestra vida un poquito más. Mil gracias a su creador, es genial.

Limpiando «la casa» de manera automática.

Es una historia real que con el paso del tiempo, cuando vas instalando y desinstalando paquetes con nuestro queridísimo pacman, la caché se va llenando ocupando valiosos MB, incluso GB en nuestra partición de sistema ( / ).

Vamos a solucionar este problema con el uso de pacman-contrib, que es un conjunto de scripts y herramientas para pacman, que contiene paccache, la herramienta en concreto que viene para salvar nuestra vida y el espacio en nuestro directorio root.

Instalamos pacman-contrib .

sudo pacman -S pacman-contrib

Ahora vamos a editar nuestro archivo /etc/pacman.conf, en el cual vamos descomentar esta lí­nea

#HookDir     = /etc/pacman.d/hooks/
# Qedando así
HookDir     = /etc/pacman.d/hooks/

Creamos el archivo /etc/pacman.d/hooks/clean_pacman_cache.hook y agregamos el siguiente contenido.

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -r

Aviso

Lo que va a hacer este hook es cada vez que actualices, instales o desinstales un paquete se ejecute paccache limpiando la caché de manera automática, en el caso de que haya, si no hubiera no limpiará nada, pero no dará ningún error, simplemente avisará que no hay paquetes candidatos a ser limpiados.

Conclusión: Hemos visto cuatro consejos que resultan ser muy prácticos, fáciles de implementar y que hace que mejore nuestro día a dí­a utilizando nuestro querido sistema.