system onlinepath: /guias/linux/gestion-de-paquetes-en-linux-apt-dnf-pacman/mode: knowledge_baselocal:
Linux y sistemas · Nivel inicial

Gestión de paquetes en Linux: apt, dnf y pacman

En Linux no se instala software descargando ejecutables sueltos: se pide a un gestor de paquetes que lo traiga de un repositorio de confianza, con sus dependencias y sus actualizaciones.

12 min de lectura▣ Actualizada el ◇ Por Underc0de
Respuesta rápida

En Linux no se instala software descargando un ejecutable de una web cualquiera, como en Windows. En su lugar, un gestor de paquetes se encarga de traer los programas desde repositorios —almacenes de software revisado y firmado que mantiene la distribución— y de instalarlos con todo lo que necesitan. Cada programa viene como un paquete: un archivo con el software y su información (versión, qué otros paquetes requiere). Cuando pedís instalar algo, el gestor resuelve las dependencias automáticamente: descarga también las bibliotecas y componentes de los que ese programa depende, sin que tengas que buscarlos a mano. Cada familia de distribuciones tiene su gestor: apt en Debian y Ubuntu, dnf en Fedora y derivadas, pacman en Arch. Los verbos son los mismos en todos: actualizar el índice, instalar, quitar, buscar y actualizar todo. Este modelo tiene dos grandes ventajas: seguridad (el software viene de una fuente de confianza y firmada, no de un instalador dudoso) y mantenimiento (una sola orden actualiza todo el sistema, incluidas las correcciones de seguridad). Formatos como Flatpak lo complementan para apps de escritorio.

Ver índice de contenidos
  1. 01Qué es un gestor de paquetes
  2. 02Repositorios y dependencias
  3. 03Los comandos por familia
  4. 04Errores frecuentes
  5. 05Preguntas frecuentes
  6. 06Fuentes

Qué es un gestor de paquetes

Un gestor de paquetes es el programa que instala, actualiza y elimina software en tu sistema de forma ordenada. En vez de que cada quien descargue instaladores sueltos de mil sitios distintos, el sistema centraliza todo: le pedís al gestor lo que querés y él lo trae de un sitio de confianza, lo instala y lleva la cuenta de qué hay puesto.

Un «app store» de línea de comandos, más antiguo

El modelo es parecido al de las tiendas de aplicaciones del móvil —de hecho, Linux lo hacía décadas antes—: un catálogo central, instalación con una orden, actualizaciones automáticas y desinstalación limpia. La diferencia es que aquí el catálogo es un repositorio mantenido por la distribución, y la interfaz clásica es la terminal (aunque casi todas las distros tienen también una tienda gráfica encima).

Repositorios y dependencias

Cómo funciona la gestión de paquetes en Linux, mostrando el flujo desde el repositorio hasta el sistema instalado. En el centro superior se representa el repositorio, descrito como un almacén de software revisado, firmado y mantenido por la distribución, que contiene miles de paquetes disponibles. Se explica que un paquete es un archivo que contiene el programa junto con su información, es decir su nombre, su versión y la lista de otros paquetes de los que depende. A la izquierda se representa al usuario, que mediante el gestor de paquetes emite una orden sencilla, por ejemplo instalar un programa. En el centro se representa el gestor de paquetes como intermediario que realiza varios pasos automáticamente. Primero consulta su índice local, que es una lista de lo que hay disponible en el repositorio y que se mantiene actualizada con una orden de actualización de índices. Segundo, resuelve las dependencias, es decir, detecta qué otras bibliotecas y componentes necesita el programa solicitado y los añade a la lista de lo que hay que instalar, de modo que el usuario no tiene que buscarlos a mano. Tercero, descarga los paquetes necesarios desde el repositorio, comprobando su firma digital para verificar que provienen de la fuente legítima y no han sido alterados. Cuarto, los instala en las ubicaciones correctas del sistema y registra lo instalado para poder actualizarlo o eliminarlo limpiamente después. A la derecha se representa el sistema ya con el software instalado y funcionando, con sus dependencias satisfechas. En la parte inferior se destacan las dos grandes ventajas de este modelo frente a descargar ejecutables sueltos de internet. La primera es la seguridad, porque el software proviene de una fuente de confianza y viene firmado, en lugar de un instalador de origen dudoso que podría contener software malicioso. La segunda es el mantenimiento, porque una sola orden actualiza todo el sistema de golpe, incluidas las correcciones de seguridad de todos los programas instalados, sin tener que actualizar cada aplicación por separado. Estilo oscuro de terminal, con el repositorio, el gestor y el sistema como bloques conectados por flechas que muestran el flujo de la petición y de los paquetes.
El gestor consulta su índice, resuelve dependencias, descarga los paquetes firmados del repositorio y los instala. Una sola fuente de confianza; una sola orden para actualizar todo.

