Lab 10.1 - Instalación y Uso de apt
Objetivos del Lab
Al final de este laboratorio, usted será capaz de:
- Utilizar apt para instalar paquetes
- Actualizar el sistema Ubuntu 24.04
- Gestionar los repositorios
- Resolver problemas de dependencias
- Buscar y obtener información sobre paquetes
Duración Estimada
30-45 minutos
Prerrequisitos
- Ubuntu 24.04 instalado y funcional
- Acceso sudo
- Conexión a Internet
- Terminal abierto
Ejercicio 1: Actualización del Sistema
Paso 1: Actualizar la Lista de Paquetes
# Actualizar la lista de paquetes disponibles
sudo apt update
# Ver los paquetes que se pueden actualizar
apt list --upgradable
Paso 2: Actualizar los Paquetes
# Actualizar todos los paquetes instalados
sudo apt upgrade
# Actualización completa (incluye cambios de dependencias)
sudo apt full-upgrade
# Actualización sin confirmación
sudo apt upgrade -y
Paso 3: Verificar las Actualizaciones
# Ver los paquetes que se pueden actualizar
apt list --upgradable
# Ver información de actualización
apt show nom-paquet
Ejercicio 2: Instalación de Paquetes
Paso 1: Instalación Simple
# Instalar un paquete
sudo apt install htop
# Instalar varios paquetes
sudo apt install vim git curl
# Instalar sin confirmación
sudo apt install -y nom-paquet
Paso 2: Instalación de Versión Específica
# Ver las versiones disponibles
apt-cache madison nom-paquet
# Instalar una versión específica
sudo apt install nom-paquet=version
# Ejemplo
sudo apt install nginx=1.18.0-0ubuntu1.4
Paso 3: Instalación desde Archivo .deb
# Descargar un .deb
wget https://example.com/paquet.deb
# Instalar
sudo apt install ./paquet.deb
# O con dpkg
sudo dpkg -i paquet.deb
sudo apt install -f # Resolver dependencias
Ejercicio 3: Búsqueda e Información
Paso 1: Buscar Paquetes
# Buscar por nombre
apt search nginx
# Buscar por descripción
apt search "web server"
# Búsqueda exacta
apt search --names-only nginx
Paso 2: Información sobre Paquetes
# Información detallada
apt show nginx
# Dependencias
apt depends nginx
# Paquetes que dependen de nginx
apt rdepends nginx
# Contenido de un paquete
dpkg -L nginx
Paso 3: Lista de Paquetes
# Paquetes instalados
apt list --installed
# Paquetes disponibles
apt list --available
# Paquetes que se pueden actualizar
apt list --upgradable
Ejercicio 4: Gestión de Repositorios
Paso 1: Ver los Repositorios
# Ver las fuentes
cat /etc/apt/sources.list
# Ver fuentes adicionales
ls /etc/apt/sources.list.d/
# Ver todas las fuentes
cat /etc/apt/sources.list.d/*.list
Paso 2: Añadir un Repositorio
# Método 1: Archivo en sources.list.d/
echo "deb http://repo.example.com/ubuntu noble main" | \
sudo tee /etc/apt/sources.list.d/mon-repo.list
# Añadir la clave GPG
wget -qO - http://repo.example.com/key.gpg | sudo apt-key add -
# Actualizar
sudo apt update
Paso 3: Repositorio PPA (Ubuntu)
# Añadir un PPA
sudo add-apt-repository ppa:nom/ppa
# Eliminar un PPA
sudo add-apt-repository --remove ppa:nom/ppa
# Actualizar
sudo apt update
Ejercicio 5: Eliminación y Limpieza
Paso 1: Eliminar Paquetes
# Eliminar un paquete (mantiene la configuración)
sudo apt remove nom-paquet
# Eliminar paquete y configuración
sudo apt purge nom-paquet
# Eliminar varios paquetes
sudo apt remove paquet1 paquet2 paquet3
Paso 2: Limpieza
# Eliminar dependencias no utilizadas
sudo apt autoremove
# Limpiar la caché
sudo apt clean
# Limpieza automática
sudo apt autoclean
# Limpiar todo
sudo apt autoremove -y
sudo apt autoclean
Ejercicio 6: Resolución de Problemas
Paso 1: Dependencias Rotos
# Reparar dependencias
sudo apt --fix-broken install
# Reparación completa
sudo apt --fix-missing install
sudo dpkg --configure -a
Paso 2: Caché Corrupto
# Limpiar la caché
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
# Reconstruir la caché
sudo apt update
Paso 3: Paquete Bloqueado
# Ver los procesos que usan un paquete
sudo lsof | grep nom-paquet
# Forzar la reinstalación
sudo apt install --reinstall nom-paquet
Ejercicio 7: Práctica Completa
Paso 1: Instalación de un Servidor Web
# Instalar nginx
sudo apt update
sudo apt install -y nginx
# Verificar la instalación
systemctl status nginx
nginx -v
# Ver los archivos instalados
dpkg -L nginx | head -20
Paso 2: Actualización del Sistema
# Script de actualización completa
cat > update-system.sh << 'EOF'
#!/bin/bash
echo "Actualizando lista de paquetes..."
sudo apt update
echo "Actualizando paquetes..."
sudo apt upgrade -y
echo "Limpiando..."
sudo apt autoremove -y
sudo apt autoclean
echo "¡Terminado!"
EOF
chmod +x update-system.sh
./update-system.sh
Verificación
Checklist
Verifique que usted puede:
- Actualizar el sistema (apt update, upgrade)
- Instalar paquetes (apt install)
- Buscar paquetes (apt search)
- Ver información (apt show)
- Gestionar repositorios
- Eliminar paquetes (apt remove, purge)
- Limpiar el sistema (autoremove, clean)
- Resolver problemas de dependencias
Preguntas de Reflexión
-
¿Cuál es la diferencia entre apt update y apt upgrade?
- update: Actualiza la lista de paquetes disponibles
- upgrade: Actualiza los paquetes instalados
-
¿Por qué usar apt autoremove?
- Elimina dependencias no utilizadas
- Libera espacio en disco
-
¿Cuándo usar apt purge vs apt remove?
- remove: Elimina el paquete, mantiene la configuración
- purge: Elimina el paquete y la configuración
Próximos Pasos
- Lab 10.2: Gestión de Repositorios
- Lab 10.3: Compilación desde Fuentes
- Lab 10.4: Snap y Flatpak
- Capítulo 10.1: apt (Debian/Ubuntu)
Recursos Ubuntu 24.04
- Paquetes de Ubuntu
man apt- Documentación de aptapt-cache search- Búsqueda avanzada
Lab creado el: diciembre 2024 - Probado en Ubuntu 24.04