Gentoo Logo

1.  Introducción a los dispositivos de bloque

Dispositivos de Bloque

Examinaremos de forma detallada los aspectos de Gentoo Linux así como Linux en general que tengan que ver con discos, sistemas de ficheros de Linux, particiones y dispositivos de bloque. Una vez esté familiarizado con las entrañas de los discos y sistemas de ficheros, le guiaremos a través del proceso de creación de particiones y sistemas de ficheros de tu instalación Gentoo Linux.

Para empezar, explicaremos el término dispositivos de bloque. Quizás el dispositivo de bloque más conocido es el que representa la primera unidad de disco llamada /dev/sda. Las unidades SCSI y Serial ATA son etiquetadas mediante /dev/sd*; incluso las unidades IDE son conocidas como /dev/sd* con el nuevo framework libata del kernel. Si está utilizando el antigo framework de unidades, entonces la primera unidad IDE será /dev/hda.

Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta de disco. Las aplicaciones pueden hacer uso de estas interfaces para interactuar con el disco duro de la máquina sin importar el tipo de unidad que tienes: IDE, SCSI, o cualquier otra. La aplicación puede simplemente dirigirse al almacenamiento en el disco como a una serie de bloques de acceso aleatorio de 512-bytes situados de forma contigua.

Particiones

Aunque teóricamente es posible utilizar el disco duro completo para albergar la instalación Linux, esto casi nunca se hace. En su lugar, los discos se dividen en dispositivos de bloque más pequeños y manejables. En muchos sistemas se llaman particiones.

1.  Diseño de un esquema de particionamiento

Esquema de particionamiento por defecto

Si no queremos diseñar un esquema de particionamiento específico para el sistema, podemos hacer uso del esquema utilizado en este manual. Elegiremos el esquema de sistema de ficheros que mejor se adapte al tipo de PowerPC donde estamos instalando.

Apple New World

Las máquinas Apple New World son bastante sencillas de configurar. La primera partición siempre es un Apple Partition Map. Esta partición registra la disposición del disco. Esta partición no se puede eliminar. La siguiente partición debe ser siempre la partición de bootstrap. Esta partición contiene un pequeño sistema de ficheros HFS (800k) que mantiene una copia del gestor de arranque Yaboot y su fichero de configuración. Esta partición no es la misma que la partición /boot encontrada en otras arquitecturas. Después de la partición de arranque, se ubican los habituales sistemas de ficheros Linux, de acuerdo con la disposición siguiente. La partición de intercambio es un lugar de almacenamiento temporal usado cuando el sistema se queda sin memoria física. La partición raíz contendrá los sistemas de ficheros donde se instalará Gentoo. Si queremos un arranque dual, la partición OSX puede ir en cualquier lugar después de la partición de bootstrap para asegurar que yaboot inicie primero.

Nota: Podría haber particiones "Disk Driver" en el disco duro como Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit y Apple_Patches, usados para arrancar MacOS, por tanto, si no las necesita, puede borrarlas inicializando el disco con la opción i de mac-fdisk. ¡Esto borra completamente el disco! Si tiene dudas, simplemente déjelas.

Nota: Si particionó el disco con la Utilidad de Disco de Apple, podría haber espacios de 128Mb entre particiones que Apple reserva para "uso futuro". Éstas se pueden borrar sin peligro.

Partición Tamaño Sistema de Ficheros Descripción
/dev/sda1 32k Ninguno Apple Partition Map
/dev/sda2 800k HFS Apple Bootstrap
/dev/sda3 512Mb Swap Linux Swap
/dev/sda4 Resto del Disco ext3, ext4, reiserfs, xfs Linux Root

Apple Old World

Las máquinas Apple Old World son un poco más complicadas de configurar. La primera partición es siempre una Apple Partition Map. Esta partición guarda registro de la disposición del disco. Esta partición no se puede eliminar. Si está usando BootX, la configuración siguiente supone que MacOS está instalado en un disco a parte. Si este no es el caso, habrá particiones adicionales para los "Apple Disk Drivers" como Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, Apple_Patches y la instalación de MacOS. Si está usando Quik, necesitará crear una partición de arranque para contener el núcleo, a diferencia de otros métodos de arranque de Apple. Después de la partición de arranque se encuentran los sistemas de ficheros habituales de Linux de acuerdo al esquema siguiente. La partición de intercambio es un lugar de almacenamiento temporal usado cuando el sistema se queda sin memoria física. La partición root contiene los sistemas de ficheros donde Gentoo se instala.

Nota: Si está utilizando una máquina Apple Old World, necesitará mantener MacOS disponible. Esta disposición asume que MacOS está instalado en otro disco.

Partición Tamaño Sistema de Ficheros Descripción
/dev/sda1 32k Ninguno Apple Partition Map
/dev/sda2 32Mb ext2 Quik Boot Partition (quik only)
/dev/sda3 512Mb Intercambio (swap) Linux Swap
/dev/sda4 Resto del Disco ext3, ext4, reiserfs, xfs Linux Root

Pegasos

La distribución de particiones en el Pegasos es bastante simple comparada con la de los Apple. La primera partición es la de arranque, que contiene los núcleos a arrancar junto con un guión de Open Firmware que presenta un menú al arrancar. Después de la partición de arranque, se sitúan los sistemas de ficheros habituales de Linux, según el siguiente esquema. La partición de intercambio es un lugar de almacenamiento temporal usado cuando el sistema se queda sin memoria física. La partición root contiene los sistemas de ficheros donde Gentoo se instala.

Partición Tamaño Sistema de Ficheros Descripción
/dev/sda1 32Mb affs1 or ext2 Partición de Arranque
/dev/sda2 512Mb Swap Linux Swap
/dev/sda3 Resto del Disco ext3, ext4, reiserfs, xfs Linux Root

IBM PReP (RS/6000)

La IBM PowerPC Reference Platform (PReP) requiere una pequeña partición PReP de arranque en la primera partición del disco, seguida de las particiones de intercambio y raíz.

Partición Tamaño Sistema de Ficheros Descripción
/dev/sda1 800k None Partición de arranque PReP (Tipo 0x41)
/dev/sda2 512Mb Swap Linux Swap (Type 0x82)
/dev/sda3 Resto del Disco ext3, ext4, reiserfs, xfs Linux Root (Type 0x83)

Aviso: parted es capaz de redimensionar particiones incluyendo HFS+. Desafortunadamente pueden haber problemas redimensionando sistemas de ficheros HFS+ con transacciones (journaling), por tanto, para mejores resultados, podemos desactivar la transaccionalidad en Mac OS X antes de redimensionar. Recuerde que cualquier operación de redimensionamiento es peligrosa, ¡hágalo bajo su propia responsabilidad! ¡Hay que asegurarse siempre de tener una copia de seguridad de los datos antes de redimensionar!

Si queremos conocer el tamaño que debería tener una partición, o incluso cuantas particiones necesitamos, hay que continuar con la siguiente sección. En caso contrario, seguiremos con Por defecto: Uso de mac-fdisk (Apple) para particionar el disco o Alternativa: Uso de parted (IBM/Pegasos) para particionar el disco.

¿Cuántas y de qué tamaño?

El número de particiones que se necesitan depende mucho del entorno particular. Por ejemplo, si la máquina tiene muchos usuarios, lo más probable es que se quiera tener /home en una partición separada para facilitar las tareas de copia de respaldo y aumentar la seguridad. Si se está instalando Gentoo para un servidor de correo, deberemos tener /var en una partición separada ya que allí se almacena todo el correo recibido. Una buena elección del sistema de ficheros optimizará el rendimiento del equipo. Los servidores de juegos deben disponer de una partición /opt ya que la mayoría de juegos se instalan en ese directorio. La razón es similar a la mencionada para /home: seguridad y salvaguarda de datos. Independientemente de la disposición que elijamos, querremos definitivamente tener un gran /usr: no solo contendrá la mayor parte de aplicaciones, también el árbol de Portage que por sí mismo ocupa alrededor de 500MB, sin incluir las fuentes que allí se almacenan.

Como se puede ver, todo dependerá de lo que queramos conseguir. Tener particiones o volúmenes separados tiene las siguientes ventajas:

  • Elegimos el mejor sistema de ficheros para cada partición o volumen
  • El sistema en su totalidad no se quedará sin espacio si una herramienta o aplicación está escribiendo datos de forma continua en el volumen o partición
  • Si es el caso, el tiempo dedicado a las comprobaciones de integridad de sistemas de ficheros se reduce, ya que las comprobaciones pueden ser llevadas acabo en paralelo (sin embargo esta ventaja es mayor con múltiples discos que con múltiples particiones)
  • La seguridad puede ser mejorada montando algunas de las particiones en modo solo lectura, nosuid (los bits setuid se ignoran), noexec (los bits de ejecución se ignoran), etc.

Sin embargo, tener múltiples particiones tiene también desventajas. Si no se configuran adecuadamente, obtendrá un sistema con mucho espacio vacío en una partición y ninguno en otra. Otra contrariedad es que las particiones separadas - especialmente las que se utilizan para puntos de montaje importantes como /usr o /var - a menudo requieren que sea el administrador el que arranque el sistema con un sistema de ficheros de inicio en RAM (initramfs) para montar la partición antes de que otros guiones de inicio se ejecuten. Este no es siempre el caso, por lo que sus resultados pueden ser diferentes.

También, existe un límite de 15 particiones para SCSI y SATA.

1.  Por defecto: Uso de mac-fdisk (Apple/IBM) para particionar el disco

Ahora es el momento de crear las particiones con mac-fdisk:

Listado de Código 1.1: Inicio de mac-fdisk

# mac-fdisk /dev/sda

Si usamos la herramienta de disco de Apple para hacerle espacio a Linux, primero borraremos las particiones creadas previamente para darle lugar a la nueva instalación. Usamos d en mac-fdisk para borrarla(s). Se nos pedirá el número de la partición a borrar. Normalmente la primera partición en las máquinas NewWorld (Apple_partition_map) no puede ser borrada. Si queremos empezar con un disco limpio, basta inicializarlo pulsando i, que borrará completamente el disco, así que debe usarse con precaución.

En segundo lugar, crearemos una partición Apple_Bootstrap usando b. Nos preguntará cuál es el bloque inicial. Introduciremos el número de la primera partición libre seguido de una p. Por ejemplo sería 2p.

Nota: Esta partición no es una partición /boot. Linux no la utilizará para nada; no deberemos crear ningún sistema de ficheros en ella y no deberemos montarla nunca. Los usuarios de Apple no necesitan una partición extra para /boot.

Ahora crearemos una partición de intercambio presionando c. De nuevo, mac-fdisk preguntará cuál es el bloque en el que queremos que esta partición comience. Como anteriormente hemos usado 2 para crear la partición Apple_Bootstrap, ahora tendríamos que teclear 3p. Cuando nos pregunte por el tamaño, indicaremos 512M (o el tamaño que queramos, se recomienda un mínimo de 512MB, pero el tamaño generalmente recomendado es 2 veces la memoria física). Cuando nos pida el nombre, introduciremos swap.

Para crear la partición raíz, teclearemos c, seguido de 4p para indicar el bloque en el que la partición debe comenzar. Cuando nos pregunte el tamaño volveremos a poner 4p. mac-fdisk interpretará esto como "usa todo el espacio disponible". Y cuando nos pregunte el nombre, indicaremos root

Para finalizar, escribiremos la estructura de particiones en el disco tecleando w y saldremos de mac-fdisk con q.

Nota: Para asegurarnos de que todo está bien, deberíamos ejecutar mac-fdisk -l y comprobar que se muestran todas las particiones. Si no aparecen las particiones creadas o los cambios realizados, tendríamos que reinicializarlas pulsando "i" en mac-fdisk. Esto recreará el mapa de particiones borrándolas todas.

Ahora que las particiones están creadas continuaremos con Creación de los sistemas de ficheros.

1.  Uso de parted para particionar el disco (Pegasos y RS/6000)

El editor de particiones parted puede manejar particiones HFS+ empleadas por MacOS y MacOS X en la actualidad. Con esta herramienta se pueden redimensionar las particiones Mac y hacer espacio para las particiones Linux. Sin embargo, el ejemplo siguiente solo describe el particionamiento para sistemas Pegasos.

Empecemos iniciando parted:

Listado de Código 1.1: Iniciar parted

# parted /dev/sda

Si el disco está sin particionar, ejecutaremos mklabel amiga para crear una nueva etiqueta para el disco.

Podemos escribir print en cualquier momento para ver la tabla de particiones actual. Si por cualquier razón cambiamos de idea o cometemos un error, podemos pulsar Ctrl-c para salir sin guardar los cambios.

Si en el Pegasos también queremos instalar MorphOS deberemos crear un sistema de ficheros affs1 al comienzo del disco. 32MB serán más que suficientes para almacenar el núcleo de MorphOS. Si disponemos de un Pegasos I o pretendemos usar cualquier sistema de ficheros junto a ext2 o ext3, también tendremos que almacenar el núcleo de Linux en dicha partición (Pegasos II solo puede arrancar de una partición ext2/ext3 o affs1). Para crear la partición ejecutaremos mkpart primary affs1 START END donde START y END deben reemplazarse por un rango en megabytes (por ejemplo, 0 32) que crea una partición de 32MB empezando en 0MB y acabando en 32MB. Si en su lugar escogemos crear una partición ext2 o ext3, sustituiremos affs1 por ext2 o ext3 en la orden mkpart.

Necesitamos crear dos particiones para Linux, una como sistema de ficheros raíz, y otra como partición de intercambio. Ejecutaremos mkpart primary START END para crear cada partición, reemplazando START y END con las límites deseados en megabytes.

Generalmente se recomienda crear una partición de intercambio con el doble de la RAM instalada en el ordenador. pero al menos de 512Mb. Para crear la partición de intercambio ejecutaremos mkpart primary linux-swap START END con START y END denotando nuevamente los límites de la partición.

Cuando hemos terminado en parted, simplemente escriba quit.

1.  Creación de sistemas de ficheros

Introducción

Ahora que las particiones están creadas, es el momento de colocarles un sistema de ficheros. Si no estamos seguros del tipo de sistema de ficheros a utilizar y estamos contentos con la configuración por defecto, continuaremos con Creación de un sistema de ficheros en una partición. En caso contrario, lea para aprender a cerca de los sistemas de ficheros disponibles.

Sistemas de ficheros

El núcleo Linux soporta varios sistemas de ficheros. Explicaremos ext2, ext3, ext4, ReiserFS, XFS y JFS por ser los más utilizados en sistemas Linux.

ext2 es un sistema de ficheros Linux probado, pero no dispone de soporte para transacciones, lo que significa que las comprobaciones rutinarias al arrancar pueden tardar bastante tiempo. Ahora, hay muchas opciones alternativas, sistemas de ficheros de nueva generación con soporte para transacciones cuya integridad puede ser verificada con mayor rapidez, por lo que gozan de mayor popularidad. Los sistemas de ficheros transaccionales previenen retrasos durante el reinicio del equipo, incluso cuando el sistema de ficheros está en un estado inconsistente.

ext3 es la versión transaccional de ext2, que proporciona soporte para una rápida recuperación además de otros modos mejorados de funcionamiento como registro completo y ordenado de datos. Utiliza un árbol HTree como índice que permite un alto rendimiento en casi todas las situaciones. En resumen ext3 es un sistema de ficheros muy bueno y fiable.

El sistema de ficheros ext4 se creó como una bifurcación en el código (fork) del sistema de ficheros ext3, incorporando nuevas características, mejoras de rendimiento y eliminación de los limites de tamaño realizando cambios moderados en el formato del disco. Puede trabajar con volúmenes de hasta 1 EB y con un tamaño máximo de fichero de 16 TB. En lugar de la asignación de bloques usando mapas de bits que emplean los sistemas de ficheros clásicos ext2/3, ext4 utiliza extents (en inglés), lo cual mejora el rendimiento con los ficheros grandes y reduce la fragmentación. Ext4 también ofrece un algoritmo más sofisticado de asignación de bloques (asignación demorada y asignación múltiple de bloques) ofreciendo al controlador del sistema de ficheros más formas de optimizar la disposición de los datos en el disco. El sistema de ficheros ext4 es un compromiso entre la estabilidad del código para producción y el deseo de introducir extensiones a un sistema de ficheros que ya casi tiene una década. Ext4 es el sistema de ficheros recomendado para las plataformas de propósito general.

