Cómo instalar programas en Ubuntu con apt-get: guía para principiantes
Aprende a instalar programas en Ubuntu con apt-get paso a paso. Comandos prácticos, actualización de paquetes y solución de los errores más comunes.
Si estás empezando con Ubuntu viniendo de Windows, la primera pregunta que aparece es simple: ¿cómo instalo un programa? No existe el instalador .exe, no hay “Next, Next, Finish” — en cambio, usas la terminal y un gestor de paquetes llamado APT (Advanced Package Tool). Y, una vez que entiendes cómo funciona, resulta mucho más rápido que el camino de Windows.
Este tutorial es para quien nunca usó Linux en servidor o escritorio y quiere aprender el comando esencial: apt-get. Vamos a cubrir qué es un gestor de paquetes, cómo instalar y eliminar programas, cómo actualizar todo de una vez, y los errores más comunes que encontrarás en los primeros días. Tiempo estimado: 15 a 20 minutos leyendo con calma y probando los comandos.
La buena noticia: después de esta guía, instalar cualquier software en Ubuntu se convierte en un comando de una línea. La mala: necesitas olvidar algunos hábitos de Windows.
Requisitos previos
Un Ubuntu 22.04 LTS o 24.04 LTS corriendo — puede ser escritorio, WSL2 en Windows o una VPS vía SSH. Acceso a un usuario con permiso sudo. Conexión a internet activa (apt-get descarga todo desde los repositorios online).
Si estás en una VPS recién aprovisionada, conéctate por SSH antes de continuar:
ssh usuario@ip-del-servidor 22 Ubuntu 24.04 LTS Qué es apt-get y por qué existe
En Windows, cada programa trae su propio instalador, sus propias DLLs, y tú gestionas versiones y actualizaciones manualmente. En Ubuntu (y en todas las distribuciones basadas en Debian), existe un enfoque distinto: un repositorio central mantiene miles de paquetes ya probados, y un gestor de paquetes descarga, instala, actualiza y elimina esos paquetes por ti — junto con todas las dependencias.
apt-get es ese gestor. Habla con servidores remotos (repositorios) listados en /etc/apt/sources.list, descarga los archivos .deb necesarios y los instala en el lugar correcto del sistema. No decides dónde va el programa — el paquete ya viene con esa información incrustada.
Existen dos comandos casi idénticos: apt y apt-get. apt es más nuevo, más amigable, con barra de progreso coloreada. apt-get es el original, más verboso, y considerado más estable para scripts. En esta guía usamos apt-get porque es el estándar recomendado para aprender — pero todo aquí funciona reemplazando por apt si lo prefieres.
Actualizando el índice de paquetes
Antes de instalar cualquier cosa, necesitas actualizar la lista local de paquetes disponibles. Esta es la parte que más confunde a los principiantes: el comando no actualiza programas — solo descarga la lista más reciente de lo que existe en los repositorios. Es como actualizar el catálogo de una tienda antes de hacer el pedido.
Actualiza el índice de paquetes:
sudo apt-get updatesudo es necesario porque el comando escribe en /var/lib/apt/lists/, que pertenece a root. Verás una lista de URLs siendo consultadas (Hit, Get, Ign) — eso es normal. Al final aparece algo como Reading package lists... Done.
Mira cuántos paquetes tienen actualización disponible:
apt list --upgradableEste comando no necesita sudo porque solo lee el caché local. Si aparece una lista con varios paquetes, significa que tu sistema está desactualizado y conviene ejecutar un upgrade (sección siguiente).
Si no ejecutas apt-get update durante semanas, apt-get install puede fallar con error 404 — porque la versión que intenta descargar ya fue reemplazada por una más nueva en los servidores. En servidores de producción, ejecuta update al menos una vez por semana.
Instalando un programa
Ahora la parte que viniste a buscar. Vamos a instalar dos programas comunes como ejemplo: curl (cliente HTTP de línea de comandos, útil para descargar archivos y probar APIs) y htop (monitor de procesos interactivo, mucho mejor que el top por defecto).
Instala el paquete curl:
sudo apt-get install curlapt mostrará lo que se va a instalar, cuánto espacio ocupará, y pedirá confirmación con [Y/n]. Pulsa Enter (la mayúscula es el valor por defecto) o escribe Y. Si quieres saltar la confirmación, usa el flag -y:
sudo apt-get install -y curlEl flag -y es útil en scripts y automatización, pero al aprender es mejor ver lo que se va a instalar antes de confirmar.
Instala múltiples paquetes a la vez:
sudo apt-get install -y htop git unzipPuedes listar cuantos paquetes quieras separados por espacios. apt resuelve todas las dependencias en una única transacción — más rápido que instalar uno por uno.
Confirma que el programa fue instalado:
curl --version
htop --versionSi el comando responde con la versión, está instalado y funcionando. Si aparece command not found, algo falló — salta a la sección de resolución de problemas.
Buscando paquetes por nombre
No siempre conoces el nombre exacto del paquete. Por ejemplo: para instalar el servidor web Nginx, el paquete se llama nginx. Pero para instalar PHP 8.3, puede ser php8.3-fpm, php8.3-cli u otros nombres — depende de qué variante quieras.
Busca por palabra clave:
apt search nginxAparecerá una lista con todos los paquetes que mencionan “nginx” en el nombre o la descripción. La salida puede ser larga — usa apt search nginx | less para paginarla.
Mira los detalles de un paquete específico antes de instalar:
apt show nginxEsto muestra versión actual, tamaño de descarga, tamaño instalado, dependencias, enlace al sitio oficial y descripción completa. Útil para decidir si es el paquete correcto antes de gastar ancho de banda descargando.
Actualizando programas instalados
A diferencia de Windows, en Ubuntu actualizas todos los programas instalados con un único comando — incluido el propio sistema operativo.
Actualiza el índice (siempre primero):
sudo apt-get updateAplica las actualizaciones:
sudo apt-get upgradeapt muestra qué paquetes serán actualizados, cuánto espacio extra ocupará, y pide confirmación. Para ejecutar sin preguntar, usa sudo apt-get upgrade -y.
apt-get upgrade es conservador — no elimina ni instala paquetes nuevos para resolver conflictos. Si una actualización requiere cambios más profundos (kernel nuevo, paquetes reemplazados), usa sudo apt-get dist-upgrade. En servidores de producción, ejecuta dist-upgrade en una ventana de mantenimiento, porque puede reiniciar servicios.
Eliminando programas
Elimina un programa conservando configuraciones:
sudo apt-get remove nombre-del-paqueteEsto desinstala el programa pero preserva los archivos de configuración en /etc/. Útil si quieres reinstalarlo más tarde con las mismas configs.
Elimina un programa borrando todo:
sudo apt-get purge nombre-del-paquetepurge también borra los archivos de configuración. Úsalo cuando quieras limpieza completa.
Limpia dependencias huérfanas:
sudo apt-get autoremoveCuando instalas un paquete, apt también instala sus dependencias. Cuando eliminas ese paquete, las dependencias quedan — porque pueden ser usadas por otros. autoremove borra las que ya nadie está usando.
Verificación final
Para confirmar que todo está funcionando, vamos a revisar el estado general:
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y
Este one-liner actualiza el índice, aplica upgrades pendientes y limpia huérfanos — es el comando que mucha gente ejecuta semanalmente en servidores. && hace que el siguiente comando solo se ejecute si el anterior terminó sin error.
Si la salida final dice 0 upgraded, 0 newly installed, 0 to remove, tu sistema está totalmente al día.
Resolución de problemas
Error “Could not get lock /var/lib/dpkg/lock”
Este error ocurre cuando otro proceso apt está corriendo al mismo tiempo — normalmente unattended-upgrades, que hace actualizaciones automáticas en segundo plano. Espera unos minutos e inténtalo de nuevo.
Si persiste, verifica los procesos activos:
ps aux | grep -i apt
Forzar sudo rm /var/lib/dpkg/lock-frontend mientras otro apt está corriendo corrompe la base de datos de paquetes y puede dejar el sistema en un estado inutilizable. Solo hazlo si tienes la certeza absoluta de que ningún proceso apt está activo.
Error “Unable to locate package”
Normalmente significa dos cosas: o escribiste mal el nombre del paquete (prueba apt search), o tu índice está desactualizado. Ejecuta sudo apt-get update e inténtalo de nuevo.
En algunos casos, el paquete existe pero solo en repositorios extra (universe, multiverse) que no están habilitados. Actívalos con:
sudo add-apt-repository universe
sudo apt-get update
Error 404 al descargar paquetes
Significa que la versión indexada localmente ya no existe en el servidor — alguien actualizó el repositorio después de tu último apt-get update. La solución es simple: ejecuta sudo apt-get update de nuevo para obtener el índice actual.
Próximos pasos
Ahora que dominas lo básico de apt-get, vale la pena explorar:
- Repositorios PPA: añade fuentes de terceros para instalar software fuera de los repos oficiales (
add-apt-repository). - Pinning de paquetes: fija versiones específicas vía
/etc/apt/preferences.d/para evitar upgrades no deseados en producción. - Unattended-upgrades: configura actualizaciones automáticas de seguridad en servidores headless.
- Snap y Flatpak: gestores alternativos para apps de escritorio con sandboxing — complementan a apt en lugar de reemplazarlo.
- dpkg: el gestor de bajo nivel detrás de apt. Útil para instalar archivos
.debdescargados manualmente (sudo dpkg -i paquete.deb).
Si estás aprendiendo Ubuntu para llevar una aplicación a producción, una VPS Hostini con Ubuntu 24.04 LTS preinstalado ya viene con apt-get configurado, repositorios universe activos y acceso SSH habilitado — te saltas la etapa de instalación del SO y vas directo a ejecutar tus comandos.
Preguntas frecuentes
¿Cuál es la diferencia entre apt y apt-get?
apt es una interfaz más nueva y amigable que reúne funciones de apt-get y apt-cache en un único comando, con barra de progreso y salida coloreada. apt-get sigue siendo el estándar recomendado para scripts y automatización porque su salida es estable entre versiones. Para uso interactivo en la terminal, usa apt; para shell scripts, mantén apt-get.
¿Por qué necesito ejecutar sudo apt update antes de instalar?
El comando apt update no actualiza programas — solo descarga la lista más reciente de paquetes disponibles en los repositorios. Sin esto, apt-get install puede fallar con 404 al intentar descargar una versión que ya no está en los servidores o instalar una versión obsoleta. En servidores activos, ejecuta apt update al menos una vez por semana.
¿Qué hago cuando aparece 'Could not get lock /var/lib/dpkg/lock'?
Significa que otro proceso apt ya está corriendo — normalmente unattended-upgrades en segundo plano. Espera unos minutos e inténtalo de nuevo. Si persiste, verifica con ps aux | grep -i apt y solo elimina el lock manualmente (sudo rm /var/lib/dpkg/lock-frontend) si estás seguro de que ningún proceso está activo, de lo contrario corromperás la base de datos de paquetes.
¿Cómo descubro el nombre exacto del paquete que quiero instalar?
Usa apt search palabra-clave para buscar en los repositorios. Por ejemplo, apt search firefox lista todas las variantes disponibles con una descripción corta. Si quieres ver los detalles completos de un paquete específico, usa apt show nombre-del-paquete — muestra versión, dependencias, tamaño y enlace del proyecto.
¿Puedo instalar programas que no están en los repositorios oficiales?
Sí, pero con cuidado. Puedes añadir repositorios PPA (Personal Package Archive) o repositorios de terceros como Docker y Node.js. Siempre verifica que el repositorio venga de la fuente oficial del proyecto y añade la clave GPG correspondiente. Repositorios no confiables pueden instalar paquetes maliciosos con privilegios de root.
¿Cómo elimino un programa instalado con apt-get?
Usa sudo apt remove nombre-del-paquete para desinstalar conservando los archivos de configuración, o sudo apt purge nombre-del-paquete para borrar todo, incluidas las configs en /etc. Después ejecuta sudo apt autoremove para limpiar las dependencias huérfanas que quedaron instaladas solo por el paquete eliminado.