Se acabó la teoría. En esta lección montas el laboratorio que usarás durante los ocho módulos del curso: una máquina llamada srv-tramontana con Ubuntu Server 24.04 LTS, un usuario operador y un servidor SSH funcionando.

No es un trámite. La forma en que instalas un servidor condiciona todo lo que viene después: si no verificas la ISO, no sabes qué has instalado; si particionas mal, un log desbocado puede tumbar la máquina entera; y si no haces snapshots, cada experimento arriesgado del curso será una ruleta rusa. Vas a ver las opciones disponibles y cuándo usar cada una, cómo verificar la integridad y la autenticidad de la imagen, el instalador de Ubuntu Server paso a paso —con el particionado explicado desde cero— y cómo dejar la máquina lista y con red de seguridad.

Dedícale el tiempo que haga falta. Un laboratorio bien montado se paga solo.

Contenido

  1. Opciones para montar el laboratorio y cuándo usar cada una
  2. La recomendación para este curso
  3. Descargar la ISO y verificarla
  4. Crear el medio de arranque y arrancar desde UEFI
  5. El instalador de Ubuntu Server paso a paso
  6. Particionado: qué es y cómo decidirlo
  7. Snapshots de la VM: tu red de seguridad
  8. Primer arranque y primera actualización
  9. Instantánea mental de lo que has creado

  1. Opciones para montar el laboratorio y cuándo usar cada una

Opción Qué es Ventajas Inconvenientes Cuándo usarla
Máquina virtual Un ordenador simulado dentro de tu sistema actual Aislada, con snapshots, puedes romperla sin miedo, conservas tu SO Consume RAM y CPU del anfitrión, algo más lenta Aprender y probar. La opción de este curso
WSL2 (Windows) Subsistema Linux integrado en Windows 10/11 Instalación en minutos, integración con Windows, ligero Kernel modificado, systemd limitado, no es un servidor real Desarrollo diario en Windows
Arranque dual Linux y Windows en el mismo disco, eliges al arrancar Rendimiento nativo completo Riesgo de perder datos al particionar, hay que reiniciar para cambiar Uso principal de Linux en tu equipo
Hardware dedicado Un ordenador solo para Linux Rendimiento total, experiencia real de servidor Necesitas una máquina libre Homelab, servidor doméstico
Servidor en la nube Instancia en AWS, Azure, Hetzner, DigitalOcean Accesible desde cualquier sitio, IP pública real Cuesta dinero, expuesto a internet desde el minuto uno Producción real, prácticas de red
Contenedor Docker Proceso aislado que comparte el kernel del anfitrión Muy ligero e instantáneo No es un sistema completo: sin init, sin kernel propio, sin arranque Módulo 7, no para aprender administración

Tres precisiones que evitan malentendidos frecuentes:

  • WSL2 no sustituye a una VM para este curso. Es excelente para escribir scripts y usar herramientas, pero no arranca como un servidor real, systemd funciona con limitaciones, no hay proceso de arranque que estudiar (Módulo 7) y la red está mediada por Windows. Si trabajas en Windows, úsalo como complemento cómodo, no como laboratorio principal.

  • Un contenedor no es una máquina. Comparte el kernel del anfitrión y arranca un solo proceso. No puedes practicar systemd, ni arranque, ni gestión de discos, ni configuración de red real. Los contenedores son un tema del curso, no la infraestructura del curso.

  • Un servidor en la nube expuesto es un objetivo real. Si abres SSH con contraseña en una IP pública, empezarás a recibir intentos de acceso automatizados en cuestión de minutos. No es una exageración: es lo que ocurre. Es un ejercicio excelente para el Módulo 6, pero no para el primer día.

Anfitriones de virtualización disponibles

Producto Sistema anfitrión Coste Notas
VirtualBox Windows, macOS (Intel), Linux Libre (GPL) El más sencillo y multiplataforma. Recomendado
VMware Workstation Pro Windows, Linux Gratuito para uso personal Muy sólido, mejor rendimiento gráfico
UTM / Parallels macOS con Apple Silicon Libre / de pago En Mac M1-M4 necesitas la ISO de ARM64
Hyper-V Windows Pro/Enterprise Incluido Bueno, pero convive mal con VirtualBox
KVM + virt-manager Linux Libre La opción nativa y más eficiente en Linux

Si tu portátil es un Mac con chip Apple Silicon, retén este dato ahora para no perder una hora después: necesitas la ISO de Ubuntu Server para ARM64, no la de AMD64.

  1. La recomendación para este curso

Una máquina virtual con Ubuntu Server 24.04 LTS, llamada srv-tramontana.

Recursos mínimos y recomendados:

Recurso Mínimo Recomendado Por qué
vCPU 2 2-4 Compilar y contenedores agradecen más
RAM 2 GB 4 GB Ubuntu Server sin escritorio arranca con ~200 MB; los módulos avanzados piden más
Disco 25 GB 40 GB Dinámico: solo ocupa lo que usa
Red NAT NAT + red solo-anfitrión NAT da internet; la segunda permite conectar por SSH desde el portátil

