Ir al contenido

Práctica 1 — Instalación y Entorno


Al terminar esta práctica tendrás un servidor Ubuntu Server 24.04 corriendo y accesible por SSH desde tu ordenador, igual que un servidor remoto real. Elige el método que mejor se adapte a tu sistema.


MétodoSistemaRequisitosComplejidad
MultipassWindows y LinuxHyper-V (Win) o KVM (Linux)Baja
WSL2Solo WindowsWindows 10/11 64-bitMuy baja
VirtualBoxWindows, Mac y LinuxCualquier sistemaMedia
KVM/virt-installLinuxKVM habilitado + ISO UbuntuMedia-Alta

Un solo comando:

ventana terminal
distrobox create --name servidor-linux --image ubuntu:22.04 && distrobox enter servidor-linux

Ya estás dentro (ejecutaste distrobox enter en el paso anterior). Si saliste, vuelve a entrar:

ventana terminal
distrobox enter servidor-linux

Una vez dentro, ejecuta estos 4 comandos:

ventana terminal
uname -a # Ver información del sistema
ip addr show # Ver redes
sudo apt update # Actualizar lista de paquetes
sudo apt upgrade -y # Instalar actualizaciones

No necesitas SSH. Distrobox ya te mete dentro de Ubuntu directamente. Si quieres practicar SSH igualmente:

ventana terminal
# Dentro de Ubuntu, instalar SSH y obtener IP
sudo apt install -y openssh-server
ip addr show | grep inet

Luego desde otra terminal de Arch: ssh alumno@<IP>


Paso 4 — Autenticación por clave SSH (opcional)

Sección titulada “Paso 4 — Autenticación por clave SSH (opcional)"

Generar clave (en Arch, fuera del contenedor):

ventana terminal
ssh-keygen -t ed25519 -C "alumno@clase"
# Pulsa Enter 3 veces

Copiar clave al servidor:

ventana terminal
ssh-copy-id alumno@<IP-del-contenedor>

Verificar:

ventana terminal
ssh alumno@<IP> # Ya no pide contraseña

Paso 5 — Configurar el hostname y la zona horaria

Sección titulada “Paso 5 — Configurar el hostname y la zona horaria"
ventana terminal
# Cambiar el hostname (nombre del servidor)
sudo hostnamectl set-hostname servidor-linux
# Configurar la zona horaria a España
sudo timedatectl set-timezone Europe/Madrid
# Verificar
timedatectl

A partir de ahora, todas las prácticas se entregan en un único repositorio de GitHub. Esto te sirve como portafolio y te familiariza con el flujo de trabajo profesional (git, commits, pull requests).


Ve a GitHub y crea un repositorio con:

Repository namelfcs-practicas
DescriptionPrácticas del curso LFCS
Public / PrivateElige público (para portafolio) o privado (si quieres solo para el profesor)
Initialize❌ No marcar nada

Dentro del repositorio, cada práctica tiene su propia carpeta. La estructura es siempre la misma:

lfcs-practicas/
├── practica1/
│ ├── README.md
│ └── entrega/
│ └── verificacion.txt
├── practica2/
│ ├── README.md
│ └── entrega/
│ ├── verificacion.txt
│ └── (otros ficheros si los hay)
├── practica3/
│ ├── README.md
│ └── entrega/
│ └── ...
...
└── practica6/
├── README.md
└── entrega/
├── verificacion.txt
└── (ficheros específicos del ejercicio)

El README.md de cada práctica debe incluir:

# Práctica X — [Título de la práctica]
## Servidor / entorno utilizado
- Método: Distrobox / WSL2 / Lima / VirtualBox
- SO: Ubuntu 22.04 / 24.04
- Hostname: servidor-linux
## Comandos / herramientas nuevas aprendidas
- `comando1` - para qué sirve
- `comando2` - para qué sirve
## Dificultades encontradas
<!-- Describe al menos un problema real que tuviste y cómo lo solucionaste -->
## Tiempo dedicado
<!-- Ej: 2 horas -->
## Evidencia
Los ficheros generados están en la carpeta `entrega/`