Dos conceptos son la clave del modelo:

  • Repositorio. Un almacén de software revisado y firmado que mantiene la distribución. Al venir de ahí, tenés garantía de origen: no es un ejecutable que bajaste de una web dudosa. El gestor guarda un índice local de lo que hay disponible, que conviene actualizar antes de instalar.
  • Dependencias. Casi ningún programa es autosuficiente: necesita bibliotecas y componentes compartidos. El gestor resuelve las dependencias por vos: cuando instalás algo, trae también todo lo que ese algo requiere, y no instala dos veces lo que ya está.

Los comandos por familia

Los verbos son los mismos en las tres familias; solo cambia el nombre del gestor. Todos requieren sudo para instalar o quitar.

AcciónDebian/Ubuntu (apt)Fedora (dnf)Arch (pacman)
Actualizar índicesudo apt updatesudo dnf check-updatesudo pacman -Sy
Instalarsudo apt install nginxsudo dnf install nginxsudo pacman -S nginx
Quitarsudo apt remove nginxsudo dnf remove nginxsudo pacman -R nginx
Buscarapt search textodnf search textopacman -Ss texto
Actualizar todosudo apt upgradesudo dnf upgradesudo pacman -Syu
i
Siempre actualizar el índice antes de instalar

Con apt, el hábito es sudo apt update (refresca la lista de lo disponible) y después sudo apt install. Si instalás sin actualizar el índice, podés obtener una versión vieja o un error de «paquete no encontrado». En Arch, pacman -Syu hace ambas cosas y es la forma recomendada de mantener el sistema. Ver actualizar el sistema operativo Linux.

Además de los gestores nativos, formatos universales como Flatpak (y Snap) permiten instalar apps de escritorio empaquetadas con sus dependencias, iguales en cualquier distribución; son un complemento útil, sobre todo para software gráfico reciente.

Errores frecuentes

  • Descargar ejecutables de webs cualquiera. Rompe la garantía de origen; usar el gestor y los repositorios oficiales.
  • Instalar sin actualizar el índice. Da versiones viejas o «paquete no encontrado»; hacer apt update antes.
  • Añadir repositorios de terceros sin criterio. Amplían el software pero también la superficie de confianza; solo fuentes fiables.
  • Forzar la eliminación de dependencias. Puede romper otros programas; dejar que el gestor calcule qué quitar.
  • Mezclar gestores para lo mismo. Instalar un paquete por dos vías distintas genera conflictos.
  • Ignorar las actualizaciones. El gestor es la vía de los parches de seguridad; postergarlas deja el sistema expuesto.
  • Compilar a mano lo que está en el repositorio. Pierde las actualizaciones automáticas; preferir el paquete cuando existe.

Preguntas frecuentes

¿Qué es un gestor de paquetes en Linux?

Un gestor de paquetes es el programa encargado de instalar, actualizar y eliminar software en un sistema Linux de forma ordenada y centralizada. En lugar de que cada usuario tenga que buscar y descargar instaladores sueltos por su cuenta, como es habitual en otros sistemas, el gestor de paquetes actúa como intermediario entre el usuario y unos almacenes de software llamados repositorios: el usuario le indica qué programa quiere, y el gestor se encarga de localizarlo, descargarlo, comprobar su autenticidad, instalarlo con todo lo que necesita y llevar un registro de lo que hay instalado. Cada programa se distribuye en forma de paquete, que es un archivo que contiene tanto el software como su información asociada, incluyendo su versión y la lista de otros paquetes de los que depende. Gracias a este modelo, la instalación de software en Linux es un proceso controlado, en el que el sistema sabe en todo momento qué está instalado, de dónde vino y qué depende de qué, lo que permite actualizar todo de forma coherente y desinstalar limpiamente sin dejar restos. El concepto es análogo al de las tiendas de aplicaciones de los teléfonos móviles, con un catálogo central del que se instala con una sola acción, aunque en Linux este modelo existe desde mucho antes y su interfaz tradicional es la línea de comandos, complementada hoy por tiendas gráficas.

