Módulo 1 — Operación de Sistemas Operativos GNU/Linux
Al finalizar vas a poder:
/etc/fstab antes de reiniciar./dev: /dev/sda, /dev/sda1.Hoy hacemos el recorrido completo:
disco → partición → sistema de archivos → montaje → fstab
Dónde se guardan los datos.
Un dispositivo de almacenamiento que el sistema ve como una serie de bloques numerados, donde puede leer y escribir en cualquier posición.
| Tipo | Cómo es |
|---|---|
| HDD | Platos que giran y un cabezal. Barato por GB, lento para saltar de un lugar a otro. |
| SSD SATA | Memoria flash, sin partes móviles, por la interfaz SATA. |
| NVMe | SSD conectado directo al bus PCIe. Mucho más rápido. |
| Flash | Pendrives, tarjetas SD y eMMC soldada a la placa. |
Para una VM, el disco es un archivo del anfitrión.
| Formato | De dónde viene |
|---|---|
| VDI | VirtualBox |
| VMDK | VMware (VirtualBox también lo usa) |
| VHD / VHDX | Hyper-V |
| qcow2 | KVM, QEMU, Proxmox |
VBOX HARDDISK.| Disco | Particiones | Qué es |
|---|---|---|
sda, sdb |
sda1, sda2 |
SATA, SAS, USB, discos de VirtualBox |
nvme0n1 |
nvme0n1p1 |
NVMe |
mmcblk0 |
mmcblk0p1 |
Tarjeta SD, eMMC |
vda |
vda1 |
Disco virtio en KVM o Proxmox |
sr0 |
Lectora de CD o DVD |
El orden de las letras puede cambiar entre arranques.
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 967M 0 part /boot/efi
├─sda2 8:2 0 18,1G 0 part /
└─sda3 8:3 0 1005M 0 part [SWAP]
sdb 8:16 0 2G 0 disk
sr0 11:0 1 1024M 1 rom
disk: el disco entero. part: una partición. rom: la lectora.sdb es un disco nuevo: sin particiones y sin montar.Dividir el disco.
Un tramo del disco con un comienzo y un fin, anotados en la tabla de particiones.
/dev/sda (20 GB)
┌───────────┬──────────────────────────┬────────────┐
│ sda1 │ sda2 │ sda3 │
│ ESP 967M │ / 18,1G │ swap 1005M │
└───────────┴──────────────────────────┴────────────┘
Una partición sola no guarda archivos: es lugar reservado. Necesita un sistema de archivos.
Dónde empieza y termina cada partición queda anotado en la tabla de particiones: MBR o GPT, como vimos en la clase 3.
sudo fdisk -l /dev/sda
Tipo de etiqueta de disco: gpt
Disposit. Comienzo Final Sectores Tamaño Tipo
/dev/sda1 2048 1982463 1980416 967M Sistema EFI
/dev/sda2 1982464 39882751 37900288 18,1G Sistema de ficheros de Linux
/dev/sda3 39882752 41940991 2058240 1005M Linux swap
sudo: orden no encontrada.El orden dentro de la partición.
La organización que se arma dentro de la partición para guardar archivos con nombre. Lleva la cuenta de:
Formatear es crear esa estructura vacía.
sudo mkfs.ext4 /dev/sdb1
Creating filesystem with 523776 4k blocks and 131072 inodes
Filesystem UUID: 39d5b8e5-b934-46ef-95d8-e6c778027a96
Creating journal (8192 blocks): done
Hay un mkfs por tipo: mkfs.ext4, mkfs.xfs, mkfs.vfat...
| Sistema | Dónde se usa | Qué lo distingue |
|---|---|---|
| ext4 | Debian, Ubuntu | Conocido y simple. Se achica desmontado. |
| XFS | Rocky, RHEL | Archivos grandes. No se puede achicar. |
| Btrfs | openSUSE, Fedora | Instantáneas, subvolúmenes, compresión. |
| ZFS | TrueNAS, Proxmox | Volúmenes e integridad de datos. Fuera del kernel. |
| tmpfs | /tmp, /run |
En RAM: se pierde al reiniciar. |
| Sistema | Uso típico | Límite |
|---|---|---|
FAT32 (vfat) |
ESP, pendrives viejos | Archivos de hasta 4 GB |
| exFAT | Pendrives y tarjetas grandes | Sin límite de 4 GB |
| NTFS | Discos de Windows | Pensado para Windows |
/.lsblk -f
sudo blkid
mkfs y viaja con el sistema de archivos.sda, sdb pueden cambiar; el UUID no.Por eso /etc/fstab usa UUID.
Herramientas para crear, borrar y cambiar particiones.
Crea la tabla de particiones y crea, borra y redimensiona particiones.
| Orden | Qué hace |
|---|---|
p |
Muestra la tabla |
g / o |
Tabla GPT / MBR nueva |
n / d |
Crea / borra una partición |
t |
Cambia el tipo |
e |
Cambia el tamaño |
w / q |
Escribe y sale / sale sin escribir |
Nada se escribe en el disco hasta w.
parted: lo mismo en una sola línea, útil en scripts. Escribe cada orden en el momento.Descarga: gparted.org/livecd.php
Cada partición, con su sistema de archivos y su punto de montaje.
resize2fs en ext4.ext4 crece montado: se puede ampliar en caliente.
Lo haremos en el Lab.
Colgar el sistema de archivos en el árbol.
Montar es asociar un sistema de archivos a un directorio, el punto de montaje. Lo explicamos en la clase 3.
sudo mkdir -p /srv/datos
sudo mount /dev/sdb1 /srv/datos
findmnt /srv/datos
sudo umount /srv/datos
umount lleva una sola n.ls -ld /srv/datos
lost+found.umount: /srv/datos: el destino está ocupado.
cd y volver a probar.fuser -vm /srv/datos muestra quién lo usa.df -h
du -sh /var/log
sudo du -h --max-depth=1 /var | sort -h
df: ¿se está llenando el disco?du: ¿qué lo está llenando?Montar al arrancar.
Un archivo de texto con la lista de sistemas de archivos que se montan al arrancar. El nombre viene de file systems table.
mount también lo consulta: sudo mount /srv/datos busca el resto de los datos ahí.Si una línea está mal, el sistema puede no arrancar.
cat /etc/fstab
UUID=771f6e7f-... / ext4 errors=remount-ro 0 1
UUID=223E-B092 /boot/efi vfat umask=0077 0 1
UUID=bc71ad71-... none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Cada línea es un montaje.
UUID=39d5...7a96 /srv/datos ext4 defaults,nofail 0 2
| Campo | Qué indica |
|---|---|
UUID=... |
Qué montar |
/srv/datos |
Dónde |
ext4 |
Tipo |
defaults,nofail |
Opciones, con coma y sin espacios |
0 |
Respaldo con dump: siempre 0 |
2 |
Orden de fsck: 1 para /, 2 para el resto |
nofail, un disco de datos que falta frena el arranque./.sudo umount /srv/datos
sudo systemctl daemon-reload
sudo findmnt --verify
sudo mount -a
findmnt /srv/datos
| Comprobación | Detecta |
|---|---|
findmnt --verify |
UUID inexistente, punto de montaje o tipo equivocado |
mount -a |
Además, opciones mal escritas |
nofail, el arranque espera el disco 90 segundos y entra en modo de emergencia.You are in emergency mode. ...
No se puede dar acceso a la consola; la cuenta root está bloqueada.
Varios nombres para un archivo.
El sistema de archivos guarda cada archivo en dos partes:
El inodo guarda el tipo, el dueño, los permisos, el tamaño, las fechas, cuántos nombres tiene y en qué bloques está el contenido.
El nombre no está en el inodo.
En el directorio: una lista de nombres, cada uno con su número de inodo.
directorio /srv/datos inodo 13 bloques
┌───────────────────┐ ┌───────────────────┐ ┌──────┐
│ lost+found → 11 │ │ dueño: cristian │ │ hola │
│ a.txt → 13 │ ───► │ permisos: rw-rw-r │ ─► └──────┘
└───────────────────┘ │ tamaño: 5 bytes │
│ nombres: 1 │
└───────────────────┘
a.txt, el sistema busca el nombre en el directorio, toma el número y va al inodo.ls -i a.txt
stat a.txt
Fichero: a.txt
Tamaño: 5 Bloques: 8 Bloque E/S: 4096 regular file
Device: 8,17 Inode: 13 Links: 1
Acceso: (0664/-rw-rw-r--) Uid: ( 1000/cristian) Gid: ( 1000/cristian)
Modificación: 2026-10-04 19:39:39.737755254 -0300
Inode: 13: el número. ls -i muestra solo eso.Links: 1: cuántos nombres apuntan a este inodo.duro: a.txt ─┐
├─► inodo 13 ─► datos
b.txt ─┘
simbólico: acceso.txt ─► "/srv/datos/a.txt" ─► a.txt ─► inodo 13
ln a.txt b.txt
ls -li a.txt b.txt
13 -rw-rw-r-- 2 cristian cristian 5 oct 4 16:11 a.txt
13 -rw-rw-r-- 2 cristian cristian 5 oct 4 16:11 b.txt
a.txt, b.txt sigue.rm borra un nombre. Los datos se liberan cuando no queda ninguno.$ cd /srv/datos
$ ln a.txt ~/c.txt
ln: fallo al crear el enlace duro '/home/cristian/c.txt' => 'a.txt':
Enlace cruzado entre dispositivos no permitido
$ ln dd dd2
ln: dd: no se permiten enlaces fuertes para directorios
ln -s /srv/datos/a.txt ~/acceso.txt
ls -l ~/acceso.txt
lrwxrwxrwx 1 cristian cristian 16 oct 4 16:11 acceso.txt -> /srv/datos/a.txt
ls -l /
lrwxrwxrwx 1 root root 7 ago 27 12:05 bin -> usr/bin
lrwxrwxrwx 1 root root 7 ago 27 12:05 lib -> usr/lib
lrwxrwxrwx 1 root root 8 ago 27 12:05 sbin -> usr/sbin
Todo está en /usr. /bin y /sbin quedan como enlaces para que /bin/bash siga funcionando.
| Hard | Symbolic | |
|---|---|---|
| Qué es | Otro nombre del mismo inodo | Un archivo con una ruta |
| Entre sistemas de archivos | No | Sí |
| A directorios | No | Sí |
| Si se borra el original | El contenido sigue | Queda roto |
fstab usa UUID y no /dev/sdb1?df puede seguir mostrando el tamaño viejo?/srv/datos a /home?disco → partición → sistema de archivos → montaje → fstab
fstab: UUID y nofail para los discos de datos.findmnt --verify y mount -a.Objetivo: ampliar la partición raíz de la VM y agregarle un disco de datos que se monte al arrancar.
/ y su sistema de archivos en caliente.fstab. Opcional: recuperar un fstab roto desde GRUB.man lsblk, man fdisk, man mkfs.ext4, man resize2fs, man mount, man fstab, man findmnt, man ln.