Hola Fronters 👋
Llegamos a la tercera y última entrega de nuestra serie sobre administración de paquetería en Linux. Ya cubrimos Debian y derivados (Parte I) y RHEL y derivados (Parte II). Hoy toca el turno de una de las distribuciones más queridas por la comunidad: ArchLinux y sus derivados como Manjaro, EndeavourOS, Garuda Linux y ArcoLinux.
ArchLinux tiene un enfoque único: rolling release, simplicidad, y el famoso gestor de paquetes pacman, acompañado del ecosistema AUR (Arch User Repository). Prepárate para una experiencia de gestión de paquetes como ninguna otra. ¡Vamos allá! 🚀
Pacman: el corazón de ArchLinux
Pacman (Package Manager) es el gestor de paquetes de ArchLinux. Es rápido, eficiente y combina en un solo binario lo que en otras distribuciones se reparte entre múltiples herramientas. Maneja tanto la resolución de dependencias como la instalación, actualización y eliminación de paquetes.
Comandos básicos de Pacman
Sincronizar repositorios
sudo pacman -Sy
Actualizar todo el sistema
sudo pacman -Syu
Esta es la forma correcta de mantener ArchLinux actualizado. A diferencia de Debian o RHEL, en Arch no hay separación entre update y upgrade; todo se hace en un solo comando.
Instalar paquetes
sudo pacman -S nginx
sudo pacman -S nginx php-fpm mariadb
Eliminar paquetes
sudo pacman -R nginx # elimina el paquete
sudo pacman -Rs nginx # elimina el paquete + dependencias no necesarias
sudo pacman -Rns nginx # elimina + dependencias + archivos de configuración
Buscar paquetes
pacman -Ss servidor web # busca en repositorios
pacman -Qs nginx # busca solo entre paquetes instalados
pacman -Si nginx # información detallada de un paquete
pacman -Qi nginx # información de un paquete instalado
Listar paquetes instalados
pacman -Q # todos los paquetes
pacman -Qe # solo los explícitamente instalados
pacman -Qdt # dependencias huérfanas
pacman -Ql nginx # listar archivos de un paquete
pacman -Qo /etc/nginx/nginx.conf # qué paquete instaló un archivo
Instalar desde un archivo local
sudo pacman -U paquete.pkg.tar.zst
Flags clave de pacman
-S: sincronizar (install desde repos)-R: remove-Q: query-U: instalar desde archivo local-y: refrescar la base de datos de paquetes-u: actualizar el sistema-s: buscar por nombre/descripción-i: información del paquete-l: listar archivos-o: buscar qué paquete posee un archivo-c: limpiar caché
pacman.conf: configuración global
El archivo de configuración de pacman se encuentra en /etc/pacman.conf:
[options]
HoldPkg = pacman glibc
Architecture = auto
Color
ILoveCandy
CheckSpace
VerbosePkgLists
ParallelDownloads = 5
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
Algunas opciones interesantes:
- Color: output a color
- ILoveCandy: barra de progreso con temática de Pokémon
- ParallelDownloads: descarga varios paquetes simultáneamente
- VerbosePkgLists: muestra paquetes con versión en las actualizaciones
Mirrorlist: espejos de descarga
ArchLinux usa /etc/pacman.d/mirrorlist para definir desde qué servidores descargar los paquetes. La velocidad de las actualizaciones depende en gran medida de tener mirrors rápidos y geográficamente cercanos.
# Generar mirrorlist optimizada con Reflector
sudo pacman -S reflector
sudo reflector --country Venezuela --latest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# También puedes usar Rankmirrors (obsoleto)
# o editar manualmente el archivo moviendo mirrors rápidos al inicio
AUR: Arch User Repository
El AUR es un repositorio comunitario donde los usuarios de Arch comparten PKGBUILD (scripts para compilar/empaquetar software). Es la razón principal por la que Arch tiene tanto software disponible, incluso programas que no están en los repositorios oficiales.
El flujo manual para instalar desde AUR:
# 1. Clonar el repositorio del PKGBUILD
git clone https://aur.archlinux.org/yay.git
cd yay
# 2. Revisar el PKGBUILD (¡siempre!)
cat PKGBUILD
# 3. Compilar e instalar
makepkg -si
Ayudantes de AUR: Yay y Paru
Los ayudantes de AUR automatizan el proceso de buscar, descargar, compilar e instalar paquetes desde el AUR. Los dos más populares son yay y paru.
Yay (Yet Another Yogurt)
# Instalar yay desde AUR
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
# Usar yay (compatible con los flags de pacman)
yay -S google-chrome # instalar desde AUR
yay -Syu # actualizar sistema + AUR
yay -Ss spotify # buscar en repos y AUR
yay -Rns google-chrome # eliminar
yay -Yc # limpiar dependencias huérfanas
Paru
# Instalar paru
git clone https://aur.archlinux.org/paru-bin.git
cd paru-bin
makepkg -si
# Comandos similares a yay
paru -S visual-studio-code-bin
paru -Syu
paru -Ss discord
PKGBUILD: el corazón del AUR
Un PKGBUILD es un script Bash que describe cómo compilar e instalar un paquete en ArchLinux. Es similar a un Dockerfile pero para empaquetado.
# Ejemplo de PKGBUILD
pkgname=mi-programa
pkgver=1.0.0
pkgrel=1
pkgdesc="Un programa genial para Fronters"
arch=('x86_64')
url="https://github.com/fronter/mi-programa"
license=('GPL3')
depends=('glibc' 'libcurl')
source=("$url/archive/v$pkgver.tar.gz")
sha256sums=('abcdef1234567890...')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
}
makepkg: compilar paquetes
makepkg es la herramienta que lee un PKGBUILD y genera un paquete .pkg.tar.zst instalable con pacman.
makepkg # compilar (genera .pkg.tar.zst)
makepkg -si # compilar e instalar
makepkg -s # instalar dependencias automáticamente
makepkg -c # limpiar archivos temporales tras compilar
makepkg --verifysource # solo verificar checksums
makepkg --noconfirm # no preguntar confirmación
Gestión de la caché de pacman
Pacman guarda todos los paquetes descargados en /var/cache/pacman/pkg/. Con el tiempo, esta caché puede ocupar varios gigabytes.
# Limpiar caché (mantiene las últimas 3 versiones)
sudo pacman -Sc
# Limpiar todo el caché (solo versiones instaladas)
sudo pacman -Scc
# Usar paccache (parte de pacman-contrib) para control granular
sudo pacman -S pacman-contrib
sudo paccache -rk 2 # mantener 2 versiones por paquete
sudo paccache -ruk 0 # eliminar versiones desinstaladas
sudo paccache -rk 2 -uk 1 # combinar: 2 instaladas, 1 desinstalada
Downgrade de paquetes
Aunque Arch es rolling release y se espera que siempre estés al día, a veces necesitas revertir un paquete a una versión anterior.
# Usando pacman desde la caché
sudo pacman -U /var/cache/pacman/pkg/nginx-1.24.0-1-x86_64.pkg.tar.zst
# Usando downgrade (herramienta del AUR)
yay -S downgrade
sudo downgrade nginx
Es recomendable agregar paquetes downgradeados a IgnorePkg en /etc/pacman.conf para evitar que se sobrescriban en la próxima actualización:
IgnorePkg = nginx
Comparativa rápida
| Función | Debian (apt) | RHEL (dnf) | Arch (pacman) |
|---|---|---|---|
| Instalar | apt install | dnf install | pacman -S |
| Eliminar | apt remove | dnf remove | pacman -R |
| Actualizar | apt update + upgrade | dnf update | pacman -Syu |
| Buscar | apt search | dnf search | pacman -Ss |
| Info | apt show | dnf info | pacman -Si |
| Archivos | dpkg -L | rpm -ql | pacman -Ql |
Buenas prácticas en ArchLinux
- Actualiza frecuentemente (
pacman -Syual menos una vez por semana). Arch es rolling release y posponer actualizaciones puede romper el sistema - Revisa archlinux.org/news antes de actualizar, especialmente si hubo cambios importantes en pacman, glibc o systemd
- Siempre revisa el PKGBUILD antes de compilar desde AUR
- Usa paccache para mantener la caché bajo control
- Si usas yay o paru, prefiero las versiones
-bin(binarios precompilados) para ahorrar tiempo de compilación - Mantén un kernel LTS instalado como respaldo por si una actualización del kernel principal falla
Conclusión
ArchLinux ofrece una experiencia de gestión de paquetes única: rápida, simple y potente. Pacman es uno de los gestores más eficientes del mundo Linux, y el AUR te da acceso a prácticamente cualquier software imaginable.
Con esta serie hemos cubierto los tres grandes ecosistemas de paquetería en Linux: Debian/APT, RHEL/DNF y Arch/Pacman. Cada uno tiene sus fortalezas y su filosofía, pero todos comparten el mismo objetivo: hacer que la gestión de software en Linux sea robusta, predecible y eficiente.
Esperamos que esta serie te haya sido de utilidad. Si te gustó, no olvides compartir y dejar tu comentario. Nos vemos en el próximo artículo Fronters! 🐧
📊 Infografía: Pacman y AUR (ArchLinux)
Descarga nuestra infografía resumen con los comandos principales:
📥 Puedes descargar la infografía aquí
🔗 Infografía comparativa general — Descarga la comparativa de todos los gestores de paquetes.