Una regla que se olvida y da problemas: no asignes a la VM más de la mitad de la RAM ni de los núcleos de tu equipo. Si tu portátil tiene 8 GB, dale 4 como mucho. Un anfitrión ahogado hace que todo vaya mal, incluida la VM.

Opcionalmente, una segunda VM con Ubuntu Desktop 24.04 LTS (usuario alumno, 4 GB de RAM, 30 GB de disco) para practicar con entorno gráfico. No es imprescindible: todo el curso se puede seguir solo con el servidor, y de hecho así trabajarás en la vida real. Si ya usas Linux o macOS en tu equipo, tu propio sistema hace ese papel.

Sobre la red de la VM

Merece un par de líneas porque determina si podrás conectarte por SSH:

  • NAT: la VM sale a internet a través de tu equipo. Es el modo por defecto y basta para instalar paquetes. Desde el anfitrión no puedes conectarte a la VM directamente, salvo que configures reenvío de puertos.
  • Adaptador puente (bridged): la VM aparece en tu red local como una máquina más, con su propia IP. Es lo más parecido a un servidor real.
  • Red solo-anfitrión (host-only): red privada entre tu equipo y la VM. Combinada con NAT es la configuración más cómoda para un laboratorio: internet por un lado, acceso SSH estable por el otro.

Configuración recomendada: adaptador 1 en NAT + adaptador 2 en red solo-anfitrión. Lo profundizaremos en el Módulo 6.

  1. Descargar la ISO y verificarla

Una ISO es la imagen de un disco de instalación: un único archivo que contiene el sistema de archivos completo del instalador.

Descárgala siempre desde el sitio oficial: https://ubuntu.com/download/server. Para Ubuntu Server 24.04 LTS el archivo se llama ubuntu-24.04.x-live-server-amd64.iso y ocupa unos 2,5 GB.

Por qué nunca se instala una ISO sin verificar

Estás a punto de conceder a ese archivo control total sobre una máquina. Si está alterado, todo lo que hagas después es papel mojado: no hay contraseña, cortafuegos ni antivirus que te proteja de un sistema comprometido desde su instalación.

Los riesgos son reales y documentados: descargas interrumpidas que dejan la ISO corrupta, réplicas (mirrors) comprometidas, sitios de descarga falsos posicionados en buscadores, ataques de intermediario en redes públicas. Verificar cuesta dos minutos.

Hay que hacer dos comprobaciones distintas, y confundirlas es un error conceptual común:

Comprobación Qué demuestra Qué NO demuestra
SHA256 Que el archivo no se ha corrompido ni alterado respecto al hash publicado Nada, si el atacante también controla la página donde leíste el hash
Firma GPG Que el archivo de hashes fue firmado por Canonical y nadie más —

Es decir: el SHA256 comprueba integridad; la firma GPG comprueba autenticidad. Solo haciendo las dos cierras el círculo.

Verificación paso a paso

Los comandos siguientes se ejecutan en Linux o macOS. En Windows puedes usar WSL2, Git Bash o los equivalentes de PowerShell.

Paso 1. Descargar los archivos auxiliares. Están en el mismo directorio que la ISO, en https://releases.ubuntu.com/24.04/:

wget https://releases.ubuntu.com/24.04/SHA256SUMS
wget https://releases.ubuntu.com/24.04/SHA256SUMS.gpg
  • SHA256SUMS: archivo de texto con el hash de cada imagen publicada.
  • SHA256SUMS.gpg: la firma criptográfica de ese archivo, hecha por Canonical.

Paso 2. Comprobar la suma SHA256.

sha256sum -c SHA256SUMS 2>/dev/null | grep -v 'No existe'

Salida esperada:

ubuntu-24.04.1-live-server-amd64.iso: La suma coincide

Qué hace cada parte:

  • sha256sum calcula la huella criptográfica del archivo: un número de 64 dígitos hexadecimales que cambia por completo si se modifica un solo bit.
  • -c SHA256SUMS le dice que lea el archivo de sumas y compruebe cada entrada que encuentre.
  • 2>/dev/null descarta los mensajes de error de las imágenes que no has descargado (verás la redirección en el Módulo 3).
  • El resultado clave es La suma coincide (OK si tu sistema está en inglés). Si dijera FALLÓ, borra la ISO y vuelve a descargarla: no la uses bajo ningún concepto.

Paso 3. Importar la clave pública de Canonical.

gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com \
    --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092

Salida:

gpg: clave 46181433FBB75451: clave pública "Ubuntu CD Image Automatic Signing Key <[email protected]>" importada
gpg: clave D94AA3F0EFE21092: clave pública "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" importada
gpg: Cantidad total procesada: 2

Estas dos claves son las que Canonical usa para firmar sus imágenes. Sus identificadores están publicados en la documentación oficial de Ubuntu; contrástalos allí en lugar de fiarte de este texto o de cualquier blog.

Paso 4. Verificar la firma.

gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

Salida esperada:

gpg: Firma creada el jue 29 ago 2024 18:22:13 CEST
gpg:                usando RSA clave D94AA3F0EFE21092
gpg: Firma correcta de "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>"
gpg: ATENCIÓN: ¡Esta clave no está certificada con una firma de confianza!
gpg:          No hay indicios de que la firma pertenezca al propietario.
Huella de clave primaria: 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092