¿Por qué no debo descargar programas de cualquier web?

Descargar e instalar programas desde webs arbitrarias en Linux es una mala práctica porque rompe precisamente las garantías que ofrece el modelo de repositorios y gestores de paquetes, que son la seguridad y el mantenimiento. Cuando se instala software desde un repositorio oficial, ese software ha sido empaquetado y revisado por la distribución, y se descarga acompañado de una firma digital que el gestor comprueba para verificar que proviene de la fuente legítima y que no ha sido alterado por el camino; esto ofrece una fuerte protección contra la instalación de software malicioso o manipulado. Un ejecutable descargado de un sitio cualquiera no ofrece ninguna de esas garantías: puede haber sido modificado para incluir código dañino, puede provenir de una fuente suplantada, y no hay un mecanismo automático que verifique su integridad. Además, el software instalado por fuera del gestor queda fuera de su control, lo que significa que no se actualizará automáticamente cuando aparezcan correcciones de seguridad, no se registrará junto al resto del sistema, y su desinstalación puede dejar restos. Por todo ello, la práctica recomendada es instalar siempre desde los repositorios oficiales de la distribución mediante el gestor de paquetes, recurrir a formatos universales de confianza como Flatpak cuando un programa no esté en los repositorios, y reservar la instalación manual desde fuera solo para casos justificados y de fuentes verificadas, entendiendo que en esos casos se asume la responsabilidad de su seguridad y mantenimiento.

¿Qué son las dependencias y por qué importan?

Las dependencias son los componentes de software adicionales que un programa necesita para funcionar, principalmente bibliotecas compartidas que proporcionan funciones comunes que muchos programas reutilizan en lugar de incluir cada uno su propia copia. Casi ningún programa es completamente autosuficiente: por ejemplo, una aplicación puede depender de una biblioteca para manejar imágenes, otra para conexiones seguras y otra para comprimir datos, y esas bibliotecas son a su vez paquetes que deben estar instalados para que la aplicación funcione. La razón por la que las dependencias importan tanto es que gestionarlas manualmente sería una tarea enorme y propensa a errores, ya que habría que averiguar qué necesita cada programa, en qué versión, y descargarlo e instalarlo todo en el orden correcto. El gran valor de un gestor de paquetes es que resuelve las dependencias automáticamente: cuando se pide instalar un programa, el gestor examina su lista de dependencias, determina cuáles faltan en el sistema, las añade a la operación y las instala junto con el programa, evitando además duplicar las que ya están presentes y compartiéndolas entre los programas que las necesiten. Este mecanismo también funciona a la inversa al desinstalar, ayudando a identificar qué dependencias quedaron sin uso. Gracias a la resolución automática de dependencias, instalar software complejo se reduce a una sola orden, y el sistema mantiene un conjunto coherente de componentes sin conflictos ni duplicados.

¿Cuál es la diferencia entre apt, dnf y pacman?

apt, dnf y pacman son los gestores de paquetes de las tres grandes familias de distribuciones de Linux, y aunque cumplen exactamente la misma función, difieren en la distribución a la que pertenecen, en el formato de paquete que manejan y en la sintaxis concreta de sus comandos. apt es el gestor de la familia Debian, que incluye Debian y sus derivadas como Ubuntu, y trabaja con paquetes en formato deb; sus comandos son bastante explícitos y legibles, con verbos como update para refrescar el índice, install para instalar y upgrade para actualizar. dnf es el gestor de la familia Red Hat, que incluye Fedora y distribuciones empresariales derivadas, y trabaja con paquetes en formato rpm; su sintaxis es muy similar en espíritu a la de apt, con verbos igualmente descriptivos. pacman es el gestor de Arch Linux y sus derivadas, y se caracteriza por una sintaxis más compacta basada en opciones de una sola letra, donde por ejemplo la opción de sincronizar sirve tanto para instalar como para actualizar. A pesar de estas diferencias de forma, los conceptos subyacentes son idénticos en todos: existe la noción de actualizar el índice de lo disponible, de instalar y quitar paquetes, de buscar en el catálogo y de actualizar todo el sistema de golpe. Por eso, quien entiende el modelo con un gestor puede pasar a otro con facilidad, simplemente aprendiendo la traducción de los comandos, que suele caber en una pequeña tabla de equivalencias.

¿Qué son Flatpak y Snap?

Flatpak y Snap son formatos de empaquetado de software universales, pensados para complementar a los gestores de paquetes nativos de cada distribución y resolver algunas de sus limitaciones, especialmente para las aplicaciones de escritorio. La idea central de estos formatos es empaquetar cada aplicación junto con las dependencias que necesita, de modo que el paquete es autosuficiente y funciona de la misma manera en cualquier distribución, independientemente de las versiones de bibliotecas que tenga instaladas el sistema. Esto tiene varias ventajas: los desarrolladores pueden distribuir una sola versión de su aplicación válida para todas las distribuciones, en lugar de tener que empaquetarla por separado para apt, dnf, pacman y demás; los usuarios pueden acceder a versiones muy recientes de las aplicaciones sin depender de que la distribución las haya incorporado a sus repositorios; y las aplicaciones suelen ejecutarse con cierto grado de aislamiento del resto del sistema, lo que aporta seguridad. A cambio, estos paquetes tienden a ocupar más espacio, porque incluyen sus propias dependencias en lugar de compartir las del sistema. Flatpak, distribuido a través de repositorios como Flathub, se ha vuelto especialmente popular para el software gráfico, mientras que Snap es el formato impulsado por Ubuntu. En la práctica, el enfoque recomendable es usar el gestor nativo de la distribución como vía principal, sobre todo para componentes del sistema y herramientas de línea de comandos, y recurrir a Flatpak o Snap para aplicaciones de escritorio recientes que no estén en los repositorios o que se quieran en su última versión.

¿El gestor de paquetes también sirve para actualizar el sistema?

Sí, y esta es una de las mayores ventajas del modelo de gestión de paquetes de Linux frente al de otros sistemas. El mismo gestor que instala programas es también la vía por la que se actualiza todo el software del sistema, incluidos tanto las aplicaciones como muchos componentes del propio sistema operativo, y muy especialmente las correcciones de seguridad. Con una sola orden de actualización, el gestor consulta los repositorios, detecta qué paquetes instalados tienen versiones más nuevas disponibles, y los actualiza todos de forma coordinada, resolviendo las dependencias para mantener el conjunto coherente. Esto contrasta con el modelo en el que cada aplicación tiene su propio mecanismo de actualización independiente, que obliga a mantener cada programa por separado y facilita que alguno quede olvidado y desactualizado. En Linux, actualizar el sistema se reduce esencialmente a refrescar el índice de los repositorios y luego pedir la actualización general, lo que hace que mantener el equipo al día en materia de seguridad sea sencillo y rápido. Por eso una de las recomendaciones básicas de seguridad en Linux es aplicar las actualizaciones con regularidad a través del gestor de paquetes, ya que es a través de él como llegan los parches que corrigen las vulnerabilidades descubiertas en el software instalado. Existe una guía específica dedicada a cómo actualizar el sistema operativo con detalle, que profundiza en este proceso y en sus buenas prácticas.

Fuentes

Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.

Aportes de la comunidad Underc0de

  1. Underc0de, foro. Sección GNU/Linux. Instalación y gestión de software.
  2. Underc0de, blog. Blog de la comunidad. Artículos de sistemas.

Documentación oficial

  1. Debian. APT y gestión de paquetes. Referencia oficial de apt.
  2. Fedora. DNF. Documentación oficial de dnf.
  3. Arch Wiki. pacman. Guía oficial de pacman.
  4. Flatpak. Documentación. Formato universal complementario.