-->

Comando apt-get

apt-get

El comando apt-get es la herramienta clásica de línea de comandos en distribuciones Linux basadas en Debian (como Ubuntu, Mint o Debian) para la gestión avanzada de paquetes de software. Permite instalar, actualizar, configurar y desinstalar aplicaciones y dependencias directamente desde los repositorios oficiales de forma automatizada.

Categoría Sistema y software
Disponible en Linux (Debian / Ubuntu / derivadas)
Equivalente en Windows winget, choco (Chocolatey), gestión de características de Windows
Sustituye a Antiguos sistemas de gestión de paquetes de bajo nivel (como dpkg de forma aislada). Coexiste con el comando moderno apt.
¿Requiere permisos de administrador? Sí, todas las acciones que modifican el sistema (instalar, actualizar o eliminar software) exigen privilegios de superusuario (sudo).

¿Qué significa su nombre?

APT-GET proviene de la combinación de APT (Advanced Packaging Tool, Herramienta Avanzada de Empaquetado) y el sufijo GET (obtener).

Representa la interfaz clásica orientada a la obtención y manipulación de paquetes de software dentro del ecosistema de gestión de Debian.

¿Para qué sirve?

El comando apt-get sirve para administrar el ciclo de vida del software en el sistema operativo. Permite sincronizar las listas locales con los repositorios remotos, actualizar el sistema operativo completo, instalar nuevas aplicaciones resolviendo automáticamente las dependencias necesarias y eliminar programas de forma limpia.

Aunque en las distribuciones actuales se suele recomendar el uso del comando simplificado apt para el trabajo interactivo del día a día, apt-get sigue siendo el estándar indiscutible en scripts de automatización, contenedores Docker y despliegues debido a su compatibilidad estricta y estabilidad retroactiva.

Sintaxis

sudo apt-get [opción] [acción] [paquete]

Las acciones o subcomandos más habituales son:

Subcomando Descripción
update Actualiza la lista local de paquetes disponibles en los repositorios remotos.
upgrade Instala las actualizaciones disponibles para todos los paquetes ya instalados en el sistema.
install [paquete] Descarga e instala una nueva aplicación junto con todas sus dependencias.
remove [paquete] Desinstala un paquete de software conservando sus archivos de configuración locales.
purge [paquete] Desinstala por completo un paquete eliminando también todos sus archivos de configuración.

Comandos más utilizados

Comando Descripción
sudo apt-get update Sincroniza y refresca la base de datos de los repositorios de software.
sudo apt-get upgrade Actualiza todos los paquetes instalados en el sistema operativo.
sudo apt-get install [nombre_paquete] Instala un programa específico en el equipo.
sudo apt-get purge [nombre_paquete] Elimina un programa y borra todos sus ficheros de configuración asociados.

Equivalencia con otros sistemas

Acción Linux antiguo Linux actual Windows
Actualizar repositorios apt-get update apt update winget upgrade (busca actualizaciones)
Instalar un programa apt-get install apt install winget install [programa]
Desinstalar programa apt-get remove apt remove winget uninstall [programa]
Limpiar paquetes huérfanos apt-get autoremove apt autoremove Liberador de espacio en disco

Ejemplos

Actualizar las listas de paquetes disponibles en los repositorios

sudo apt-get update

Instalar un nuevo paquete de software (ej. el servidor web Apache)

sudo apt-get install apache2

Desinstalar un programa conservando su configuración

sudo apt-get remove nano

Desinstalar un programa por completo borrando sus ficheros de configuración

sudo apt-get purge apache2

Ejemplo de salida

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1
Se instalarán los siguientes paquetes NUEVOS:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1
0 actualizados, 6 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
Se necesita descargar 2.500 kB de archivos.

¿Cómo interpretar la salida?

  • Árbol de dependencias: muestra cómo APT calcula automáticamente los paquetes adicionales o librerías secundarias necesarios para que el programa principal funcione.
  • Paquetes NUEVOS / actualizados: resumen numérico de las acciones que se van a realizar en el sistema tras la confirmación.
  • Volumen de descarga: cantidad exacta de datos que se descargarán de internet para completar el proceso de instalación.

Errores habituales

  • Olvidar anteponer sudo al ejecutar comandos de gestión de software, lo que provoca un fallo de permisos denegados.
  • Olvidar ejecutar sudo apt-get update antes de intentar instalar un paquete nuevo, lo que a veces genera errores de dependencias rotas o paquetes no encontrados (E: Unable to locate package).

Conceptos relacionados

  • Gestor de paquetes
  • Repositorio de software
  • Dependencias
  • Paquete .deb
  • Comando dpkg
  • Comando apt

Comandos relacionados

  • apt
  • dpkg
  • apt-cache
  • dpkg-reconfigure
  • winget

Curiosidades

Aunque el comando moderno apt (introducido en Ubuntu 16.04) es mucho más amigable para las personas en la terminal —mostrando barras de progreso visuales y resúmenes más limpios—, los desarrolladores de sistemas y scripts continúan utilizando preferentemente apt-get porque su interfaz de comandos está diseñada para no cambiar de formato entre versiones, garantizando la estabilidad de la automatización.

Prácticas propuestas

  1. Ejecuta sudo apt-get update en tu máquina virtual e identifica qué ocurre en la salida del terminal durante la conexión con los servidores de los repositorios.
  2. Busca un paquete ligero de utilidad (como htop o tree) e instálalo utilizando sudo apt-get install. Comprueba que se ha instalado correctamente ejecutándolo después.
  3. Prueba a desinstalar el paquete anterior utilizando la opción purge en lugar de remove. ¿Qué diferencia observas respecto a la permanencia de ficheros?
  4. Ejecuta sudo apt-get autoremove para comprobar si existen dependencias huérfanas en tu sistema operativo que ya no sean necesarias.
  5. Compara la salida y el comportamiento de apt-get install frente al comando simplificado apt install. ¿Qué diferencias estéticas aprecias en pantalla?
  6. Si dispones de un entorno Windows con gestor de paquetes moderno, prueba a instalar una aplicación utilizando winget install y compara el proceso con APT.

Consejo: Adquiere el hábito de ejecutar siempre sudo apt-get update antes de instalar cualquier aplicación nueva; te asegurará obtener la versión más reciente y evitará errores molestos de dependencias.

Preguntas de reflexión:

  1. ¿Qué ocurre exactamente en el sistema al ejecutar sudo apt-get update y por qué no actualiza ningún paquete instalado?
  2. ¿Qué diferencia fundamental existe a nivel interno entre los comandos apt-get install y apt-get build-dep o la instalación directa?
  3. ¿Qué diferencia práctica hay entre desinstalar un paquete con remove y hacerlo con purge respecto a los archivos de configuración?
  4. ¿Para qué sirve exactamente el comando sudo apt-get autoremove y qué son las llamadas dependencias huérfanas?
  5. ¿Qué mejoras estéticas y de usabilidad introdujo el comando simplificado apt frente a las herramientas clásicas de apt-get?
  6. ¿Qué similitudes y diferencias principales aprecias al comparar el funcionamiento de APT en Linux con un gestor moderno como winget en Windows?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Qué ocurre exactamente en el sistema al ejecutar sudo apt-get update y por qué no actualiza ningún paquete instalado?

Este comando se conecta a los servidores remotos para descargar las listas de paquetes más recientes y actualizar la base de datos local del sistema. No actualiza ningún software instalado porque su único propósito es sincronizar la información del catálogo; la tarea de actualizar los programas se realiza posteriormente mediante el comando upgrade.
Es decir, sudo apt-get update descarga los catálogos nuevos de los repositorios y actualiza la información en tu ordenador (saber qué versiones nuevas existen), mientras que sudo apt-get upgrade mira ese catálogo recién actualizado y procede a descargar e instalar las actualizaciones reales de los programas que tienes en el sistema.


2. ¿Qué diferencia fundamental existe a nivel interno entre los comandos apt-get install y apt-get build-dep o la instalación directa?

Mientras que apt-get install descarga e instala los paquetes binarios ya compilados listos para su uso directo, comandos como build-dep analizan el código fuente de un programa para descargar e instalar todas las dependencias y librerías de desarrollo necesarias para que un programador pueda compilar ese software desde cero en su equipo.


3. ¿Qué diferencia práctica hay entre desinstalar un paquete con remove y hacerlo con purge respecto a los archivos de configuración?

El parámetro remove desinstala el binario del programa pero conserva intactos los archivos de configuración del usuario en el directorio /etc (por si se decide reinstalar el paquete más adelante). Por el contrario, la opción purge elimina por completo tanto el programa como todos los ficheros de configuración asociados, dejando el sistema totalmente limpio de rastro del software.


4. ¿Para qué sirve exactamente el comando sudo apt-get autoremove y qué son las llamadas dependencias huérfanas?

Las dependencias huérfanas son aquellas librerías o paquetes adicionales que se instalaron automáticamente en su día para satisfacer los requisitos de otro programa, pero que ya no son necesarios porque el programa principal fue desinstalado. El comando autoremove se encarga de detectarlas y eliminarlas de forma automatizada para liberar espacio en disco.


5. ¿Qué mejoras estéticas y de usabilidad introdujo el comando simplificado apt frente a las herramientas clásicas de apt-get?

El comando moderno apt unifica las funciones más comunes de apt-get y apt-cache en una interfaz de usuario más amigable. Añade mejoras visuales significativas en la terminal, como una barra de progreso gráfica de descarga más limpia, colores adaptados y mensajes de texto orientados a mostrar un resumen claro del número de paquetes que se van a actualizar o instalar.


6. ¿Qué similitudes y diferencias principales aprecias al comparar el funcionamiento de APT en Linux con un gestor moderno como winget en Windows?

Ambos comparten el concepto central de gestión centralizada de software desde la línea de comandos mediante repositorios remotos seguros. Sin embargo, APT está profundamente integrado a nivel de sistema operativo gestionando dependencias a nivel de librerías del sistema y binarios del núcleo Unix, mientras que winget en Windows actúa principalmente como un instalador automatizado de aplicaciones de usuario final (paquetes ejecutables y MSIs).