Cómo leer esta salida, que es donde la gente se pone nerviosa sin motivo:

  • Firma correcta de "Ubuntu CD Image Automatic Signing Key" es la línea que importa. Significa que el archivo SHA256SUMS fue firmado con la clave privada de Canonical y no se ha modificado desde entonces.
  • El ATENCIÓN: ¡Esta clave no está certificada con una firma de confianza! es normal y no indica un problema. GPG solo te recuerda que tú no has declarado explícitamente que confías en esa clave dentro de tu red de confianza personal. La firma es válida.
  • La huella (8439 38DF ... EFE2 1092) es lo que debes contrastar con la publicada en la web oficial de Ubuntu. Si coincide, has cerrado el círculo.

Lo que sí sería alarmante es un BAD signature. En ese caso, no continúes.

Resumen del razonamiento completo: la firma GPG demuestra que SHA256SUMS viene de Canonical; el sha256sum -c demuestra que la ISO coincide con lo que ese archivo dice. Encadenando ambas, sabes que tu ISO es exactamente la que Canonical publicó.

  1. Crear el medio de arranque y arrancar desde UEFI

Si usas una máquina virtual, sáltate este apartado: en VirtualBox o VMware basta con conectar la ISO a la unidad óptica virtual de la VM. Esta sección es para instalar en hardware real.

Herramienta Sistema Notas
Rufus Windows El estándar. Elige esquema GPT y sistema destino UEFI
balenaEtcher Windows, macOS, Linux El más simple: elegir imagen, elegir disco, grabar
Ventoy Todos Copia varias ISO a un USB y eliges al arrancar. Muy práctico
dd Linux, macOS Nativo y potente, pero implacable

Con dd en Linux:

lsblk

Salida:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 476,9G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 476,4G  0 part /
sdb      8:16   1  14,6G  0 disk
└─sdb1   8:17   1  14,6G  0 part /media/alumno/USB

Interpretación: sda es tu disco interno (476 GB) y sdb es el USB (14,6 GB, columna RM a 1 = extraíble). Identificar bien el dispositivo es toda la seguridad que tienes.

sudo umount /dev/sdb1
sudo dd if=ubuntu-24.04.1-live-server-amd64.iso of=/dev/sdb bs=4M status=progress conv=fsync

Cada parte:

  • umount desmonta el USB: dd debe escribir sobre el dispositivo, no sobre una partición montada.
  • if= (input file): el origen, la ISO.
  • of= (output file): el destino, el dispositivo completo /dev/sdb, no /dev/sdb1.
  • bs=4M: escribe en bloques de 4 MB, mucho más rápido que el valor por defecto.
  • status=progress: muestra el avance, que si no dd trabaja en absoluto silencio.
  • conv=fsync: no da por terminada la operación hasta que todo esté físicamente escrito.

Advertencia que hay que tomarse en serio: dd no pregunta ni avisa. Si escribes of=/dev/sda por error, destruyes tu disco principal en segundos, sin confirmación y sin posibilidad de deshacer. Su apodo en la comunidad es disk destroyer. Comprueba el destino dos veces antes de pulsar Intro.

Arrancar desde UEFI

UEFI es el firmware que sustituyó a la BIOS clásica. Para arrancar desde el USB:

  1. Enciende y pulsa la tecla de menú de arranque durante los primeros segundos: F12, F2, Esc o Supr según el fabricante.
  2. Elige la entrada del USB. Si aparece dos veces, escoge la que empieza por UEFI:.
  3. Si el USB no aparece, entra en la configuración de firmware y revisa:
    • Secure Boot: Ubuntu está firmado y funciona con Secure Boot activado. Solo desactívalo si el arranque falla.
    • Fast Boot: desactívalo, se salta la detección de USB.
    • Modo de almacenamiento: debe estar en AHCI, no en RAID/Intel RST.

  1. El instalador de Ubuntu Server paso a paso

El instalador de Ubuntu Server se llama Subiquity y funciona en modo texto, con navegación por teclado: flechas para moverte, Tab para saltar entre zonas, Espacio para marcar, Intro para confirmar. No hay ratón, y no lo necesitas.

1. Idioma del instalador. Elige el que prefieras. Consejo profesional: selecciona English. Prácticamente toda la documentación, los mensajes de error y las respuestas de foros están en inglés, y buscar un mensaje de error traducido al español da muchos menos resultados. La distribución del teclado se configura aparte en el paso siguiente.

2. Actualización del instalador. Si detecta una versión más nueva, ofrece actualizarse. Acepta: corrige fallos conocidos.

3. Distribución del teclado. Aquí sí elige Spanish. Puedes usar la detección automática, que te pide pulsar teclas concretas. Comprueba que la ñ y los símbolos @, | y / salen donde esperas: escribirás muchos de ellos.

4. Tipo de instalación. Elige Ubuntu Server (la instalación estándar), no minimized. La versión minimizada elimina herramientas útiles y está pensada para imágenes de nube automatizadas.

5. Configuración de red. El instalador detecta la interfaz (habitualmente enp0s3 en VirtualBox) y solicita una dirección IP por DHCP. Verás algo como:

enp0s3  eth  -  DHCPv4  10.0.2.15/24

