Contenido
- Introducción
- La Herramienta Avanzada de Paquetes (APT)
- Actualizar a una nueva versión
- Instalar paquetes desde Backports
- Mantener el sistema limpio
- Ver paquetes con actualización disponible
- Congelar paquetes
- Actualizaciones de seguridad automáticas
- Repositorios de terceros
- Organizar las fuentes
- Referencias
- Contribuir
Introducción
El mantenimiento es una parte importante de cualquier sistema, ya sea un auto, una máquina o un servidor. Si tu servidor corre Debian Linux o alguno de sus derivados como Ubuntu, tenés distintas herramientas para mantenerlo funcionando correctamente.
Las tareas de mantenimiento en servidores Linux son importantes, especialmente por los riesgos de seguridad a los que está expuesto un sistema que no se actualiza ni se mantiene.
La Herramienta Avanzada de Paquetes
Un gestor de paquetes es un conjunto de herramientas para instalar, actualizar y mejorar los programas que el equipo necesita para funcionar. El gestor de paquetes se ocupa de las dependencias y compatibilidades para asegurar el correcto funcionamiento de los programas instalados.
Para lograr eso, un buen gestor de paquetes lleva un registro de todos los programas instalados y las dependencias que cada uno necesita — toda esa información se guarda en una base de datos. La información básica que se almacena incluye:
- Nombre
- Proveedor
- Versión
- Dependencias
En Debian ese conjunto de herramientas es APT, que significa Advanced Package Tool. La herramienta base es dpkg; sobre ella se construyen las herramientas más conocidas: apt-get, apt-cache y apt. Esta última no debe confundirse con APT, la Advanced Package Tool. Otras alternativas son: aptitude y, para una interfaz gráfica, Synaptic.
Fuentes
Para funcionar, APT y otras herramientas necesitan una lista de fuentes — otro servidor que actúa como repositorio de todos los paquetes que conforman una distribución Debian. Esa lista se configura en /etc/apt/sources.list. Cuando se invoca APT, lee ese archivo y descarga la lista de paquetes publicados por cada fuente. Entre bastidores, APT descarga Packages.gz o Packages.bz2 para paquetes binarios, o Sources.gz / Sources.bz2 para paquetes de código fuente.
APT mantiene esos archivos actualizados descargando diferencias incrementales ante cualquier cambio en los repositorios.
El formato del archivo sources.list es:
deb http://site.example.com/debian distribución componente1 componente2 componente3
deb-src http://site.example.com/debian distribución componente1 componente2 componente3
| Elemento | Descripción |
|---|---|
deb / deb-src |
deb es para binarios, deb-src es para código fuente |
| URL del repositorio | La URL del repositorio donde buscar paquetes |
| Distribución | Un nombre específico como bookworm o trixie, o una clase como stable, testing, unstable |
| Componente | main, contrib o non-free |
dpkg
dpkg es la herramienta principal de línea de comandos para gestión de paquetes. Se usa normalmente cuando querés instalar un archivo .deb que ya descargaste. Lleva un registro de todo el software instalado, pero no conoce el software disponible para instalar — esto significa que si una dependencia no está instalada, la instalación fallará.
En general conviene usar apt o aptitude para evitar fallas por dependencias. Tanto apt-get como dpkg tienen sus usos: dpkg es más una herramienta de sistema, apt más una herramienta de usuario.
Instalar software con dpkg
Descargá el archivo .deb de una fuente confiable y ejecutá:
dpkg -i htop_2.2.0-2_amd64.deb
Salida:
Selecting previously unselected package htop.
(Reading database ... 37412 files and directories currently installed.)
Preparing to unpack htop_2.2.0-2_amd64.deb ...
Unpacking htop (2.2.0-2) ...
Setting up htop (2.2.0-2) ...
Processing triggers for mime-support (3.64) ...
Processing triggers for man-db (2.9.1-1) ...
Verificar si el programa quedó instalado
dpkg -l | grep htop
Salida:
ii htop 2.2.0-2 amd64 interactive processes viewer
Desinstalar software con dpkg
dpkg -r htop
Esto desinstala el programa pero deja los archivos de configuración — útil para una reinstalación rápida. Para eliminar todo sin rastros:
dpkg -P htop
Archivo de log de dpkg
Si algo falla, revisá el log en /var/log/dpkg.log.
apt
No hay que confundir apt con APT. apt es la herramienta de línea de comandos para instalar, eliminar y actualizar software en Debian. Es una evolución de apt-get y apt-cache, con las opciones más usadas reunidas en un solo comando más simple. Del man apt:
apt (Advanced Package Tool) is the command-line tool for handling packages.
It provides a commandline interface for the package management of the system.
See also apt-get(8) and apt-cache(8) for more low-level command options.
Instalar un paquete
apt install htop
Desinstalar un paquete
apt remove htop
Esto elimina el programa pero conserva los archivos de configuración. Para eliminar todo:
apt purge htop
Mantener el sistema actualizado
Por razones de seguridad, conviene tener siempre el sistema actualizado. En Debian Stable, las nuevas funcionalidades llegan con actualizaciones mayores — pero los parches de seguridad se publican continuamente.
Actualizar la base de datos de fuentes
apt update
Actualizar los paquetes instalados
apt upgrade
Actualización completa a una nueva versión
apt full-upgrade
Actualiza todos los paquetes y elimina los que generen conflictos. Ver el proceso completo en la sección Actualizar más abajo.
Listar todos los paquetes instalados
apt list --installed
Buscar un paquete
apt search htop
Ver los detalles de un paquete
apt show htop
Editar las fuentes
apt edit-sources
apt-get, apt-cache
apt-get y apt-cache pueden realizar las mismas tareas que apt pero ofrecen opciones más detalladas. Para la mayoría de los usuarios, apt es suficiente. Referencia rápida:
| Tarea | apt | apt-get / apt-cache |
|---|---|---|
| Instalar | apt install foo |
apt-get install foo |
| Eliminar | apt remove foo |
apt-get remove foo |
| Actualizar índice | apt update |
apt-get update |
| Actualizar paquetes | apt upgrade |
apt-get upgrade |
| Actualización completa | apt full-upgrade |
apt-get dist-upgrade |
| Buscar | apt search foo |
apt-cache search foo |
| Ver info | apt show foo |
apt-cache show foo |
| Listar por prefijo | — | apt-cache pkgnames alsa |
Buscar todos los paquetes que empiezan con un término
apt-cache pkgnames alsa
aptitude
aptitude es una alternativa más inteligente a apt-get. Su principal ventaja es la capacidad de ofrecer distintas opciones para resolver conflictos durante la instalación de software.
Características:
- Sintaxis estilo mutt para filtrar paquetes de forma flexible
- Marcar paquetes como instalados "automáticamente" o "manualmente" para auto-eliminación cuando ya no son necesarios
- Vista previa de acciones con código de colores según el tipo de acción
- Recuperación interactiva del changelog de Debian para paquetes disponibles
- Resolvedor de dependencias basado en puntuación, más adecuado para resolución interactiva — permite indicar "no quiero esta parte de la solución pero sí la otra"
Modo interactivo
aptitude

