Tutorial de comandos pacman: guía completa para Arch y Manjaro

Última actualización: 26/02/2026
Autor: Isaac
  • Pacman es el gestor de paquetes central en Arch y derivados, con sintaxis compacta y gran flexibilidad desde la terminal.
  • Los comandos de actualización, instalación, búsqueda y limpieza permiten mantener el sistema estable y ligero a diario.
  • Funciones avanzadas como snapshots, consultas de dependencias y registro en logs facilitan depuración y clonación de entornos.
  • La integración con AUR mediante ayudantes como yay amplía enormemente el catálogo de software gestionado por pacman.

tutorial comandos pacman

Si usas Arch Linux o alguna derivada como Manjaro, tarde o temprano vas a acabar tirando de pacman como gestor de paquetes principal. Es rápido, potente y tremendamente flexible, pero sus opciones pueden abrumar al principio si vienes de otras distribuciones como Debian o Fedora.

En esta guía vas a encontrar una especie de chuleta ampliada: un tutorial de comandos pacman muy completo, que recoge tanto las órdenes básicas para el día a día como montones de atajos, trucos y combinaciones avanzadas. La idea es que puedas ir directo al grano, entender qué hace cada comando y tenerlo todo a mano en un solo sitio, sin tener que ir saltando de wiki en wiki.

¿Qué es pacman y cómo encaja en el mundo de los gestores de paquetes?

En Arch Linux, pacman es el gestor de paquetes binarios por defecto. Todo se maneja desde la terminal y está desarrollado principalmente por el equipo de Arch. Combina un formato de paquete muy sencillo (tarball comprimido con xz) con una forma igualmente simple de construir paquetes a partir de PKGBUILD usando makepkg.

Un paquete de Arch no es más que un archivo .pkg.tar.xz que incluye los binarios a instalar y metadatos. Entre esos metadatos destaca el fichero .PKGINFO, donde pacman encuentra la información necesaria sobre dependencias, descripción, versión, etc., para poder gestionar correctamente la instalación, actualización o eliminación.

El modelo de pacman es de tipo cliente/servidor: sincroniza una base de datos local con los repositorios y, a partir de ahí, descarga e instala paquetes resolviendo dependencias casi siempre de forma automática. Su filosofía encaja muy bien con el diseño rolling release de Arch, donde un simple comando mantiene el sistema al día.

Aunque pacman es de línea de comandos, si prefieres algo con clics siempre puedes acudir a Pamac u Octopi en entornos como Manjaro. Aun así, la flexibilidad y precisión que consigues en la consola no la vas a encontrar en ninguna interfaz gráfica, y por eso merece la pena invertir algo de tiempo en dominarlo.

Pacman frente a otros gestores: apt y yum de un vistazo

Para situar bien a pacman, conviene compararlo con otros gestores de paquetes populares en GNU/Linux. Todos automatizan instalación, actualización, configuración y eliminación de software, pero cada uno tiene su propia sintaxis y herramientas asociadas.

En el universo Debian y derivados (Ubuntu, Linux Mint, etc.) domina APT (Advanced Packaging Tool). Aquí se trabaja principalmente con paquetes .deb y se usan utilidades como apt-get y apt-cache. Con ellas puedes hacer tareas típicas como:

  • apt-get install nombre_paquete: instalar o actualizar un paquete concreto.
  • apt-get update: refrescar la lista de paquetes disponibles en los repositorios configurados.
  • apt-get upgrade: actualizar todos los paquetes instalados a sus últimas versiones.
  • apt-get remove nombre_paquete: desinstalar un paquete .deb del sistema.
  • apt-get clean: limpiar la caché de paquetes descargados.
  • apt-cache search nombre_paquete: buscar paquetes que coincidan con un patrón.

En la rama Red Hat y Fedora entra en juego YUM (Yellowdog Updater, Modified), un gestor orientado a paquetes RPM. De nuevo, se trata de una herramienta pensada para línea de comandos que muchas veces se integra detrás de interfaces gráficas:

  • yum install nombre_paquete: descargar e instalar un paquete rpm, resolviendo dependencias.
  • yum localinstall nombre_paquete.rpm: instalar un RPM local intentando completar las dependencias desde los repositorios.
  • yum update: actualizar uno o todos los paquetes RPM del sistema.
  • yum remove nombre_paquete: eliminar un paquete rpm instalado.
  • yum list: mostrar todos los paquetes instalados.
  • yum search nombre_paquete: buscar paquetes en los repositorios configurados.
  • yum clean packages / headers / all: limpiar distintas partes de la caché para ahorrar espacio.