Con NAT en VirtualBox, la IP 10.0.2.15 es normal y correcta. Déjalo en DHCP; en el Módulo 6 configurarás una IP fija.

6. Proxy. Déjalo vacío salvo que tu red corporativa lo requiera.

7. Réplica de paquetes. El instalador propone http://es.archive.ubuntu.com/ubuntu. Acéptalo; comprueba automáticamente que responde.

8. Configuración del disco. El paso importante. Lo desarrollamos en la sección siguiente.

9. Perfil del usuario. Rellénalo así, y con exactamente estos valores, porque los usaremos durante todo el curso:

Campo Valor
Your name Operador Tramontana
Your server's name srv-tramontana
Pick a username operador
Choose a password Una contraseña robusta que recuerdes

Sobre esto conviene entender dos cosas:

  • El nombre del servidor (srv-tramontana) es el hostname: lo verás en el prompt cada vez que entres, y sirve para identificar la máquina en la red.
  • El usuario operador que creas aquí no es root, pero se añade automáticamente al grupo sudo, lo que le permite ejecutar comandos con privilegios de administrador. Ubuntu deja la cuenta root sin contraseña y deshabilitada para inicio de sesión directo, por diseño. Lo verás en la lección 01-05 y a fondo en la 05-02.
  • Al escribir la contraseña no se muestra nada, ni asteriscos ni puntos. No está bloqueado: es el comportamiento normal de Unix, que no revela ni siquiera la longitud.

10. Ubuntu Pro. Puedes omitirlo (Skip for now). Es gratuito hasta 5 máquinas y da 10 años de soporte; en un laboratorio no aporta nada.

11. Servidor OpenSSH. Marca la casilla Install OpenSSH server. Es el paso más importante de esta pantalla: sin él no podrás conectarte al servidor desde tu portátil y tendrás que trabajar siempre en la consola de la VM, que es incómoda (sin copiar y pegar, sin desplazamiento cómodo, sin varias ventanas). Deja sin marcar la importación de claves de GitHub o Launchpad; las claves SSH son tema del Módulo 6.

12. Snaps destacados. No selecciones ninguno. Instalaremos lo que necesitemos cuando lo necesitemos, entendiendo qué hace cada cosa.

13. Instalación. El proceso tarda entre 5 y 20 minutos. Puedes seguir el registro en pantalla con View full log, que es una forma excelente de ir familiarizándote con lo que hace un instalador. Al terminar aparece Reboot Now.

14. Retirar el medio. Si instalaste desde USB, extráelo. En una VM, VirtualBox suele desconectar la ISO automáticamente; si vuelve a arrancar el instalador, desconéctala manualmente desde la configuración de la VM.

  1. Particionado: qué es y cómo decidirlo

Aquí es donde más gente se atasca, así que empecemos por el principio.

Qué es una partición

Un disco físico es una superficie continua de almacenamiento. Una partición es una división lógica de ese disco: una porción con un principio, un final y un propósito. El disco lleva una tabla de particiones que describe esas divisiones.

Hay dos formatos de tabla:

Formato Antigüedad Límites Uso hoy
MBR 1983 Máximo 4 particiones primarias, discos de hasta 2 TB Sistemas antiguos con BIOS
GPT 2010 128 particiones, discos enormes, con sumas de verificación El estándar actual, requerido por UEFI

Usa siempre GPT. Salvo que trabajes con hardware muy antiguo, no hay motivo para MBR.

Sobre cada partición se crea un sistema de archivos (el formato que organiza archivos y directorios dentro de ella): en Linux, habitualmente ext4, robusto y probadísimo. Y esa partición se monta en un punto del árbol de directorios: es la idea central de la lección 01-06.

Las particiones que importan

Punto de montaje Qué contiene ¿Partición propia?
/ (raíz) Todo el sistema Siempre. Es obligatoria
/boot/efi Cargador de arranque UEFI, formato FAT32 Sí en sistemas UEFI, ~500 MB-1 GB
/boot Kernels e initramfs Opcional; necesaria si cifras el disco
swap Espacio en disco usado como extensión de la memoria Recomendable (partición o archivo)
/home Datos personales de los usuarios Opcional; útil para reinstalar sin perder datos
/var Logs, bases de datos, caché de paquetes: datos que crecen Muy recomendable en servidores

Swap: qué es y cuánto

Swap es espacio en disco que el kernel usa cuando la RAM se agota: mueve allí las páginas de memoria menos usadas para liberar RAM. También es necesario para la hibernación.

Es mucho más lento que la RAM, así que no es un sustituto: es una red de seguridad que evita que el sistema mate procesos cuando hay un pico de memoria.

RAM del sistema Swap recomendada (servidor)
2 GB 2 GB
4 GB 2-4 GB
8 GB 2-4 GB
16 GB o más 2-4 GB (o ninguna, si se monitoriza bien)

La vieja regla de «el doble de la RAM» viene de una época de memorias diminutas y hoy no tiene sentido. Ubuntu, por defecto, crea un archivo de swap (/swap.img) en lugar de una partición: es igual de válido y mucho más fácil de redimensionar después.

Esquema por defecto frente a manual

