Arch Linux: instalación, pacman y AUR
Guía avanzada de Arch Linux: instalación paso a paso, dominio de pacman, AUR con yay y paru, PKGBUILD y mantenimiento de una rolling release.
InSkillCoach
Arch Linux: instalación, pacman y AUR
Arch Linux ocupa un lugar aparte en el panorama de las distribuciones: no hay instalador gráfico por defecto, ni configuración preestablecida, ni versiones. Usted construye su sistema pieza a pieza y, a cambio, obtiene una máquina que comprende por completo, siempre actualizada y acompañada de la mejor documentación del mundo Linux. Esta guía está dirigida a usuarios que ya se manejan con la línea de comandos: cubrimos la instalación completa, el dominio de pacman, el AUR y, sobre todo, el mantenimiento a largo plazo, que es donde se decide el éxito de una instalación de Arch.
1. Filosofía: Rolling Release y KISS
Arch se basa en dos principios que explican todas sus decisiones técnicas.
Rolling release: no existe una «versión» de Arch. El sistema se actualiza de forma continua; una instalación de 2020 correctamente mantenida es idéntica a una instalación de hoy. Nunca hará una actualización mayor, pero debe actualizar con regularidad y leer los anuncios.
KISS (Keep It Simple, Stupid): la simplicidad, tal como la entiende Arch, significa ausencia de capas de abstracción, no facilidad. Los paquetes se entregan lo más cerca posible de lo que publican los desarrolladores originales (vanilla), sin parches de la distribución. La configuración se realiza en los archivos originales del software, no mediante herramientas propias de la distribución.
Consecuencias prácticas: usted es responsable de su sistema. Arch no le protege de usted mismo, pero nada en él es mágico ni está oculto.
2. Instalación resumida paso a paso
La instalación oficial se hace en línea de comandos desde la ISO. La herramienta archinstall automatiza el proceso, pero realizar la instalación manual al menos una vez es la mejor inversión pedagógica posible. Este es el procedimiento completo para una máquina UEFI.
Preparación y particionado
# Verificar el arranque en modo UEFI (el directorio debe existir y contener archivos)
ls /sys/firmware/efi/efivars
# Verificar la conexión de red (el Wi-Fi se configura con iwctl)
ping -c 3 archlinux.org
# Sincronizar el reloj
timedatectl set-ntp true
# Particionar el disco: una partición EFI y una partición raíz
fdisk /dev/nvme0n1
# g -> nueva tabla GPT
# n, 1, +1G -> partición EFI (tipo: EFI System)
# n, 2, resto -> partición raíz (tipo: Linux filesystem)
# w -> escribir y salir
# Formatear
mkfs.fat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
# Montar
mount /dev/nvme0n1p2 /mnt
mount --mkdir /dev/nvme0n1p1 /mnt/boot
pacstrap: instalar el sistema base
# Instalar lo básico: base, kernel, firmwares y algunos imprescindibles
pacstrap -K /mnt base linux linux-firmware nano networkmanager sudo
fstab y chroot
# Generar la tabla de sistemas de archivos a partir de los montajes actuales
genfstab -U /mnt >> /mnt/etc/fstab
# Comprobar el resultado antes de continuar
cat /mnt/etc/fstab
# Entrar en el nuevo sistema
arch-chroot /mnt
Configuración básica dentro del chroot
# Zona horaria y reloj de hardware
ln -sf /usr/share/zoneinfo/America/Montreal /etc/localtime
hwclock --systohc
# Locales: descomentar fr_CA.UTF-8 (o fr_FR.UTF-8) en /etc/locale.gen
nano /etc/locale.gen
locale-gen
echo "LANG=fr_CA.UTF-8" > /etc/locale.conf
# Nombre de la máquina
echo "archbox" > /etc/hostname
# Contraseña de root
passwd
# Crear un usuario con acceso sudo
useradd -m -G wheel votre_nom
passwd votre_nom
EDITOR=nano visudo # descomentar: %wheel ALL=(ALL:ALL) ALL
# Activar la red al arrancar
systemctl enable NetworkManager
Bootloader
# systemd-boot, sencillo y suficiente en UEFI
bootctl install
# Crear la entrada de arranque
cat > /boot/loader/entries/arch.conf << 'EOF'
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/nvme0n1p2 rw
EOF
# Salir del chroot, desmontar y reiniciar
exit
umount -R /mnt
reboot
Al reiniciar, obtendrá un prompt de inicio de sesión en modo texto: un sistema Arch mínimo y funcional, listo para recibir su entorno gráfico y sus herramientas.
3. pacman: el gestor de paquetes
pacman condensa todas sus operaciones en opciones de una sola letra. La sintaxis desconcierta al principio y luego resulta notablemente rápida.
Las operaciones fundamentales
# Instalar un paquete (S = sync, desde los repositorios)
sudo pacman -S firefox
# Actualizar TODO el sistema: el comando más importante de Arch
# S = sync, y = refrescar los índices, u = actualizar
sudo pacman -Syu
# Eliminar un paquete
sudo pacman -R firefox
# Eliminar un paquete, sus dependencias huérfanas y su configuración
sudo pacman -Rns firefox
# Buscar en los repositorios
pacman -Ss navigateur
# Mostrar los detalles de un paquete de los repositorios
pacman -Si firefox
Regla absoluta: no ejecute nunca pacman -Sy paquete (refrescar los índices e instalar sin actualizar todo). Esta «actualización parcial» instala un paquete compilado contra bibliotecas más recientes que las de su sistema y puede romperlo. Siempre es -Syu.
Consultar el sistema instalado (Q)
# Listar todos los paquetes instalados
pacman -Q
# Paquetes instalados explícitamente (su lista de la compra)
pacman -Qe
# Detalles de un paquete instalado
pacman -Qi firefox
# Listar los archivos de un paquete
pacman -Ql firefox
# Encontrar el paquete propietario de un archivo
pacman -Qo /usr/bin/firefox
# Listar los huérfanos (dependencias que han dejado de ser necesarias)
pacman -Qdt
# Eliminar todos los huérfanos
sudo pacman -Rns $(pacman -Qdtq)
Gestionar la caché
pacman conserva cada versión descargada en /var/cache/pacman/pkg/, lo que permite volver atrás pero consume rápidamente varios gigabytes.
# Tamaño de la caché
du -sh /var/cache/pacman/pkg
# Conservar las 3 últimas versiones de cada paquete (paccache está en pacman-contrib)
sudo pacman -S pacman-contrib
sudo paccache -r
# Eliminar las versiones de los paquetes desinstalados
sudo paccache -ruk0
# Automatizar la limpieza semanal
sudo systemctl enable --now paccache.timer
4. El AUR: el repositorio comunitario
El AUR (Arch User Repository) es la verdadera fortaleza de Arch: un repositorio comunitario de más de 80 000 recetas de compilación que cubren prácticamente cualquier software existente. Atención: el AUR no contiene paquetes binarios, sino PKGBUILD, scripts que describen cómo construir el paquete. Los desarrolladores de Arch no verifican nada de lo que contiene: la prudencia es responsabilidad suya.
Instalación manual desde el AUR
Conviene entender el proceso manual antes de usar un asistente:
# Requisitos para compilar
sudo pacman -S --needed base-devel git
# Clonar la receta
git clone https://aur.archlinux.org/visual-studio-code-bin.git
cd visual-studio-code-bin
# SIEMPRE leer el PKGBUILD antes de construir
less PKGBUILD
# Construir e instalar (s = instalar las dependencias, i = instalar el paquete)
makepkg -si
yay y paru: los asistentes del AUR
Los asistentes (AUR helpers) automatizan la clonación, la compilación y, sobre todo, las actualizaciones de los paquetes del AUR. Las dos referencias actuales son yay (escrito en Go) y paru (escrito en Rust, del mantenedor histórico de yay).
# Instalar yay... desde el AUR, a mano (una sola vez)
git clone https://aur.archlinux.org/yay.git
cd yay && makepkg -si
# Después, yay unifica los repositorios oficiales y el AUR
yay -S spotify # instalar (repositorios o AUR)
yay -Syu # actualizar todo, AUR incluido
yay -Ss teams # buscar en todas partes
yay -Qua # listar las actualizaciones pendientes del AUR
paru se utiliza con exactamente las mismas opciones. Diferencia notable: paru muestra el PKGBUILD por defecto antes de compilar, un ajuste más seguro que también puede activar en yay.
Anatomía de un PKGBUILD
# Ejemplo mínimo de PKGBUILD
pkgname=mon-outil
pkgver=1.2.0
pkgrel=1
pkgdesc="Un outil d'exemple"
arch=('x86_64')
url="https://exemple.com"
license=('MIT')
depends=('glibc')
makedepends=('go')
source=("$url/releases/$pkgname-$pkgver.tar.gz")
sha256sums=('...')
build() {
cd "$pkgname-$pkgver"
go build -o "$pkgname"
}
package() {
cd "$pkgname-$pkgver"
install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
}
Qué comprobar al leer un PKGBUILD: ¿la fuente apunta al sitio oficial del proyecto? ¿Las funciones build() y package() hacen algo más que compilar y copiar archivos? Un PKGBUILD malicioso puede ejecutar cualquier cosa con sus permisos.
5. Mantenimiento de una rolling release
Aquí se decide la longevidad de su instalación. Una Arch bien mantenida funciona durante años; una Arch descuidada durante seis meses se actualiza con dolor.
La rutina de actualización
# 1. Consultar los anuncios antes de una gran actualización
# https://archlinux.org/news/ (posibles intervenciones manuales)
# 2. Actualizar
sudo pacman -Syu
# 3. Tratar los archivos .pacnew (véase más abajo)
# 4. Reiniciar tras una actualización del kernel o de systemd
Frecuencia recomendada: al menos una vez por semana. Tras varios meses sin actualizar, actualice primero el llavero de claves (sudo pacman -Sy archlinux-keyring y luego -Su) para evitar errores de firma.
Los archivos .pacnew
Cuando un paquete incluye una nueva versión de un archivo de configuración que usted ha modificado, pacman no sobrescribe su versión: deposita la nueva al lado con la extensión .pacnew. Ignorarlos indefinidamente acaba provocando fallos de funcionamiento.
# Localizar los .pacnew y .pacsave pendientes
sudo pacman -S pacman-contrib
pacdiff --output
# Fusionar de forma interactiva (usa vim -d por defecto)
sudo pacdiff
# Con otra herramienta de fusión
DIFFPROG=meld sudo -E pacdiff
Volver atrás (downgrade)
Si una actualización rompe algo, la caché de pacman permite reinstalar la versión anterior:
# Reinstalar una versión desde la caché local
sudo pacman -U /var/cache/pacman/pkg/firefox-128.0-1-x86_64.pkg.tar.zst
# Congelar temporalmente el paquete mientras se corrige el error en origen
# (añadir en /etc/pacman.conf, sección [options])
# IgnorePkg = firefox
Para las versiones que no están en la caché, el Arch Linux Archive conserva todos los paquetes publicados, y la herramienta downgrade (AUR) automatiza la búsqueda. Mantenga el bloqueo solo de forma temporal: una rolling release con paquetes fijados de forma duradera acaba en actualización parcial, el estado que hay que evitar a toda costa.
6. Las trampas de la rolling release
- La actualización parcial: nunca
pacman -Sy paquete, nunca unIgnorePkgpermanente. Todo el sistema avanza junto. - Actualizar justo antes de un viaje o de una fecha límite importante: si algo se rompe, no tendrá tiempo de repararlo. Actualice cuando tenga una hora por delante.
- El kernel actualizado sin reiniciar: los módulos del kernel anterior se eliminan del disco; conectar una memoria USB puede fallar hasta que reinicie.
- Los paquetes del AUR que se rompen tras una actualización de bibliotecas: recompílelos (
yay -S paquete --rebuild) después de los grandes saltos de versión (Python, ICU, OpenSSL). - La ausencia de copias de seguridad: las instantáneas de Btrfs con snapper, o Timeshift, convierten una actualización fallida en un incidente de cinco minutos.
7. El Arch Wiki: su referencia permanente
El Arch Wiki (wiki.archlinux.org) está considerado unánimemente como la mejor documentación de Linux que existe, hasta el punto de que los usuarios de Debian, Fedora o Gentoo lo consultan a diario. Cada página sigue la misma estructura: instalación, configuración, casos de uso, resolución de problemas.
# Consultar el wiki sin conexión, desde la terminal
sudo pacman -S arch-wiki-lite
wiki-search "systemd-boot"
Reflejo que conviene adquirir: antes de hacer cualquier pregunta en un foro, busque la página del wiki del software en cuestión. En nueve de cada diez casos, la respuesta está ahí, con las particularidades de Arch documentadas.
Buenas prácticas
- Haga la instalación manual al menos una vez antes de usar
archinstall: es el mejor curso acelerado sobre el funcionamiento de un sistema Linux. pacman -Syucompleto, al menos una vez por semana, nunca un-Syparcial.- Consulte los anuncios de archlinux.org antes de las actualizaciones importantes.
- Trate los archivos
.pacnewconpacdiffdespués de cada actualización. - Lea cada PKGBUILD antes de instalarlo desde el AUR, incluso a través de yay o paru.
- Limpie la caché con
paccache -r, pero conserve algunas versiones para poder volver atrás. - Configure instantáneas (snapper + Btrfs o Timeshift) antes de necesitarlas.
- Guarde la ISO de instalación en una memoria USB:
arch-chrootdesde el live es la herramienta de rescate universal.
Conclusión
Arch Linux exige más al principio y devuelve más después: un sistema mínimo que usted mismo ha ensamblado, paquetes siempre actualizados, ninguna actualización mayor que temer y una documentación de referencia. La contrapartida es una responsabilidad permanente: actualizaciones regulares, lectura de los anuncios, gestión de los .pacnew. Si esta disciplina le conviene, probablemente no volverá atrás nunca; e incluso si se queda en una distribución clásica, una instalación de Arch llevada hasta el final le habrá enseñado más sobre Linux que meses de uso ordinario. Próximo paso natural: explorar las instantáneas de Btrfs, los hooks de pacman para automatizar su mantenimiento y, por qué no, la creación de sus propios PKGBUILD.
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión