Tipos de instalación
Dependiendo de lo que se vaya a realizar con el sistema operativo, suelen existir diferentes tipos de instalaciones.
| Tipos de instalaciones | |
|---|---|
| Escritorio | Ofimática, navegación por Internet… |
| Workstation | Sistema de alto rendimiento, generalmente orientado a una tarea específica.
|
| Servidores | Ofrecen servicios a otras máquinas.
[FTP]: {< ref “redes/aplicacion/#ftp” >}} [DNS]: {< ref “redes/aplicacion/#dns” >}} [NAT]: {< ref “redes/red/#nat” >}} [DHCP]: {< ref “redes/red/#protocolo-dhcp” >}} [Correo electrónico]: {< ref “redes/aplicacion/#protocolos-de-correo-electrónico” >}} |
Proceso de instalación
- Descargar el archivo
.isode la distribución que se vaya a usar - Flashearlo en un USB para hacerlo booleable
- Arrancar el ordenador desde el USB (se cambia en el menú de la BIOS/UEFI)
- Seguir los pasos del instalador (excepto si usas Arch, en ese caso, te toca seguir la wiki).
Normalmente, en esos pasos hay que configurar:
- Idioma, localización (huso horario y formatos de fechas, moneda, etc) y teclado.
- Configuración de red. Por defecto prueba por [DHCP], sino se puede introducir manualmente la IP, máscara, Gateway y DNS.
- Crear cuentas de usuario y establecer contraseña del superusuario
- Realizar el particionado del disco (ver sección siguiente)
- Seleccionar los mirrors (servidores) desde donde descargar software. Normalmente se escoge el más cercano para reducir latencias.
- Instalar el gestor de arranque o bootloader, normalmente GRUB2.
Particionado del disco
Dependiendo del tipo de sistema que se desee, se pueden utilizar distintos tipos de particionados.
/etc, /usr y /boot. Salvo
esta última, deben estar disponibles en la misma partición que / o incluidas
en initramfs.| Escritorio 3 particiones |
|
| Servidor 6 particiones | Las mismas 3 de antes:
Y también particiones separadas para:
|
Otras particiones importantes son:
/boot: mantiene separados los archivos de arranque del resto. Permite evitar incompatibilidades de BIOS en discos grandes./chroot: aplicaciones enjauladas que requieran aislamiento./var/lib: archivos de bases de datos DNS, Apache, proxies, etc.
Sistemas de archivos
Dentro de las particiones primarias creadas es posible almacenar sistemas de archivos. Estas pueden tener diversos formatos, lo que implica una organización diferente dentro la misma.
Un sistema de archivos es una forma de implementar la abstracción de un archivo. Define cómo se almacenan, se organizan, sus metadatos, etc. Están íntimamente ligados con el propio Sistema Operativo.
Para más información sobre algunas posibles implementaciones, consulta el post de archivos.
Se trata de un sistema de archivos que implementa los conceptos de las transacciones atómicas típicas de un sistema de base de datos. Este concepto también se conoce como Journaling File System.
Las operaciones aplicadas mantienen la consistencia de los datos a través de transacciones: o se realizan todas las operaciones, o no se realiza ninguna (en caso de error).
Para ello, se suelen anotar las operaciones realizadas en un log para poder deshacerlas.
A continuación, se detallan algunas características de los sistemas de archivos más utilizados.
ext4Fourth EXTended file system es el sistema estándar de Linux.
- Es transaccional
- Utiliza inodes para reducir la fragmentación.
- Puede trabajar con discos de gran tamaño: 1 EiB
- Los archivos pueden ser también muy grandes: 16 TiB
- Las opciones pueden configurarse con
tune2fs
Versiones anteriores como ext2 y ext3 todavía se pueden usar.
btrfsEl sistema de archivos B-tree es el posible sucesor de ext4. Presenta
características avanzadas para mejorar el rendimiento, la gestión y seguridad
de los datos.
- Incluye funciones para el controlador de RAID (Redundant Array of Independent Disks) y del gestor de volúmenes LVM. Por tanto, soporta de forma nativa sistemas de ficheros multidispositivo y subvolúmenes.
- Uso de copy-on-write: si varios recursos son iguales, se devuelve un puntero al único recurso. Cuando se modifica uno de ellos, es entonces cuando se crea el nuevo recurso.
- Permite snapshots
- Protege la información mediante checksums
- Soporta compresión y empaquetado eficiente de archivos pequeños
- Implementa optimizaciones para discos SSD
Actualmente son la mejor opción para los servidores.
Otros sistemas transaccionales portados de otros sistemas Unix pueden ser JFS
y XFS (IBM y GSI Iris respectivamente).
Y algunos sistemas de archivos que el sistema operativo Windows utiliza son los siguientes:
NTFS y exFATreFSHerramientas
| Manipulación de particiones | |
|---|---|
fdiskFixed Disk | Permite crear y modificar particiones con unos menús interactivos. Con la opción
-l lista las particiones. |
parted | Programa GNU que también permite crear, destruir, cambiar el tamaño, chequear y copiar particiones. |
| Sistemas de archivos | |
mkfs.tipoMake File System | Crea los sistemas de archivos dentro de un disco lógico. Lo mismo para:
|
mkswapMake Swap | Formatea un disco lógico para crear una zona de intercambio. |
fsck.tipoFile System Check | Chequea y reparar sistemas de archivos ( |
| Otras utilidades | |
duDisk Usage | Muestra el uso de disco de archivos y directorios.
|
dfDisk Free | Muestra el espacio de disco usado y disponible en todos los sistemas de archivos
montados. |
| Comandos relacionados | |
tune2fs | Permite cambiar algunos parámetros de los sistemas de archivos ext. |
dumpe2fs | Muestra información sobre un sistema archivos ext. |
Monturas
Enlaza una dirección (path) con un sistema de archivos.
mount /dev/... ruta # Monta la partición en directorio
mount --mkdir /dev/... ruta # Para crear directorio si no existe
mount -a # Monta los fs especificados en /etc/fstab
mount -o op1,op2... ruta # Permite remontar con otras opciones
umount ruta # Desmonta el fs del directorio
Se definen las monturas a utilizar en el arranque en el archivo /etc/fstab:
# Partition Mount Point Format Options Dump Pass
/dev/sdb2 none swap sw 0 0
/dev/sdb3 / ext4 sw 0 0
Opciones de montado :
ro: solo lecturarw: lectura y escritura
auto: se monta en el arranquenoauto: previene el montado en el arranque. Útil para poder hacermount directoriosin especificar el dispositivo, porque lo lee de/etc/fstab.
user: permite que usuarios no privilegiados lo monten. Solo el usuario que creó la montura la puede borrar.users: igual que el anterior, pero todos lo pueden desmontar.nouser: solo root
defaults usa las opciones por defecto: ro, auto, nouser.
File-systems específicos pueden tener opciones especiales para ellos. En el
archivo /etc/mtab se muestran las particiones de están montadas en el momento
(ver tabla de particiones).
Para activar una zona de intercambio (equivalente a montarla), se usa el comando:
swapon /dev/sda4
swapon -s lista todas las zonas de intercambio.
dump y passdump: lo usa el comandodump(ver copias de seguridad) para determinar qué file-systems debe hacer copia de seguridad (1en caso positivo).pass: lo usa el comandofsckpara determinar el orden en el que se chequean los file-systems al iniciar el sistema. Si es0no se chequea.
UUID
Los dispositivos se pueden identificar por su dispositivo (/dev/sda,
/dev/nvme0n1p6), pero esa nomenclatura depende de cómo estén colocados en el
hardware y pueden cambiar entre reinicios.
La otra forma es usar el Universal Unique Identifier del dispositivo. Se determina a partir de elementos hardware, etiquetas, el sistemas de archivos, etc. Se trata de un número muy grande, por tanto es poco probable que hayan colisiones.
Se puede usar el comando blkid (Block ID) para obtener el UUID de un
dispositivo.
En el archivo /etc/fstab también se pueden utilizar como UUID=XXXX en lugar
de /dev/...; pero muchos otros comandos también hacen uso de UUIDs.
GRUB
Hay que instalar al menos un gestor de arranque, de lo contrario no se podrá iniciar el sistema. Si tenemos varios SO, basta con instalar un único gestor de arranque. Mostrará un menú con todos los SO disponibles y carga el kernel elegido por el usuario.
GRUB (Grand Unified Booloader) es el programa más utilizado.
Información sobre el hardware
- Las últimas distribuciones de Linux soportan la mayoría del hardware actual.
- Hay soporte Linux para múltiples arquitecturas:
i386,amd64,ARM,… - En el proceso de instalación se configura automáticamente casi todo el hardware
Disponemos de los siguientes comandos y archivos para obtener la información sobre el hardware:
| Información leída del Hardware | |
|---|---|
dmidecodeDMI Decode | Vuelca la información DMI (Desktop Management Interface) de la BIOS. Esta es una tabla que contiene una descripción de los componentes hardware en un formato legible por humanos. Incluye:
|
| Información obtenida por el Sistema Operativo | |
lshw(List Hardware) | Muestra toda la información obtenida por el Sistema Operativo. Utiliza los
archivos especiales de /proc y /sys. |
lscpu(List CPU) | Muestra información sobre la CPU: núcleos, memoria caché, arquitectura… |
nproc(Number of Processors) | Muestra el número de núcleos disponibles. |
lspci(List PCI) | Lista tarjetas pinchadas en la placa. |
lsusb(List USB) | Lista dispositivos conectados por USB. Incluye coordenadas del bus e ID del dispositivo. |
| Información sobre los discos | |
fdisk -l | Lista todas las particiones. Al especificar -l lista todos los discos. |
df -h | Lista todas particiones montadas. |
| Información sobre la memoria | |
free -h | Muestra la memoria principal total, disponible y libre, tanto RAM como swap. |
| Versión de Linux | |
uname -a | Muestra la versión del kernel de Linux (-a es de all). |
lsb_release -a | Muestra información sobre la distribución y su versión. |
| Módulos del kernel | |
lsmod | Muestra los módulos cargados. |
modprobe | Instala un módulo nuevo en el kernel (iniciarlo). |
rmmod | Elimina un módulo del kernel (pararlo). |
Otras formas de obtener información sobre el hardware son consultar los
directorios [/proc] y [/sys]. De hecho, la mayoría de los comandos
anteriores, simplemente consultan estos archivos.
[DHCP]: {< ref “redes/red/#protocolo-dhcp” >}}
[/proc]: https://magnoblog.netlify.app/linux/estructura-directorios/#proc
[/sys]: https://magnoblog.netlify.app/linux/estructura-directorios/#sys