Saltar al contenido principal

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​

  1. ¿Cuál es la diferencia entre apt update y apt upgrade?

    • update: Actualiza la lista de paquetes disponibles
    • upgrade: Actualiza los paquetes instalados
  2. ¿Por qué usar apt autoremove?

    • Elimina dependencias no utilizadas
    • Libera espacio en disco
  3. ¿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 apt
  • apt-cache search - Búsqueda avanzada

Lab creado el: diciembre 2024 - Probado en Ubuntu 24.04