Introducción
En las lecciones anteriores aprendiste a trabajar con archivos, permisos, procesos y variables de entorno. Todo eso con las herramientas que ya vienen instaladas en el sistema. Pero en algun momento necesitaras instalar programas adicionales: herramientas de red, editores de texto, utilidades de seguridad.
En esta leccion vas a aprender como funciona el sistema de paquetes de Linux y como usar apt para instalar, actualizar y eliminar software. Es la ultima pieza del modulo: despues de esta leccion tendras las habilidades fundamentales para trabajar con un sistema Linux.
¿Por que necesitas saber instalar software?
Las distribuciones de Linux vienen con un conjunto base de herramientas, pero el trabajo real requiere software adicional. Un pentest tipico necesita herramientas como nmap, gobuster, john, netcat, entre muchas otras. Si no sabes como instalarlas, dependes de que alguien mas las haya configurado por ti.
Ademas, mantener el software actualizado es importante para la seguridad. Las actualizaciones corrigen vulnerabilidades conocidas. Entender como funciona el gestor de paquetes te permite mantener tu sistema al dia y diagnosticar problemas cuando una instalacion falla.
El sistema de paquetes
En lugar de descargar programas de paginas web como en Windows, Linux usa un gestor de paquetes que descarga software de repositorios oficiales. Un paquete es un archivo que contiene el programa, sus dependencias y las instrucciones para instalarlo.
En distribuciones basadas en Debian y Ubuntu (incluyendo Kali Linux), el gestor de paquetes es apt (Advanced Package Tool). Otras distribuciones usan gestores diferentes (yum/dnf en Red Hat, pacman en Arch), pero el concepto es el mismo.
El flujo basico es:
- El sistema tiene una lista local de paquetes disponibles
- Tu le pides instalar un paquete
aptbusca el paquete y sus dependencias en la lista- Descarga todo desde los repositorios
- Lo instala y configura automaticamente
Gestion de paquetes en la practica
Actualizar la lista de paquetes
Antes de instalar algo, actualiza la lista local de paquetes disponibles. Esto sincroniza tu sistema con los repositorios:
1$ sudo apt update
2sudo es necesario porque modificar software del sistema requiere permisos de administrador. apt update no instala nada; solo actualiza la lista de que hay disponible y en que version.
Instalar un paquete
Para instalar un programa, usa apt install seguido del nombre del paquete:
1$ sudo apt install tree
2apt descarga el paquete y sus dependencias, y lo instala. tree es una utilidad que muestra la estructura de directorios de forma visual. Despues de instalarlo puedes usarlo directamente:
1$ tree ~/practica
2/home/user/practica
3└── proyecto
4 ├── respaldo.txt
5 └── src
6 └── scripts
7Buscar paquetes
Si no conoces el nombre exacto de un paquete, puedes buscarlo:
1$ apt search "network scanner"
2Esto muestra paquetes cuyo nombre o descripcion coinciden con tu busqueda.
Actualizar software instalado
Para actualizar todos los paquetes instalados a su version mas reciente:
1$ sudo apt update
2$ sudo apt upgrade
3update actualiza la lista; upgrade descarga e instala las nuevas versiones. Es buena practica ejecutar ambos comandos juntos periodicamente.
Eliminar un paquete
Para desinstalar un programa:
1$ sudo apt remove tree
2remove desinstala el programa pero conserva sus archivos de configuracion. Si quieres eliminar todo, incluidas las configuraciones:
1$ sudo apt purge tree
2Paquetes como inventario del sistema
El gestor de paquetes no es solo una herramienta de instalacion: es un inventario de todo el software del sistema. Puedes consultarlo para saber exactamente que esta instalado:
1$ dpkg -l | grep python
2$ apt list --installed | grep ssh
3En seguridad, esta informacion es util en dos direcciones:
- Defensiva: verificar que no hay software innecesario o desactualizado
- Ofensiva: durante la enumeracion, saber que herramientas hay en el sistema (¿tiene gcc para compilar exploits? ¿tiene python para ejecutar scripts? ¿tiene netcat para transferir archivos?)
Errores comunes
Advertencia
Olvidar `sudo apt update` antes de instalar. Si no actualizas la lista de paquetes, puedes estar intentando instalar versiones que ya no existen en los repositorios. Ejecuta siempre update antes de install.
Advertencia
Instalar software de fuentes no oficiales sin verificar. Descargar un .deb de internet y ejecutar dpkg -i puede ser necesario, pero saltea la verificacion de integridad de los repositorios oficiales. Cuando sea posible, prefiere instalar desde los repositorios con apt.
Consejo
Usa `apt show` para ver detalles de un paquete. Antes de instalar algo, apt show nombre-paquete te muestra su descripcion, tamaño, dependencias y version. Es util para confirmar que estas instalando lo que crees.
Conclusión
El gestor de paquetes apt te permite instalar, actualizar, buscar y eliminar software de forma controlada usando repositorios oficiales. Con apt update, apt install, apt upgrade y apt remove tienes las operaciones fundamentales de gestion de software.
Con esta leccion completas el segundo modulo del curso. Ahora sabes como Linux gestiona usuarios y grupos, como funcionan los permisos de archivos, como ver y controlar procesos, como funciona el entorno de ejecucion y como instalar herramientas. Combinado con el primer modulo (terminal, navegacion, archivos, busqueda y pipes), tienes una base solida de linea de comandos Linux sobre la que construir todo lo que viene despues.