Todo el temario de la práctica RA1 (instalación y administración básica de Ubuntu Server en VirtualBox) y de las nueve infografías. Los recuadros amarillos marcan lo que más se pregunta en un tipo test.
Bloque 1 · Fundamentos
1. Arranque de un servidor 2. GNU/Linux 3. Distribuciones 4. Canonical y Ubuntu 5. Repositorios y mirrorsBloque 2 · Virtualización e instalación
6. Hipervisores y contenedores 7. Crear la máquina virtual 8. Modos de red 9. Instalar Ubuntu Server 10. Clonar, instantánea y exportarBloque 3 · Terminal y administración
11. Shell y prompt 12. Sistema de ficheros 13. Actualizar el sistema 14. Información del sistema 15. systemctl y journalctl 16. Otros comandosBloque 1 · Fundamentos
Es todo lo que ocurre desde que pulsas el botón de encendido hasta que el sistema operativo está cargado en memoria y listo para usarse. Son seis pasos y siempre van en este orden.
init o systemd, se cargan servicios y drivers y se muestra el login o el entorno gráfico.| BIOS | UEFI | |
|---|---|---|
| Antigüedad | Tecnología más antigua, método clásico | Tecnología moderna, sustituye a la BIOS |
| Tabla de particiones | MBR | GPT |
| Discos grandes | No (límite del MBR) | Sí |
| Arranque seguro | No tiene | Secure Boot |
| Interfaz | Básica, menos funciones | Más avanzada, puede ser gráfica |
| Dónde está | Firmware en la placa base | Firmware en la placa base (en una VM, emulado por el hipervisor) |
En servidores actuales se recomienda UEFI, sobre todo con discos grandes o sistemas modernos (Windows Server 2019/2022, distribuciones Linux recientes).
| MBR (Master Boot Record) | GPT (GUID Partition Table) | |
|---|---|---|
| Particiones | Hasta 4 primarias (o más usando una extendida) | Muchas más |
| Tamaño máximo de disco | 2 TB aprox. | 9,4 ZB aprox. |
| Fiabilidad | Diseño más antiguo | Mayor, guarda copias de seguridad de la tabla |
| Firmware | BIOS | Necesita UEFI |
| Uso | Sistemas antiguos o por compatibilidad | La mayoría de servidores modernos |
En los dos casos las particiones pueden estar en discos HDD o SSD. La diferencia está en cómo se organiza la tabla de particiones, no en el tipo de disco.
La idea común es la libertad del software. El sistema que usamos nace de juntar dos proyectos distintos.
| Richard Stallman | Linus Torvalds | |
|---|---|---|
| Nacimiento | 1953 | 1969, finlandés |
| Qué hizo | Programador y activista del software libre. Inició el proyecto GNU | Creó el kernel de Linux como proyecto personal |
| Año | 1983 | 1991 |
| Objetivo | Un sistema operativo completamente libre | Un núcleo, que acabó siendo la base de muchos sistemas operativos |
bash (intérprete de comandos), ls, cp, mv, rm, cat (utilidades básicas), gcc (compilador de C) y coreutils (conjunto de herramientas).Una distribución (distro) es un sistema operativo que incluye el kernel de Linux junto con herramientas, aplicaciones, un entorno de escritorio y un gestor de paquetes. En pocas palabras: una versión de Linux lista para ser utilizada. Todas comparten la misma base, el kernel, que es «el corazón de todas las distribuciones».
| Distribución | Ideal para | Características | Dificultad |
|---|---|---|---|
| Ubuntu | Principiantes, servidores, empresas | Fácil de usar, gran comunidad, abundante documentación | Fácil |
| Debian | Servidores, usuarios avanzados | Muy estable y confiable, base de muchas distros, gran soporte de comunidad | Media |
| Fedora | Desarrolladores, quien quiere tecnología reciente | Tecnologías de vanguardia, software actualizado, patrocinada por Red Hat | Media |
| Red Hat Enterprise Linux | Empresas, servidores críticos | Soporte comercial, alta seguridad, muy usada en entornos corporativos | Media / Alta |
| Linux Mint | Principiantes, usuarios de Windows | Interfaz amigable, basada en Ubuntu, experiencia similar a Windows | Fácil |
| Arch Linux | Usuarios avanzados, quien quiere personalizar todo | Muy personalizable, instalación desde cero, aprendes cómo funciona Linux | Alta |
Para empezar se recomienda Ubuntu o Linux Mint: fáciles de usar, gran comunidad y mucha documentación. Lo importante no es elegir la distribución «perfecta», sino empezar a practicar.
| Distro | Público | Qué hay que saber |
|---|---|---|
| Red Hat (RHEL) | Empresas | La distro empresarial más importante. No es gratis |
| CentOS | Empresas | Community ENTerprise Operating System. Es un fork gratuito de Red Hat |
| SUSE | Empresas | Soluciones de servidores, desktop y sistemas embebidos |
| Debian | Usuario final | Una de las distros más completas, antiguas y estables |
| Kali | Usuario final | Basada en Debian. Trae herramientas de auditoría y seguridad informática |
| Ubuntu | Usuario final | Basada en Debian. Es la distro más famosa |
| Fedora | Usuario final | Basada en Red Hat pero desarrollada por la comunidad |
| Linux Mint | Usuario final | Basada en Ubuntu. Busca una experiencia cercana a Windows |
Canonical Ltd. es la compañía que está detrás de la infraestructura y de las versiones de Ubuntu: se encarga de su mantenimiento y desarrollo.
| Edición | Para qué es |
|---|---|
| Ubuntu Desktop | Uso de escritorio. Incluye interfaz gráfica y aplicaciones (navegador, ofimática, multimedia) |
| Ubuntu Server | Servidores. No tiene interfaz gráfica y se administra desde la terminal (CLI) |
| Ubuntu Core | Dispositivos IoT (conectados a Internet que almacenan, envían o reciben datos) |
| Ubuntu Studio | Audio, vídeo, gráficos y producción multimedia |
| Edubuntu | Entorno educativo: estudiantes, profesores y centros |
Desktop frente a Server: Server no tiene interfaz gráfica y Desktop sí. Desktop trae muchas aplicaciones preinstaladas; en Server los servicios se instalan a mano según lo que necesite el servidor (por ejemplo Apache).
Suscripción de Canonical que ofrece soporte y actualizaciones de seguridad ampliadas, pensada para servidores y entornos empresariales. Añade: actualizaciones de seguridad durante mucho más tiempo, soporte para más paquetes, herramientas de seguridad y gestión, Livepatch (aplicar actualizaciones del kernel sin reiniciar) y soporte técnico de Canonical. En la práctica se omite eligiendo Skip for now.
main, universe, multiverse y restricted.Durante la instalación de Ubuntu Server el instalador comprueba que el mirror está disponible para asegurarse de que puede conectarse y descargar los paquetes. En la práctica el mirror era http://es.archive.ubuntu.com/ubuntu/ y el instalador indicó «This mirror location passed tests».
Tu equipo solicita un paquete (por ejemplo nginx) → Internet → repositorio o mirror (por ejemplo archive.ubuntu.com), u otro mirror si hace falta → descarga e instalación → el paquete queda instalado.
En /etc/apt/sources.list están las direcciones de los repositorios y mirrors que usa APT. En versiones recientes también se usa el directorio /etc/apt/sources.list.d/ para configuraciones adicionales.
$ cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
| Comando | Qué hace |
|---|---|
sudo apt update | Actualiza la lista de paquetes desde los repositorios (mirrors) |
sudo apt upgrade | Instala las actualizaciones disponibles |
sudo apt install <paquete> | Instala un paquete |
sudo apt search <nombre> | Busca un paquete en los repositorios |
sudo apt-cache policy | Muestra información de los repositorios y las versiones disponibles |
sudo nano /etc/apt/sources.list | Edita el archivo de repositorios para cambiar de mirror |
sudo apt install software-properties-common | Instala la herramienta para gestionar repositorios |
En Ubuntu con escritorio también existe la herramienta gráfica «Software y actualizaciones» para elegir mirror.
apt usa los mirrors configurados para descargar, instalar y actualizar paquetes. Resumen de la infografía: los repositorios te dan el software, los mirrors te lo acercan y APT lo gestiona.Bloque 2 · Virtualización e instalación
Un hipervisor es un monitor de máquinas virtuales: el software que permite crear y ejecutar varias máquinas virtuales (Windows, Linux...) sobre un mismo equipo físico.
| Tipo 1 (nativo o bare-metal) | Tipo 2 (alojado o hosted) | Contenedores | |
|---|---|---|---|
| Capas | Hardware → hipervisor → VMs | Hardware → SO host → hipervisor → VMs | Hardware → SO host → motor de contenedores → contenedores |
| Cómo funciona | Se instala directamente sobre el hardware, sin sistema operativo en medio | Se ejecuta como una aplicación sobre un sistema operativo normal | Comparten el kernel del SO host. Solo llevan aplicaciones y librerías |
| Rendimiento | Muy alto, aislamiento total | Menor que el tipo 1, fácil de configurar | Extremadamente ligeros, inicio casi instantáneo, aislamiento de procesos |
| Uso | Centros de datos, servidores empresariales | Desarrollo, pruebas, estaciones de trabajo | Microservicios, DevOps, despliegue rápido |
| Ejemplos | VMware ESXi, Microsoft Hyper-V, KVM, Proxmox | VMware Workstation, Oracle VirtualBox, Parallels | Docker, Kubernetes, LXC |
| Mínimo (ISO) | Mínimo (imagen cloud) | Sugerido | |
|---|---|---|---|
| RAM | 1,5 GB | 1 GB | 3 GB o más |
| Almacenamiento | 5 GB | 4 GB | 25 GB o más |
Soporta arquitecturas de 64 bits y ARM de 32 bits. La VM (2 GB y 20 GB) cumple los mínimos aunque queda por debajo de lo sugerido.
La práctica usa NAT: un modo de red de VirtualBox que permite a la VM usar la conexión a Internet del host. La VM sale a Internet a través del host, que actúa como gateway y hace la traducción de direcciones (NAT). VirtualBox ofrece cinco modos: NAT, Red NAT, Adaptador puente (Bridged), Host-only y Red interna.
| Modo | VMs | Internet | Con el host | Con otras VMs | IP de la VM (ejemplo) | Uso típico |
|---|---|---|---|---|---|---|
| NAT | 1 | Sí | Sí | No (salvo reenvío de puertos) | Privada 10.0.2.x (10.0.2.15) | Una VM con acceso a Internet |
| Red NAT | Varias | Sí | Sí | Sí | Privada 192.168.56.x | Varias VMs con acceso a Internet |
| Puente (Bridged) | 1 o varias | Sí | Sí | Sí (misma red local) | De la red local (192.168.1.x) | Servidores y servicios en la red |
| Host-Only | 1 o varias | No (por defecto) | Sí | No | Privada 192.168.56.x | Pruebas y entornos aislados |
| Red interna | Varias | No | No | Sí (entre VMs) | Privada 192.168.100.x | Redes aisladas entre VMs |
enp0s3 recibe por DHCP la IP 10.118.0.99/21.es.archive.ubuntu.com) pasa las pruebas.marcasx), usuario (marcc) y contraseña. Son las credenciales para iniciar sesión y usar sudo.Servicio que actúa como intermediario entre los usuarios y el acceso a Internet. Sirve para gestionar el acceso, controlar a los usuarios conectados, aplicar reglas de seguridad y controlar el tráfico. Hace falta configurarlo cuando el servidor solo puede salir a Internet a través de ese intermediario, como en un centro educativo o una empresa que filtran la navegación.
| Partición | Tamaño | Para qué | Sistema de archivos |
|---|---|---|---|
| sda1 | 1 MB | BIOS GRUB spacer: reservada para el arranque con GRUB | Ninguno |
| sda2 | 1,771 GB | Montada en /boot: archivos necesarios para iniciar Ubuntu | ext4 |
| sda3 | 18,225 GB | Volumen físico (PV) de LVM, forma el grupo de volúmenes ubuntu-vg | LVM |
Dentro de ubuntu-vg se crea el volumen lógico ubuntu-lv de 10 GB, formateado en ext4 y montado en /. Quedan unos 8,2 GB libres en el grupo. GRUB es el gestor de arranque (bootloader) de Ubuntu. El sistema de archivos usado es ext4 tanto en /boot como en /.
lsblk -f lista los discos y particiones con su sistema de archivos, UUID y punto de montaje. En la práctica muestra sda dividido en tres particiones, los dispositivos loop (paquetes Snap, tipo squashfs) y sr1, que es la ISO de instalación.
poweroff). Clic derecho → Clonar (Ctrl+O), se le da un nombre distinto y se elige clonación completa.hostnamectl, la IP o algún ajuste, sin instalar todo desde cero.La práctica pide exportar la máquina en formato OVA para usarla después en Proxmox. El documento deja estas preguntas sin responder; aquí van contestadas.
.ovf (XML con la configuración), los discos virtuales (normalmente .vmdk) y un manifiesto .mf.| Formato de disco | De quién es | Características |
|---|---|---|
| VDI | VirtualBox | Formato nativo de VirtualBox (el usado en la práctica) |
| VMDK | VMware | Muy extendido. Es el que suele ir dentro de un OVA/OVF |
| QCOW2 | QEMU/KVM (Proxmox) | Crece según se usa, admite snapshots |
| RAW | Ninguno, genérico | Imagen en bruto, sin formato. Máxima compatibilidad y rendimiento, pero ocupa todo el tamaño del disco |
Por qué convertir un disco: cada hipervisor trabaja con su formato nativo y no siempre entiende el de otro. Para llevar una VM de VirtualBox (VDI/VMDK) a Proxmox hay que convertir el disco a un formato que soporte, como QCOW2 o RAW.
Bloque 3 · Terminal y administración
echo $SHELL, que devuelve /bin/bash.marcc@marcasx:~$
│ │ │ └─ $ usuario normal (# si eres root)
│ │ └─── ~ directorio actual: tu carpeta personal
│ └──────── nombre del equipo (hostname)
└─────────────── usuario con el que has iniciado sesión
Todo cuelga de la raíz /. Esta tabla junta la chuleta de rutas y lo que se observó en la práctica.
| Ruta | Chuleta | Qué contiene |
|---|---|---|
/bin | Command binaries | Comandos y programas básicos que se ejecutan desde la terminal (por ejemplo nslookup) |
/boot | Boot loader and kernel files | Gestor de arranque y archivos del kernel |
/dev | Device files | Archivos que representan dispositivos: sda, sda1, sda2, sda3 (disco y particiones), tty, null... |
/etc | System config files | Archivos de configuración del sistema y de los programas instalados |
/home | User files | Carpetas personales de los usuarios (/home/marcc) |
/lib | Shared libraries | Librerías compartidas |
/media | Removable media mount point | Punto de montaje de medios extraíbles (USB, DVD) |
/mnt | Temporary mounts | Montajes temporales |
/opt | Optional software | Software opcional |
/proc | System info virtual filesystem | Sistema de archivos virtual con información del sistema (/proc/cpuinfo) |
/root | Root user's home | Carpeta personal del administrador root. Un usuario normal no puede entrar |
/sbin | System maintenance binaries | Comandos para administrar y mantener el sistema (reboot, herramientas de GRUB y LVM). Suelen requerir root |
/srv | Service data | Datos de los servicios |
/sys | Kernel info virtual filesystem | Sistema de archivos virtual con información del kernel |
/tmp | Temp application files | Archivos temporales que programas y sistema necesitan mientras funcionan |
/usr | User programs and data | Programas, librerías y archivos de las aplicaciones instaladas: bin y sbin (comandos), lib (librerías), share (archivos compartidos) |
/var | Variable data | Datos que cambian mientras el sistema funciona: log (registros), cache, backups... |
Para entrar en /root hay que convertirse en root con sudo -i (el prompt pasa a root@marcasx:~#) y se sale con exit.
| Comando | Qué hace |
|---|---|
cd /etc | Entra en el directorio indicado |
pwd | Muestra en qué directorio estás (sirve para comprobar que has entrado bien) |
ls | Muestra el contenido del directorio |
cd .. | Sube al directorio que está un nivel por encima |
cd | Sin argumentos, vuelve a tu carpeta personal (~) |
cd / | Va a la raíz |
/ es el directorio raíz. .. es el directorio que está un nivel por encima del actual./. Ejemplo: cd /home/marcc. Funciona estés donde estés./home, cd marcc.| Comando | Qué hace |
|---|---|
sudo apt update | Actualiza la lista de paquetes disponibles. No instala nada |
sudo apt upgrade | Descarga e instala las actualizaciones de los paquetes que ya están instalados |
apt upgrade: funciona, pero usa la lista guardada del último apt update, así que puede no ver las versiones más nuevas.do-release-upgrade.| Comando | Qué muestra |
|---|---|
uname -a | Información del kernel: versión, fecha de compilación, arquitectura (x86_64, 64 bits) y que el sistema es GNU/Linux |
whoami | El nombre del usuario con el que has iniciado sesión |
hostname | El nombre del equipo (marcasx) |
lsb_release -a | La distribución instalada: distribuidor (Ubuntu), descripción (Ubuntu 22.04.5 LTS), release (22.04) y codename (jammy) |
uptime | Tiempo que lleva encendido el sistema, usuarios conectados y la carga (load average) |
free -h | Uso de la memoria RAM y de la Swap: total, used, free, shared, buff/cache y available |
df -h | Uso del espacio en disco: tamaño, usado, disponible, porcentaje y dónde está montado |
top | Procesos en ejecución y uso de recursos (CPU, RAM, Swap) en tiempo real |
neofetch | Resumen visual del sistema: SO, host (VirtualBox), kernel, uptime, paquetes, shell, CPU, memoria |
cat /proc/cpuinfo | Información detallada de la CPU. cat muestra el contenido de un archivo |
lsblk -f | Discos y particiones con su sistema de archivos y punto de montaje |
La opción -h (human readable) muestra los tamaños en unidades fáciles de leer (M, G) en vez de en bytes. El load average de uptime y top da la carga media del último minuto, de los últimos 5 y de los últimos 15.
systemctl sirve para comprobar y controlar el estado de los servicios del sistema. journalctl sirve para consultar los registros (logs) del sistema y revisar mensajes o errores.
| Comando | Qué hace |
|---|---|
sudo systemctl status ssh | Muestra el estado del servicio. active (running) = funcionando. inactive (dead) = detenido |
sudo systemctl stop ssh | Detiene el servicio |
sudo systemctl start ssh | Inicia el servicio |
sudo systemctl restart ssh | Reinicia el servicio (lo para y lo vuelve a arrancar) |
systemctl is-enabled ssh | Indica si el servicio está enabled o disabled, es decir, si arranca solo al iniciar el sistema |
systemctl list-units --type=service | Lista los servicios del sistema y su estado actual |
sudo journalctl -u ssh | Registros de una unidad concreta, aquí el servicio ssh |
journalctl -b | Registros generados desde el último arranque |
journalctl -p err | Solo los registros clasificados como errores |
Cada acción (start, stop, restart) deja mensajes en el log: «Starting OpenBSD Secure Shell server», «Server listening on 0.0.0.0 port 22», «Stopped...». También se registran los intentos de acceso: «Accepted password», «Failed password», «Invalid user».
| Comando | Para qué sirve | Cuándo se usa |
|---|---|---|
hostnamectl | Muestra y cambia el nombre del host, junto con información del sistema (SO, kernel, arquitectura, virtualización). Para cambiarlo: sudo hostnamectl set-hostname servidor1asix | Para comprobar o cambiar el nombre de un servidor e identificarlo en la red. Muy útil tras clonar una máquina |
unattended-upgrades | Automatiza la instalación de actualizaciones, sobre todo las de seguridad, en segundo plano y sin intervención del usuario | En servidores que deben estar siempre actualizados sin depender de lanzar apt a mano |
do-release-upgrade | Actualiza el sistema operativo a una nueva versión de lanzamiento de Ubuntu | Para pasar a una versión más nueva (por ejemplo de 22.04 LTS a 24.04 LTS). Actualiza muchos componentes a la vez |