Comparado con estos, pacman ofrece un conjunto de órdenes muy compacto: con unas pocas opciones puedes cubrir prácticamente todo el ciclo de vida del software, desde la búsqueda hasta el borrado completo con dependencias profundas.

Actualización del sistema con pacman

Mantener Arch actualizado es una tarea crítica, sobre todo en un sistema rolling. Con pacman dispones de una batería de comandos para sincronizar repositorios y subir de versión los paquetes según convenga.

Los comandos clave para actualizar son:

  • pacman -Sy: sincroniza la base de datos de repositorios sin actualizar nada.
  • pacman -Syy: fuerza la sincronización, incluso para paquetes que aparentemente están al día.
  • pacman -Syu: sincroniza repos y actualiza todos los paquetes del sistema; es la forma estándar de actualizar Arch.
  • pacman -Syyu: igual que el anterior, pero obligando a refrescar a fondo las bases de datos.
  • pacman -Su: actualiza paquetes usando la base de datos ya sincronizada, sin volver a bajar información de repos.

En muchas distribuciones derivadas también es habitual lanzar sudo pacman -Syu con un paquete concreto para instalarlo a la vez que se actualiza todo el sistema, por ejemplo: sudo pacman -Syu joplin. Así te aseguras de que nada se quede desfasado mientras integras nuevo software.

  Los amantes de Zelda pueden encontrar 15 maravillosos regalos de Navidad

A veces puede suceder que cambian las firmas de los paquetes y las verificaciones GPG impiden actualizar. En esos casos suele funcionar muy bien refrescar el llavero de Arch con:

sudo pacman -Sy archlinux-keyring && pacman -Su

Si por algún motivo necesitas permitir una bajada de versión (downgrade) global durante una actualización, existe la combinación:

sudo pacman -Syuu

Esta orden sincroniza repos y permite reemplazar paquetes por versiones anteriores. Es útil, por ejemplo, si cambias a una rama más antigua o si vas a usar un snapshot del Arch Linux Archive.

Búsqueda, información y listado de paquetes

Antes de instalar nada conviene saber qué ofrece exactamente el repositorio. Pacman cuenta con opciones muy directas para buscar paquetes, filtrarlos por nombre y obtener información detallada tanto de lo que hay en los repos como de lo que ya está instalado.

Para buscar en los repositorios remotos se usa:

  • pacman -Ss palabra_clave: muestra paquetes de los repos que coinciden con el texto indicado (por ejemplo, pacman -Ss joplin).

Si lo que quieres es buscar entre lo que ya tienes instalado en tu sistema:

  • pacman -Qs palabra_clave: filtra paquetes instalados por nombre o descripción (por ejemplo, pacman -Qs joplin).

Cuando necesitas ver detalles concretos de un paquete, hay dos variantes muy parecidas pero con matices importantes:

  • pacman -Si nombre_paquete: muestra la información de un paquete en los repositorios (versión disponible, dependencias, repositorio al que pertenece, etc.).
  • pacman -Qi nombre_paquete: enseña la ficha del paquete que ya está instalado en el sistema.

También puedes profundizar un poco más usando:

  • pacman -Sii nombre_paquete: información extendida sobre paquetes en repos, o sobre todos si no indicas nombre.
  • pacman -Qii nombre_paquete: detalles avanzados del paquete instalado, incluyendo archivos modificados y datos de respaldo.

En cuanto a listados, pacman permite ver distintos subconjuntos de software instalado:

  • pacman -Qs: muestra los paquetes instalados con su descripción (se puede filtrar por nombre).
  • pacman -Qe: enseña los paquetes instalados de forma explícita (no solo como dependencias).
  • pacman -Qm: lista paquetes instalados que no forman parte de los repos oficiales, por ejemplo aquellos traídos desde AUR.
  • pacman -Qqte: muestra paquetes que no son dependencias de nadie, útiles para limpieza o revisión.

Si quieres ver qué ficheros pertenecen a un paquete ya instalado, dispones de:

  • pacman -Ql nombre_paquete: lista archivos asociados a ese paquete.
  • pacman -Qo /ruta/al/archivo: averigua qué paquete instaló un archivo concreto (por ejemplo, pacman -Qo /usr/bin/joplin).

Instalación de paquetes con pacman

La labor más frecuente con pacman es, lógicamente, instalar software o grupos de paquetes. La sintaxis básica es muy compacta y admite tanto paquetes de repos oficiales como archivos locales o URLs directas.