El instalador ofrece dos caminos:

  • Use an entire disk: crea /boot/efi y una sola partición grande para /, todo dentro de LVM si dejas marcada la opción. Es correcto, simple y perfectamente válido para aprender.
  • Custom storage layout: decides tú cada partición.

Una recomendación honesta: si es tu primera instalación, usa el esquema por defecto. Aprender particionado y aprender Linux a la vez es innecesario. Podrás repetir la instalación con particionado manual cuando llegues a la lección 05-04 y entiendas LVM.

Dicho esto, este es el esquema que un administrador montaría para un servidor como el nuestro, y merece la pena que entiendas la lógica:

Esquema recomendado para srv-tramontana (disco de 40 GB)

Partición Tamaño Sistema de archivos Punto de montaje Justificación
1 1 GB FAT32 /boot/efi Requisito de UEFI. Debe ser FAT32
2 2 GB ext4 /boot Kernels e initramfs. Aislada para que no se llene
3 4 GB swap — Red de seguridad ante picos de memoria
4 10 GB ext4 /var Logs y datos variables aislados
5 5 GB ext4 /home Datos de usuario; sobreviven a una reinstalación
6 resto (~18 GB) ext4 / El resto del sistema

La partición clave es /var, y el motivo es puro sentido común operativo: los logs crecen. Si /var/log/tramontana/acceso.log se desboca por un bucle de errores y /var comparte partición con /, el disco raíz se llena. Y cuando / se llena, el sistema deja de funcionar: no se pueden escribir archivos temporales, los servicios fallan, a veces ni siquiera puedes iniciar sesión para arreglarlo. Con /var en su propia partición, el problema queda contenido: se llena /var, se paran los logs, pero el sistema sigue en pie y puedes entrar a solucionarlo.

Ese es el principio general del particionado en servidores: aislar lo que crece de forma impredecible.

Y su contrapartida, que también hay que conocer: las particiones fijas son rígidas. Si dimensionas mal, te sobra espacio en una y falta en otra. Esa es exactamente la razón de ser de LVM, que permite redimensionar volúmenes en caliente y que estudiarás en la lección 05-04. Por eso Ubuntu lo activa por defecto.

  1. Snapshots de la VM: tu red de seguridad

Un snapshot (instantánea) congela el estado completo de la VM —disco, memoria, configuración— en un punto del tiempo. Puedes volver a él en segundos, deshaciendo cualquier cosa que hayas hecho después.

Es la mayor ventaja pedagógica de trabajar con máquinas virtuales: te permite romper el sistema a propósito. Y romperlo a propósito, en un entorno donde volver atrás cuesta 10 segundos, es la forma más rápida de aprender administración de sistemas.

En VirtualBox: menú Máquina → Tomar instantánea. En VMware: VM → Snapshot → Take Snapshot.

Toma un snapshot ahora mismo, recién terminada la instalación, y llámalo 01-instalacion-limpia. Es tu punto cero: siempre podrás volver a un sistema recién instalado sin repetir el proceso.

Plan de snapshots recomendado para el curso:

Nombre sugerido Cuándo tomarlo
01-instalacion-limpia Ahora, tras instalar y actualizar
02-antes-de-permisos Antes del Módulo 2, lección de permisos
03-antes-de-discos Antes de la lección 05-04 (particionar en caliente)
04-antes-de-firewall Antes del Módulo 6 (te puedes dejar fuera del servidor)
05-antes-de-kernel Antes del Módulo 7 (arranque y kernel)

Dos advertencias prácticas:

  • Los snapshots ocupan espacio y ralentizan la VM si acumulas muchos. Borra los antiguos que ya no necesites. No mantengas más de cuatro o cinco activos.
  • Un snapshot no es una copia de seguridad. Vive en el mismo disco físico que la VM: si ese disco falla, se pierde todo junto. Las copias de seguridad de verdad son la lección 05-08.

  1. Primer arranque y primera actualización

Tras reiniciar, verás pasar mensajes de arranque y llegarás a la pantalla de inicio de sesión:

Ubuntu 24.04.1 LTS srv-tramontana tty1

srv-tramontana login:

Escribe operador, pulsa Intro, escribe la contraseña (recuerda: no se ve nada) y pulsa Intro. Aparecerá el mensaje del día y, al final, el prompt:

operador@srv-tramontana:~$

Ese prompt es tu punto de partida. En la lección siguiente lo desmenuzaremos carácter a carácter.

Actualizar el sistema

La imagen que instalaste se generó hace semanas o meses. Desde entonces se han publicado correcciones de seguridad. Lo primero que se hace en cualquier sistema recién instalado es actualizarlo:

sudo apt update && sudo apt upgrade

Qué hace exactamente:

  • sudo ejecuta el comando con privilegios de administrador. La primera vez te pedirá tu propia contraseña (la de operador, no una de root), y la recordará unos 15 minutos.
  • apt update no actualiza nada: descarga la lista de paquetes disponibles desde los repositorios y comprueba cuáles tienen versión nueva. Es el paso de "informarse".
  • && encadena: ejecuta lo segundo solo si lo primero terminó correctamente.
  • apt upgrade descarga e instala las nuevas versiones. Pedirá confirmación mostrando qué va a cambiar.

Salida típica de la primera parte:

Hit:1 http://es.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://es.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Fetched 252 kB in 2s (126 kB/s)
Reading package lists... Done
Building dependency tree... Done
23 packages can be upgraded. Run 'apt list --upgradable' to see them.

Lectura de esta salida:

  • Hit significa que ese repositorio no ha cambiado desde la última consulta; Get que se ha descargado información nueva.
  • noble es el nombre en clave de Ubuntu 24.04 (cada versión tiene el suyo: jammy fue 22.04, noble es 24.04).
  • Hay tres orígenes: el repositorio base, noble-updates (correcciones generales) y noble-security (correcciones de seguridad, el más importante).
  • 23 packages can be upgraded: eso es lo que apt upgrade va a instalar.

Si tras actualizar aparece un mensaje indicando que hace falta reiniciar (típico cuando se actualiza el kernel), hazlo:

sudo reboot

Todo esto se profundiza en la lección 05-03. Aquí solo necesitas que el sistema esté al día.

  1. Instantánea mental de lo que has creado

Antes de seguir, ten claro qué existe ahora:

  • Una máquina virtual con Ubuntu Server 24.04 LTS, kernel 6.8, sin entorno gráfico.
  • Un hostname: srv-tramontana.
  • Un usuario operador, miembro del grupo sudo, con su directorio personal en /home/operador.
  • Una cuenta root existente pero sin contraseña y sin inicio de sesión directo.
  • Un servidor SSH escuchando en el puerto 22, listo para conexiones desde tu portátil.
  • Un disco particionado con al menos /boot/efi y /, y swap.
  • Una interfaz de red con IP por DHCP y salida a internet.
  • Un sistema actualizado con los últimos parches de seguridad.
  • Un snapshot llamado 01-instalacion-limpia al que puedes volver siempre.

Lo que todavía no existe y crearás a lo largo del curso: el grupo tramontana, los directorios /opt/tramontana/app, /etc/tramontana/, /var/log/tramontana/, /srv/tramontana/backups y /home/operador/scripts, y por supuesto la aplicación Tramontana Reservas. En la lección 01-06 verás por qué cada pieza va exactamente donde va.

Errores Comunes y Consejos

  • Instalar sin verificar la ISO. Es el error más grave de esta lección, porque invalida silenciosamente todo lo que hagas después. Dos minutos de comprobación.
  • Confundir integridad con autenticidad. El SHA256 solo demuestra que el archivo coincide con el hash publicado. Si un atacante controla la página, controla ambos. La firma GPG es la que ata el hash a Canonical.
  • Asustarse con el aviso «esta clave no está certificada». Es normal en GPG y no indica problema. Lo alarmante sería BAD signature.
  • Equivocarse de dispositivo con dd. Ejecuta lsblk antes y después de conectar el USB, y compara. La diferencia es tu USB.
  • Olvidar marcar «Install OpenSSH server». Es el olvido más frecuente y el que más incomodidad genera. Si te ha pasado, se soluciona con sudo apt install openssh-server.
  • Pensar que la contraseña no se está escribiendo. No aparecen asteriscos por diseño. Escribe con confianza y pulsa Intro.
  • Instalar Ubuntu Desktop creyendo que es lo mismo. Un servidor no lleva escritorio: consume memoria, aumenta la superficie de ataque y no aporta nada operativo.
  • Dar a la VM toda la RAM del anfitrión. Ahoga el sistema anfitrión y todo va peor, incluida la VM.
  • No tomar snapshots. Los snapshots convierten los errores en experimentos. Sin ellos, cada práctica arriesgada da pereza, y la pereza es enemiga del aprendizaje.
  • Consejo. Anota en un documento la configuración de tu laboratorio: nombre de la VM, recursos, IP, usuario y contraseña, esquema de particiones y snapshots tomados. En tres semanas no lo recordarás, y documentar la infraestructura es exactamente lo que hace un buen administrador.
  • Consejo. Cuando la instalación funcione, repítela una segunda vez con particionado manual. La primera te da un sistema; la segunda te da comprensión.

Ejercicios

Ejercicio 1

Has descargado ubuntu-24.04.1-live-server-amd64.iso desde un enlace que te ha pasado un compañero por mensajería. Describe el procedimiento completo de verificación en cuatro pasos, indicando para cada uno qué comando ejecutas, qué salida esperas y qué demuestra exactamente. Explica después por qué el paso del SHA256, por sí solo, no bastaría en este escenario concreto.

Ejercicio 2

Marta te pide que dimensiones el disco de un futuro srv-tramontana-2 de 100 GB que alojará la base de datos de reservas y guardará copias locales. Propón un esquema de particiones completo con tamaños y justificación de cada una, señala cuál es la más crítica y por qué, y explica qué inconveniente tiene tu propuesta frente a usar LVM.

Ejercicio 3

Tras instalar, arrancas la VM y ocurren estos tres problemas. Diagnostica cada uno y propón la solución:

  1. Vuelve a aparecer el instalador de Ubuntu en lugar del sistema instalado.
  2. Al escribir la contraseña en el login, no aparece ningún carácter en pantalla.
  3. Desde tu portátil, ssh [email protected] responde Connection refused.

Soluciones

Solución al Ejercicio 1