Si va a instalar Gentoo en un sistema con poco espacio de disco (menos de 8GB), entonces necesitará indicar a ext2, ext3 o ext4 (si está disponible) que reserve suficientes nodos-i cuando cree el sistema de ficheros. La orden mke2fs utiliza el ajuste "bytes por nodo-i" (bytes-per-inode) para calcular cuántos nodos-i debe tener el sistema de ficheros. Al lanzar mke2fs -T small /dev/<device> (ext2) o mke2fs -j -T small /dev/<device> (ext3/ext4) el número de nodos-i normalmente será el cuádruple respecto al sistema de ficheros ya que su "bytes-per-inode" se reduce de uno cada 16KB a uno cada 4KB. Puede ajustar esto aún más lanzando mke2fs -i <ratio> /dev/<dispositivo> (ext2) o mke2fs -j -i <ratio> /dev/<dispositivo> (ext3/ext4).

JFS de IBM es un sistema de ficheros de alto rendimiento con soporte transaccional. JFS es un sistema de ficheros ligero, rápido y fiable, basado en un árbol B+ con un buen rendimiento bajo varias condiciones.

ReiserFS es un sistema de ficheros B+ (basado en árboles balanceados) que tiene un gran rendimiento, especialmente cuando trata con muchos ficheros pequeños a costa de emplear más ciclos de CPU. ReiserFS parece tener menos mantenimiento que otros sistemas de ficheros.

XFS es un sistema de ficheros transaccional el cual viene con un juego de características robustas y está optimizado para ser escalable. XFS parece ser menos robusto ante fallos hardware.

Crear la partición de intercambio

mkswap es la orden utilizada para inicializar las particiones de intercambio:

Listado de Código 1.1: Creación de una partición de intercambio

# mkswap /dev/sda3

Para activar la partición de intercambio use swapon:

Listado de Código 1.1: Activación de la partición de intercambio

# swapon /dev/sda3

Crearemos y activaremos la partición de intercambio antes de crear otros sistemas de ficheros.

Aplicar el sistema de ficheros a una partición

Existen herramientas específicas para aplicar cada sistema de ficheros posible a una partición:

Sistema de archivos Orden para su creación
ext2 mke2fs
ext3 mke2fs -j
ext4 mkfs.ext4
reiserfs mkreiserfs
xfs mkfs.xfs

Por ejemplo, para crear un sistema de ficheros ext4 en la partición raíz (/dev/sda4 según el ejemplo) utilizaríamos:

Listado de Código 1.1: Aplicar un sistema de ficheros a una partición

# mkfs.ext4 /dev/sda4

Ahora podríamos crear todos los sistemas de ficheros en las particiones o volúmenes lógicos recién creados.

Importante: Si elije usar ReiserFS para /, no cambie su tamaño de bloque por defecto si también va a utilizar yaboot como gestor de arranque, tal como se explica en (Configurar el gestor de arranque).

Nota: En máquinas PegasosII la partición que contiene el núcleo debe ser ext2, ext3 o affs1. Las máquinas NewWorld pueden arrancar desde sistemas de ficheros ext2, ext3, XFS, ReiserFS e incluso HFS/HFS+. En las máquinas OldWorld que arranquen mediante BootX, el núcleo debe ser ubicado en una partición HFS, pero esto se completará al configurar el gestor de arranque.

1.  Montaje

Ahora que las particiones están inicializadas y albergan sistemas de ficheros, es hora de montarlas. Utilizaremos la orden mount. Como ejemplo montaremos la partición para root:

Listado de Código 1.1: Montaje de particiones

# mount /dev/sda4 /mnt/gentoo

Nota: Si queremos que /tmp resida en una partición diferente, hay que asegurarse de cambiar sus permisos después de haberla montado y desempaquetado con chmod 1777 /mnt/gentoo/tmp. Lo mismo se aplicaría a /var/tmp.

Ahora continuaremos con (Instalación de los ficheros de instalación de Gentoo).

Página actualizada 23 de febrero, 2013

Sumario: Para poder instalar Gentoo, debe crear las particiones necesarias. Este capítulo describe cómo particionar el disco para su uso futuro.

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.