Para instalar un paquete desde los repositorios oficiales:

  • sudo pacman -S nombre_paquete: instala o actualiza un paquete concreto y sus dependencias.
  • sudo pacman -S extra/nombre_paquete: igual que lo anterior, pero indicando explícitamente el repositorio, por ejemplo extra.

Si el paquete forma parte de un grupo, puedes tirar de:

  • pacman -S grupo_paquete: instala un grupo completo (ejemplo típico: pacman -S gnome).
  • pacman -Sg grupo_paquete: lista qué paquetes contiene un grupo antes de decidir qué instalar.

También es posible instalar desde repositorios de prueba (testing), siempre que estén habilitados en /etc/pacman.conf:

  • pacman -S testing/paquete: instala el paquete desde el repositorio de testing en lugar del repos estable.

Cuando tienes un paquete local o una URL con un .pkg.tar.xz, puedes usar:

  • sudo pacman -U /ruta/al/archivo.pkg.tar.xz: instala un paquete local.
  • sudo pacman -U https://url/del/paquete.pkg.tar.xz: instala directamente desde una dirección remota.

Si simplemente quieres descargar el paquete para tenerlo en la caché sin instalarlo aún:

  • sudo pacman -Sw nombre_paquete: baja el paquete y lo deja en /var/cache/pacman/pkg sin instalar.

Una variante más avanzada es la de reinstalar todos los paquetes del sistema excepto los que no proceden de los repos (por ejemplo, instalados desde AUR):

pacman -S $(pacman -Qq | grep -v "$(pacman -Qmq)")

Esto fuerza una reinstalación limpia de la paquetería oficial, algo útil en casos de corrupción de archivos o cambios fuertes de configuración.

Eliminación de paquetes y gestión de dependencias

Eliminar software en Arch también requiere cuidado, porque pacman ofrece distintos modos de borrado que afectan de forma diferente a dependencias, configuraciones y paquetes relacionados. Conviene saber muy bien qué hace cada opción antes de ejecutarla.

Los comandos básicos de borrado son:

  • sudo pacman -R nombre_paquete: elimina el paquete, pero deja activas sus dependencias.
  • sudo pacman -Rs nombre_paquete: borra el paquete y las dependencias que ya no son usadas por ningún otro paquete instalado.
  • sudo pacman -Rsu nombre_paquete: similar al anterior, asegurándose de retirar dependencias no utilizadas y paquetes recomendados asociados.

Si quieres ir un paso más allá y borrar también todo lo que depende de ese paquete (muy agresivo):

  • sudo pacman -Rc nombre_paquete: elimina el paquete y los que dependen directamente de él.
  • sudo pacman -Rcs nombre_paquete: retira el paquete, sus dependencias y todos los paquetes que dependen de esas dependencias, de forma recursiva. Es una operación con alto riesgo de cargarte medio sistema si no miras bien la lista previa.
  Ahorro medio a los 25, 30, 35 y 40 años

Respecto a los archivos de configuración y los .pacsave, también hay opciones específicas:

  • sudo pacman -Rn nombre_paquete: elimina el paquete evitando crear archivos de backup .pacsave.
  • sudo pacman -Rcns nombre_paquete: borra paquete, dependencias y archivos de configuración de forma muy profunda.

En situaciones donde pacman se niega a desinstalar porque un paquete es dependencia de otro, puedes forzar la operación con:

  • sudo pacman -Rdd nombre_paquete: borra el paquete incluso si es requerido por otros, sin tocarlos. Extremadamente delicado; solo recomendable si sabes exactamente las consecuencias.

Hay otra variante peligrosa pero útil cuando aparece el mensaje de que un archivo ya existe en el sistema durante una instalación o actualización:

pacman --overwrite "*" -S paquete

o para una actualización completa:

pacman --overwrite "*" -Syu

Estas órdenes fuerzan la sobrescritura de ficheros conflictivos, algo que solo deberías hacer tras revisar de dónde sale el conflicto y, si es posible, hacer copia de seguridad.

Manejo de paquetes huérfanos y limpieza de caché

Con el tiempo es normal que se acumulen en el sistema paquetes que fueron instalados como dependencias y que ya no son necesarios. También crece la caché de pacman en /var/cache/pacman/pkg con versiones antiguas de paquetes que ya no usas.

Para localizar paquetes huérfanos, tienes:

  • pacman -Qdt: lista paquetes instalados que ya no son dependencias de nada.
  • pacman -Qtdq: lo mismo, pero en formato silencioso (solo nombres), ideal para usar en scripts.

Una forma muy habitual de limpiar estos paquetes es:

sudo pacman -Rs $(pacman -Qdtq)

Con esta combinación se eliminan todos los paquetes huérfanos junto con sus dependencias innecesarias, liberando bastante espacio en algunos sistemas.

En lo referente a la caché de pacman, existen varias opciones de mantenimiento:

  • sudo pacman -Sc: borra de la caché aquellos paquetes que ya no están instalados.
  • sudo pacman -Scc: elimina completamente todo el contenido de la caché, incluidos paquetes actualmente instalados. Solo recomendable en situaciones de espacio crítico en disco.
  • paccache -rvk3: mantiene las tres últimas versiones de cada paquete y borra el resto, mostrando el detalle de lo que hace.

También existe pacman-optimize, una herramienta pensada para desfragmentar y optimizar la base de datos de pacman. Su uso hoy en día es menos frecuente, pero puede ser útil en instalaciones largas o muy antiguas donde el rendimiento haya caído.

Configuración de pacman, mirrors y colores

El corazón de la configuración de pacman se encuentra en el archivo /etc/pacman.conf. Es un fichero propiedad de root, así que tendrás que editarlo con sudo (por ejemplo, sudo nano /etc/pacman.conf o similar) cada vez que quieras cambiar algo.

Algunas personalizaciones sencillas y muy prácticas son:

  • Activar colores en la salida del terminal añadiendo o descomentando Color.
  • Activar la animación tipo «Pacman comiendo píldoras» añadiendo ILoveCandy.

En el fichero de configuración también puedes definir paquetes que quieres ignorar sistemáticamente en las actualizaciones, algo útil si un paquete concreto da problemas o prefieres mantener una versión concreta. Para ello se usa la directiva:

IgnorePkg = linux-firmware linux-headers linux

que se puede adaptar a tus necesidades. De esta forma evitas repetir la opción –ignore paquete1,paquete2 cada vez que ejecutas pacman -Syu.

Por otro lado, los repositorios que pacman utiliza se definen en /etc/pacman.d/mirrorlist. Es posible, por ejemplo, obtener la lista de mirrors de un país concreto (como Spain) con utilidades como awk, o regenerar por completo la mirrorlist descargando la lista oficial:

curl -o /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/

Tras ello tendrás que editar el fichero para descomentar los servidores que quieras usar y después ejecutar algo como pacman -Syu pacman-mirrorlist para asegurarte de que todo queda actualizado.

Además, existe una URL con el estado de todos los mirrors de Arch donde puedes ver si uno está caído o lento: https://www.archlinux.org/mirrors/status/. Consultarla de vez en cuando ayuda a evitar problemas de sincronización.

Consultas sobre ficheros, dependencias y base de datos de archivos

Pacman no solo instala y borra; también es una herramienta muy potente para interrogar al sistema sobre qué paquete proporciona qué archivo, qué depende de qué y cómo se relacionan entre sí los paquetes.

Para consultas relacionadas con ficheros pertenecientes a paquetes de los repositorios existe la base de datos de archivos (file database):

  • pacman -Fy: actualiza la base de datos de archivos.
  • pacman -F fichero: busca a qué paquete pertenece un archivo dado en los repositorios.
  • pacman -Fx patrón: permite usar expresiones regulares; por ejemplo pacman -Fx fstrim.s* para localizar varios archivos relacionados con fstrim.

En muchos casos, además de pacman, se utilizan utilidades externas como pkgfile y pactree:

  • pkgfile -l paquete: lista los archivos que contiene un paquete en los repositorios (no necesariamente instalado).
  • pkgfile vim: busca paquetes que contengan la cadena indicada en su nombre o ruta de archivo.
  • pactree nmap: muestra las dependencias de un paquete en forma de árbol.
  • pactree -r paquete: enseña qué paquetes dependen del paquete especificado.
  Saca al iPhone del modo de restauración

Con pacman también puedes listar ficheros instalados por un paquete en tu sistema:

  • pacman -Ql nombre_paquete: lista completa de ficheros.
  • pacman -Qlq nombre_paquete | grep -v ‘/$’ | xargs du -h | sort -h: muestra tamaños de los ficheros no directorios, ordenados de menor a mayor, muy útil para detectar qué ocupa más en disco.

Si necesitas averiguar qué fichero pertenece a qué paquete ya instalado:

  • pacman -Qo /ruta/del/archivo: devuelve el paquete propietario de esa ruta.

Por último, para explorar dependencias de una lista de paquetes concreta se pueden combinar pacman con awk, sort y xargs, por ejemplo:

pacman -Si paquete1 paquete2 | awk -F '[:<=>]' '/^Depends/ {print $2}' | xargs -n1 | sort -u

Esta línea extrae todas las dependencias declaradas por varios paquetes, las desglosa en una lista única y ordenada alfabéticamente.

Snapshots, downgrades y control de versiones con Arch Linux Archive

Una diferencia clave de Arch respecto a otras distribuciones es que, al ser rolling release, no hay puntos de versiones fijos. Aun así, la comunidad mantiene el Arch Linux Archive, un sistema de snapshots que permite fijar el estado de los repositorios en una fecha concreta.

Esto sirve para reproducir entornos de pruebas, hacer diagnósticos o recuperar un sistema que empezó a fallar después de una actualización conflictiva. La wiki oficial del Arch Linux Archive detalla el mecanismo, pero el esquema básico es:

  • Editar /etc/pacman.d/mirrorlist para que el servidor apunte a una fecha concreta, por ejemplo:
    Server=https://archive.archlinux.org/repos/2024/04/11/$repo/os/$arch
  • Ejecutar pacman -Syyuu para forzar que todos los paquetes se ajusten a las versiones de esa fecha.

Esta técnica debe utilizarse con mucha cabeza, porque al configurar un snapshot antiguo puede romperse la compatibilidad con archivos de configuración generados por versiones nuevas de algunas aplicaciones (caso típico: navegadores como Firefox). Cuanto más lejos viajes al pasado y más software tengas instalado, más posibilidades de que algo falle.

En el fichero /var/log/pacman.log tienes un histórico completo de las actualizaciones realizadas, por lo que puedes consultar fácilmente la última fecha en la que recuerdas que el sistema estaba funcionando bien y usarla como referencia para el snapshot.

Registro de operaciones y comandos usados con pacman

Todo lo que hace pacman queda registrado en /var/log/pacman.log. Este log es una mina de oro cuando necesitas revisar qué se instaló, qué se eliminó y en qué momento, o cuando quieres reconstruir el estado del sistema en otro equipo.

Por ejemplo, para listar los comandos que realmente instalaron algo (transacciones iniciadas con pacman -S) puedes usar:

grep -B 1 "transaction started" /var/log/pacman.log | grep "pacman -S"

Si lo que buscas es filtrar por fecha concreta:

grep -i 2018-03-25 /var/log/pacman.log

También resulta muy práctico exportar la lista de paquetes instalados explícitamente en un equipo A y replicarla en un equipo B:

pacman -Qqe > pkglist.txt
pacman -S - < pkglist.txt

De esta forma puedes clonar el conjunto de paquetes entre máquinas, manteniendo consistencia entre entornos de trabajo o servidores.

Relación entre pacman y AUR: yay y otros ayudantes

Aunque pacman se encarga de los repos oficiales, en el ecosistema Arch es muy común tirar de AUR (Arch User Repository) para paquetes mantenidos por la comunidad. Pacman no accede directamente a AUR, pero existen ayudantes como yay que permiten gestionar estos paquetes usando prácticamente las mismas órdenes.

Con yay puedes, por ejemplo, ejecutar yay -S nombre_paquete y que el programa busque en repos oficiales y en AUR, compile si hace falta y lo instale. Una curiosidad útil es que muchos de los comandos de pacman que has visto (búsqueda, instalación, actualización global) se pueden usar de forma casi idéntica con yay, lo que simplifica bastante el flujo de trabajo.

Si quieres identificar qué paquetes de tu sistema vienen de AUR o de fuentes externas, el comando:

pacman -Qqm

te mostrará los paquetes que no forman parte de los repos oficiales. Es una forma rápida de medir cuánto dependes de AUR o de paquetes construidos a mano con makepkg a partir de un PKGBUILD descargado, por ejemplo, con wget desde https://aur.archlinux.org.

En este último caso, el flujo típico sería algo como:

wget https://aur.archlinux.org/.../PKGBUILD
makepkg
sudo pacman -U path-to-generated.tar.xz

Este enfoque mantiene toda la gestión de paquetes bajo el paraguas de pacman, incluso si el origen es AUR y no un repositorio oficial.

Dominar toda esta batería de comandos y trucos convierte a pacman en una herramienta casi imbatible para gestionar Arch y sus derivadas: desde mantener el sistema al día y ligero, hasta investigar dependencias, reconstruir instalaciones o jugar con snapshots del pasado, todo pasa por una serie de órdenes que, con algo de práctica, se vuelven parte del día a día sin que tengas ni que mirarlas en una chuleta.