Atajos de teclado:
F10oCtrl-T— menú?— ayuda- Flechas — navegar
Enter— seleccionar / abrir y cerrar un nivel[/]— abrir/cerrar niveles recursivamente+/-— instalar o eliminar un paqueteg— previsualizar/confirmar accionesq— salir / volver
Equivalencias de comandos
| Acción | apt | aptitude |
|---|---|---|
| Instalar foo | apt install foo |
aptitude install foo |
| Buscar foo | apt search foo |
aptitude search foo |
| Listar instalados | apt list --installed |
aptitude search ~i |
| Eliminar foo | apt remove foo |
aptitude remove foo |
| Ver info del paquete | apt show foo |
aptitude show foo |
| Descargar fuentes | apt source foo |
aptitude source foo |
Actualizar Debian a una nueva versión
La versión estable actual es Debian 12 Bookworm. El proceso a continuación cubre la actualización desde Debian 11 Bullseye a Bookworm. Los mismos pasos aplican a versiones futuras — solo hay que reemplazar los nombres de versión.
Actualizar la versión actual primero
apt update && apt upgrade
Reiniciar si se instaló un nuevo kernel:
reboot
Editar las fuentes
apt edit-sources
Cambiar todas las ocurrencias de bullseye por bookworm.
Actualizar los repositorios
apt update
Actualizar los paquetes
apt upgrade
Seguí las instrucciones. Conservá tus archivos de configuración editados si los modificaste.
Actualización completa a la nueva versión
apt full-upgrade
Reiniciar
reboot
Instalar paquetes desde Backports
Debian Stable es excelente por su estabilidad, pero el software se desactualiza con el tiempo. Cuando necesitás una versión más nueva de un paquete que no está disponible en Stable, los backports son la solución. Según el sitio de backports:
Los backports son paquetes tomados de la próxima versión de Debian (llamada "testing"), ajustados y recompilados para su uso en Debian stable.
Agregar Backports a las fuentes
apt edit-sources
Agregar esta línea:
deb http://deb.debian.org/debian bookworm-backports main
Actualizar los repositorios
apt update
Instalar software desde backports
apt-get -t bookworm-backports install htop
Mantener el sistema limpio
Linux está pensado para vivir mucho tiempo en tu máquina, y cuando algo vive tanto tiempo se acumula basura. Para mantener todo limpio, podés usar autoremove y clean.
apt autoremove elimina paquetes que fueron instalados como dependencias pero ya no son necesarios:
apt autoremove
apt clean limpia la caché local de archivos de paquetes descargados — ya no son necesarios una vez instalados:
apt clean
Si querés eliminar solo los paquetes que ya no se pueden descargar, dejando el resto de la caché intacta:
apt autoclean
Correr autoremove y clean de vez en cuando es un buen hábito, especialmente en servidores donde el espacio en disco importa.
Ver paquetes con actualización disponible
Antes de actualizar a ciegas puede que quieras ver los paquetes marcados para actualización. Un comando te da la lista completa:
apt list --upgradable
Así sabés exactamente qué va a cambiar en el sistema antes de comprometerte con la actualización — útil cuando querés revisar una lista larga o verificar si un paquete específico está entre los candidatos.
Congelar paquetes
Cuando trabajás con aplicaciones puede que quieras mantener una versión específica de un paquete. Fue mi caso con Ruby al usar Middleman — si gestionás esto con las herramientas de paquetes de Debian, tenés hold y unhold para marcar un paquete para que no se actualice.
apt-mark hold ruby
Para ver qué paquetes están actualmente congelados:
apt-mark showhold
Cuando estés listo para dejar que se actualice:
apt-mark unhold ruby
Actualizaciones de seguridad automáticas
La seguridad es cada vez más importante. Realmente querés tener tu sistema con las actualizaciones de seguridad al día aunque no estés trabajando o revisando el servidor todos los días. El paquete unattended-upgrades se encarga de eso automáticamente.
apt install unattended-upgrades
dpkg-reconfigure -pmedium unattended-upgrades
El segundo comando abre un prompt interactivo — respondé que sí para habilitar las actualizaciones automáticas. Por defecto aplica solo actualizaciones de seguridad, dejándote en control de todo lo demás.
Repositorios de terceros
Muchas aplicaciones se desarrollan para Debian o Ubuntu y la mayoría tiene sus propios repositorios. Así se gestionan.
La forma moderna usa un archivo de claves dedicado y una referencia signed-by en la entrada de la fuente — más seguro que el método obsoleto con apt-key. Por ejemplo, para agregar el repositorio oficial de Docker:
# Descargar y guardar la clave de firma
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Agregar el repositorio
echo \
"deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
# Actualizar e instalar
apt update
apt install docker-ce
Cada repositorio de terceros te dará sus propias instrucciones, pero el patrón es siempre el mismo: guardá la clave en /etc/apt/keyrings/, agregá un archivo .list en /etc/apt/sources.list.d/, y referenciá la clave con signed-by=.
Organizar las fuentes
Invertir tiempo hoy en mantener el sistema ordenado es tiempo que vas a disfrutar en el futuro. En lugar de agregar todo en /etc/apt/sources.list, mantené ese archivo limpio colocando cada fuente adicional en su propio archivo dentro de /etc/apt/sources.list.d/:
ls /etc/apt/sources.list.d/
Cada archivo ahí sigue el mismo formato que sources.list. Mantenerlos separados significa que podés deshabilitar o eliminar un repositorio simplemente borrando o renombrando su archivo — sin necesidad de tocar sources.list.
# Deshabilitar un repo sin borrarlo
mv /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/docker.list.disabled
# Volver a habilitarlo
mv /etc/apt/sources.list.d/docker.list.disabled /etc/apt/sources.list.d/docker.list
Referencias
Contribuir
Si querés contribuir podés hacerlo en GitHub