Paso 1 — Descargar los archivos de verificación desde la fuente oficial.

wget https://releases.ubuntu.com/24.04/SHA256SUMS
wget https://releases.ubuntu.com/24.04/SHA256SUMS.gpg

Es imprescindible que sea desde releases.ubuntu.com, no desde donde vino la ISO. Ese es el punto entero del ejercicio.

Paso 2 — Comprobar la suma SHA256.

sha256sum -c SHA256SUMS 2>/dev/null

Salida esperada: ubuntu-24.04.1-live-server-amd64.iso: La suma coincide. Demuestra: integridad, que el archivo que tienes es bit a bit idéntico al descrito en SHA256SUMS.

Paso 3 — Importar la clave pública de Canonical.

gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com \
    --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092

Salida esperada: clave pública "Ubuntu CD Image Automatic Signing Key" importada. Demuestra: nada por sí solo; prepara la comprobación siguiente.

Paso 4 — Verificar la firma del archivo de sumas.

gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

Salida esperada: Firma correcta de "Ubuntu CD Image Automatic Signing Key". El aviso sobre confianza es normal. Demuestra: autenticidad, que SHA256SUMS fue firmado por Canonical y no se ha alterado.

Y como remate, contrastar la huella mostrada con la publicada en la documentación oficial de Ubuntu.

Por qué el SHA256 solo no bastaría aquí.

El escenario dice que la ISO llegó por un canal no oficial. Si esa persona (o quien le pasó el archivo a ella) hubiera modificado la ISO, le bastaría con calcular el SHA256 del archivo modificado y enviártelo junto al enlace. Comprobarías la suma, coincidiría perfectamente, y estarías verificando el archivo alterado contra el hash del archivo alterado. La comprobación sería técnicamente correcta y completamente inútil.

Un hash solo garantiza integridad respecto a una referencia en la que confías. Si la referencia procede de la misma fuente que el archivo, no hay garantía de nada. La firma GPG rompe ese círculo porque nadie sin la clave privada de Canonical puede producir una firma válida.

En la práctica, ese es el sentido de toda la criptografía de firma: sustituir la confianza en el canal por la confianza en una clave verificable.

Solución al Ejercicio 2

Esquema propuesto para srv-tramontana-2 (100 GB, servidor de base de datos con copias locales):

# Tamaño FS Punto de montaje Justificación
1 1 GB FAT32 /boot/efi Requisito UEFI, formato obligatorio
2 2 GB ext4 /boot Kernels e initramfs; aislada para que las actualizaciones no la llenen
3 4 GB swap — Red de seguridad ante picos; no más, porque una BD que hace swap ya va mal
4 20 GB ext4 / Sistema base y binarios; 20 GB es holgado y suficiente
5 5 GB ext4 /home Datos de operador y sus scripts; se conserva al reinstalar
6 25 GB ext4 /var Datos de PostgreSQL (/var/lib/postgresql) y logs
7 43 GB ext4 /srv Copias locales en /srv/tramontana/backups

La más crítica: /var.

Contiene simultáneamente los datos de la base de datos y los registros del sistema, y ambos crecen de forma continua. Si /var compartiera espacio con /, un log desbocado o un crecimiento inesperado de la base llenaría el sistema raíz, y un / lleno significa un servidor inservible: no se pueden crear archivos temporales, los servicios fallan al escribir sus ficheros de estado y en ocasiones ni siquiera se puede iniciar sesión para arreglarlo.

Aislándola, el peor caso es que PostgreSQL deje de aceptar escrituras —grave, pero recuperable— con el sistema todavía en pie y accesible.

Segunda en criticidad es /srv: se ha dimensionado como la partición más grande porque las copias acumuladas crecen con cada ejecución, y se ha separado precisamente para que su crecimiento no afecte a nada más.

Inconveniente frente a LVM.

Este esquema es rígido. Los tamaños se fijan en la instalación y cambiarlos después es incómodo y arriesgado: requiere parar el servicio, arrancar desde un medio externo, redimensionar el sistema de archivos y mover los límites de las particiones. Si dentro de un año la base de datos supera los 25 GB de /var mientras sobran 30 GB sin usar en /srv, ese espacio libre no es aprovechable sin una intervención delicada.

Con LVM (Logical Volume Manager), las particiones físicas se agrupan en un conjunto del que se recortan volúmenes lógicos redimensionables. Ampliar /var en 20 GB sería:

sudo lvextend -L +20G /dev/vg0/var
sudo resize2fs /dev/vg0/var

Dos comandos, con el sistema en marcha y el servicio funcionando. Además LVM permite snapshots a nivel de volumen, muy útiles antes de una migración de esquema de base de datos.

Por eso, en un servidor real de producción, la recomendación profesional es: /boot y /boot/efi como particiones normales (LVM no puede alojarlas cómodamente) y todo lo demás sobre LVM. Es exactamente lo que hace el instalador de Ubuntu por defecto, y se estudia en la lección 05-04.

Solución al Ejercicio 3

Problema 1 — Vuelve a arrancar el instalador.

Diagnóstico: el medio de instalación sigue conectado y el firmware lo prioriza en el orden de arranque. La instalación probablemente terminó bien; simplemente arranca del sitio equivocado.

Solución:

  • En una VM: apágala, ve a Configuración → Almacenamiento, selecciona la unidad óptica y quita la ISO (Eliminar disco de la unidad virtual). Vuelve a arrancar.
  • En hardware físico: extrae el USB y, si el problema persiste, entra en la configuración UEFI y coloca el disco duro como primer dispositivo de arranque.

Cómo distinguirlo de un fallo real de instalación: si el disco no fuera arrancable, al retirar el medio verías un mensaje del tipo «No bootable device found», no el instalador.

Problema 2 — No aparecen caracteres al escribir la contraseña.

Diagnóstico: no es un problema. Es el comportamiento estándar de Unix desde hace más de cincuenta años. El terminal desactiva el eco de caracteres durante la introducción de credenciales.

Por qué se hace así: no mostrar ni siquiera asteriscos evita revelar la longitud de la contraseña a alguien que mire la pantalla, un dato que reduce el espacio de búsqueda de un ataque. Es una decisión deliberada, no una carencia.

Qué hacer: escribir con normalidad y pulsar Intro. Si la contraseña es incorrecta, el sistema lo dirá con Login incorrect tras una pausa de unos segundos —esa pausa también es intencionada, para frenar los intentos automatizados.

Consejo: si sospechas que el problema es la distribución del teclado (símbolos que no salen donde esperas), escribe la contraseña en el campo de usuario, donde sí se ve, para comprobar qué caracteres produce realmente tu teclado. Luego bórrala y entra normalmente.

Problema 3 — ssh [email protected] da Connection refused.

Hay que separar dos causas muy distintas, y el propio mensaje ayuda:

Causa A, la más probable en VirtualBox: la topología de red. Con el adaptador en NAT, la IP 10.0.2.15 pertenece a una red privada interna de VirtualBox. Desde el anfitrión no es alcanzable. El error se produce antes de llegar al servidor.

Solución, dos alternativas:

  1. Añadir un segundo adaptador en red solo-anfitrión (Configuración → Red → Adaptador 2 → Red solo-anfitrión). La VM obtendrá una segunda IP, del tipo 192.168.56.x, accesible desde el portátil. Es la opción recomendada porque conserva la salida a internet por NAT.
  2. Configurar reenvío de puertos en el adaptador NAT: puerto 2222 del anfitrión al 22 de la VM. Después se conecta con ssh -p 2222 operador@localhost.

Para averiguar la IP real de la VM, ejecuta en su consola:

ip a

Causa B: OpenSSH no está instalado. Si olvidaste marcar la casilla en el instalador, no hay nada escuchando en el puerto 22. Compruébalo en la consola de la VM:

sudo systemctl status ssh

Si responde Unit ssh.service could not be found, instálalo:

sudo apt install openssh-server

Ubuntu lo activa y arranca automáticamente al instalarlo.

Cómo distinguir A de B por el mensaje de error: Connection refused significa que algo respondió activamente rechazando la conexión (no hay servicio en ese puerto). Connection timed out o No route to host indican que ni siquiera se llegó a la máquina, lo que apunta a problema de red o de cortafuegos. Aprender a leer estos mensajes ahorra muchísimo tiempo, y volveremos sobre ello en el Módulo 6.

Conclusión

Ya tienes laboratorio. En esta lección has visto:

  • Las opciones para montar un entorno Linux —VM, WSL2, arranque dual, hardware, nube, contenedor— y por qué la máquina virtual es la adecuada para aprender.
  • Cómo verificar una ISO con sha256sum (integridad) y GPG (autenticidad), y por qué ninguna de las dos comprobaciones basta por separado.
  • Cómo crear un medio de arranque con dd u otras herramientas, y las precauciones que exige.
  • El instalador de Ubuntu Server paso a paso, con el hostname srv-tramontana, el usuario operador y OpenSSH instalado.
  • Qué es una partición, qué papel juega cada punto de montaje y por qué aislar /var protege al sistema entero de un log desbocado.
  • Los snapshots como red de seguridad que convierte los errores en experimentos.
  • El primer arranque y el imprescindible sudo apt update && sudo apt upgrade.

Tienes delante un cursor parpadeando después de operador@srv-tramontana:~$ y probablemente la sensación de no saber muy bien qué hacer con él. Es exactamente donde toca estar.

En la siguiente lección, Primer Contacto con el Sistema, desmenuzaremos ese prompt carácter a carácter, verás qué son realmente una consola, un terminal y una TTY, aprenderás la anatomía de un comando y los atajos de teclado que te ahorrarán horas, y harás el reconocimiento inicial de srv-tramontana: qué versión corre, cuánta memoria tiene y cuánto disco queda libre. Empezarás, por fin, a mirar el sistema por dentro.

Curso de Linux: De Principiante a Administrador de Sistemas

Módulo 1: Introducción a Linux

Módulo 2: Comandos Básicos de Linux

Módulo 3: Habilidades Avanzadas en la Línea de Comandos

Módulo 4: Scripting en Shell

Módulo 5: Administración del Sistema

Módulo 6: Redes y Seguridad

Módulo 7: Temas Avanzados

Módulo 8: Proyectos Prácticos

© Copyright 2026. Todos los derechos reservados