ventana terminal
# 1. Clonar el repositorio (solo la primera vez)
git clone https://github.com/TU-USUARIO/lfcs-practicas.git
cd lfcs-practicas
# 2. Crear la carpeta de la práctica actual
mkdir -p practicaX/entrega
# 3. Hacer los ejercicios y guardar los ficheros en practicaX/entrega/
# 4. Escribir el README.md
nano practicaX/README.md
# 5. Subir los cambios
git add .
git commit -m "Entrega práctica X: [breve descripción]"
git push

Comparte el enlace a tu repositorio:

  • Si es público: https://github.com/TU-USUARIO/lfcs-practicas
  • Si es privado: Añade al profesor como colaborador (Settings → Collaborators → Add people)

El profesor revisará:

  • Estructura de carpetas correcta
  • README.md completo
  • Ficheros de entrega generados
  • Fechas de los commits (evitar entregas fuera de plazo)

PrácticaCarpetaQué debe contener “entrega/“
1practica1/verificacion.txt
2practica2/verificacion.txt + ficheros que se pidan
3practica3/verificacion.txt + ficheros
4practica4/verificacion.txt + ficheros
5practica5/verificacion.txt + ficheros
6practica6/verificacion.txt + ficheros (incluye 61_.txt, 62_.txt, etc.)

Dentro del servidor Ubuntu (Distrobox/WSL/Lima):

ventana terminal
# Crear estructura
mkdir -p ~/lfcs-practicas/practica1/entrega
# Generar verificacion.txt
{
echo "=== ENTREGA PRÁCTICA 1 ==="
echo "Hostname: $(hostname)"
echo "Usuario: $(whoami)"
uname -a
ip addr show | grep "inet " | grep -v "127.0.0.1"
timedatectl | grep "Time zone"
sudo apt list --upgradable 2>/dev/null | wc -l
} > ~/lfcs-practicas/practica1/entrega/verificacion.txt
# Crear README
cat > ~/lfcs-practicas/practica1/README.md << 'EOF'
# Práctica 1 — Instalación y Entorno
## Servidor utilizado
- Método: Distrobox
- SO: Ubuntu 22.04 LTS
- Hostname: servidor-linux
## Comandos aprendidos
- `distrobox create` - crear contenedor Ubuntu
- `sudo apt update && sudo apt upgrade` - actualizar sistema
- `hostnamectl` - cambiar nombre del servidor
- `timedatectl` - cambiar zona horaria
## Dificultades
Al principio no distinguía si estaba dentro de Ubuntu o en Arch. Lo solucioné ejecutando `cat /etc/os-release`.
## Tiempo
45 minutos
## Evidencia
La carpeta `entrega/` contiene la verificación del sistema.
EOF
# Inicializar git y subir
cd ~/lfcs-practicas
git init
git add .
git commit -m "Entrega práctica 1: servidor Ubuntu con Distrobox"
git branch -M main
git remote add origin https://github.com/TU-USUARIO/lfcs-practicas.git
git push -u origin main

8. Criterios de evaluación comunes para todas las prácticas

Sección titulada “8. Criterios de evaluación comunes para todas las prácticas"
ElementoPuntuación
Carpeta practicaX/entrega/ existe1 pto
Ficheros de entrega generados correctamente3 ptos
README.md completo (mínimo 5 líneas)2 ptos
Dificultades documentadas (mínimo 1)1 pto
Commit con mensaje descriptivo1 pto
Estructura general del repositorio2 ptos
Total10 ptos

Si algún alumno no puede o no quiere usar GitHub:

ventana terminal
# Empaquetar la práctica actual
tar czf practicaX-$(whoami).tar.gz practicaX/
# Enviar el fichero .tar.gz por correo o aula virtual

Pero se recomienda encarecidamente GitHub para construir un portafolio aprovechable en el mundo laboral.