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 el sistema Linux, en la práctica esto casi nunca se hace. En su lugar, los dispositivos de bloque enteros se dividen en partes más pequeñas y manejables. Estas se conocen como particiones o slices.

La primera partición en el primer disco SCSI es /dev/sda1, la segunda /dev/sda2 y así sucesivamente.

La tercera partición en sistemas Sun está reservada y demarca al "disco completo". Esta partición no debe contener un sistema de ficheros.

Los usuarios acostumbrados al esquema de particionamiento de DOS deben notar que las etiquetas de disco ("disklabels") Sun no tienen particiones "primarias" ni "extendidas". En cambio, por cada disco hay disponibles hasta ocho particiones, estando reservada la tercera.

1.  Diseñar un Esquema de Particionamiento

Esquema de Particionamiento predeterminado

Si no está interesado en diseñar un esquema de particionamiento, la tabla mostrada a continuación sugiere un punto de partida apropiado para la mayoría de los sistemas. Observe que esto es solo un ejemplo, por lo que elija, si así lo desea, un esquema de particionamiento diferente.

Note que en general el uso de una partición /boot separada no se recomienda en SPARC, pues complica la configuración del gestor de arranque.

Partición Sistema de ficheros Tamaño Punto de montaje Descripción
/dev/sda1 ext4 <2 GB / Partición raíz. Para sistemas SPARC64 con versiones 3 o anterioes de OBP, esta partición debe ser menor de 2 GB y además ser la primera partición en el disco. Las versiones más recientes de OBP pueden gestionar particiones raíz mayores y, por tanto, pueden ofrecer soporte para /usr, /var y otras localizaciones en la misma partición.
/dev/sda2 swap 512 MB Ninguno Partición de intercambio. Para el bootstrap y ciertas compilaciones grandes se requiere al menos de 512 MB de memoria RAM (incluyendo la memoria de intercambio ("swap")).
/dev/sda3 Ninguno Todo el disco Ninguno Partición correspondiente al disco completo. Indispensable en sistemas SPARC.
/dev/sda4 ext4 Al menos 2 GB /usr Partición /usr. Aquí se instalan las aplicaciones. Por omisión, esta partición también se usa para datos de Portage (que toman cerca de de 500 MB excluyendo el código fuente).
/dev/sda5 ext4 Al menos 1GB /var Partición /var. Se utiliza para datos generados por los programas. Portage usa de forma predeterminada esta partición para espacio temporal mientras compila. Algunas aplicaciones grandes como Mozilla y LibreOffice.org necesitan más de 1 GB de espacio temporal al compilar.
/dev/sda6 ext4 El resto del espacio en disco /home Partición /home. Utilizada para los directorios personales de los usuarios.

1.  Utilizar fdisk para particionar su disco

Las siguientes instrucciones explican cómo particionar el disco duro según el esquema descrito anteriormente:

Partición Descripción
/dev/sda1 /
/dev/sda2 Partición de intercambio (swap)
/dev/sda3 Partición del disco completo
/dev/sda4 /usr
/dev/sda5 /var
/dev/sda6 /home

Cambie el esquema de particionamiento según su propio criterio. Recuerde mantener la partición raíz totalmente dentro de los primeros 2 GB del disco en sistemas antiguos. También existe un límite de 15 particiones para discos SCSI y SATA.

Iniciar fdisk

Inicie fdisk pasándole su disco como argumento:

Listado de Código 1.1: Iniciar fdisk

# fdisk /dev/sda

Debería ver el intérprete de comandos de fdisk:

Listado de Código 1.1: El intérprete de comandos de fdisk

Command (m for help):

Para ver las particiones disponibles, escriba p:

Listado de Código 1.1: Listar las particiones disponibles

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

Note la aparición de Sun disk label en la salida. Si esto no sale, entonces el disco está usando particionamiento de DOS y no de Sun. En ese caso, teclee s para asegurarse que el disco tiene una tabla de partición Sun:

Listado de Código 1.1: Creación de una etiqueta de disco Sun (Sun Disklabel)

Command (m for help): s
Building a new sun disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Drive type
   ?   auto configure
   0   custom (with hardware detected defaults)
   a   Quantum ProDrive 80S
   b   Quantum ProDrive 105S
   c   CDC Wren IV 94171-344
   d   IBM DPES-31080
   e   IBM DORS-32160
   f   IBM DNES-318350
   g   SEAGATE ST34371
   h   SUN0104
   i   SUN0207
   j   SUN0327
   k   SUN0340
   l   SUN0424
   m   SUN0535
   n   SUN0669
   o   SUN1.0G
   p   SUN1.05
   q   SUN1.3G
   r   SUN2.1G
   s   IOMEGA Jaz
Select type (? for auto, 0 for custom): 0
Heads (1-1024, default 64):
Using default value 64
Sectors/track (1-1024, default 32):
Using default value 32
Cylinders (1-65535, default 8635):
Using default value 8635
Alternate cylinders (0-65535, default 2):
Using default value 2
Physical cylinders (0-65535, default 8637):
Using default value 8637
Rotation speed (rpm) (1-100000, default 5400): 10000
Interleave factor (1-32, default 1):
Using default value 1
Extra sectors per cylinder (0-32, default 0):
Using default value 0

Busque los valores correctos en la documentación de su disco. La opción 'auto configure' normalmente no funciona.

Eliminación de las particiones existentes

Es hora de eliminar las particiones existentes en el disco. Para ello teclee d y presione intro. Se le preguntará por el número de partición que desearía eliminar. Para borrar la partición /dev/sda1 ya existente teclee:

Listado de Código 1.1: Eliminar una partición

Command (m for help): d
Partition number (1-4): 1

No debería eliminar la partición 3 (partición de disco completo). Esta es indispensable. Si esta partición no existe, siga las instrucciones para la "Creación de una etiqueta de disco Sun ("Sun Disklabel")" indicadas más arriba.

Luego de eliminar todas las particiones salvo la de "disco completo", debería tener un esquema de particionamiento similar al siguiente:

Listado de Código 1.1: Ver un esquema de particionamiento vacío

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda3             0      8635   8842240    5  Whole disk

Creación de la partición raíz

Estamos listos para crear la partición raíz. Para hacer esto, teclee n para crear una nueva partición, luego teclee 1 para crear la partición raíz. Cuando se le pregunte por el valor del primer cilindro, presione intro. Asimismo cuando el sistema solicite el valor del último cilindro, teclee +512M para crear una partición de 512 MB de tamaño. Asegúrese que toda la partición raíz está dento de los primeros 2 GB del disco. Puede ver la salida de estos pasos a continuación:

Listado de Código 1.1: Crear la partición raíz

Command (m for help): n
Partition number (1-8): 1
First cylinder (0-8635): (presione Intro)
Last cylinder or +size or +sizeM or +sizeK (0-8635, default 8635): +512M

Ahora, cuando teclee p, debería ver impreso el siguiente esquema de particionamiento:

Listado de Código 1.1: Listado del esquema de particionamiento

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda3             0      8635   8842240    5  Whole disk

Creación de una partición de intercambio ("swap")

A continuación, vamos a crear ahora la partición de intercambio. Para ello, teclee n para crear una nueva partición, y luego 2 para para crear la segunda partición, /dev/sda2 en nuestro caso. Cuando el sistema solicite introducir el valor del primer cilindro, pulse intro y cuando solicite el valor del último, teclee +512M para crear una partición de 512 MB. Cuando lo haya hecho, teclee t para ajustar el tipo de partición y luego teclee 82 para fijar el tipo "Linux Swap". Una vez completados estos pasos, al teclear p visualizará una tabla de particiones que es similar a esta:

Listado de Código 1.1: Listado de las particiones disponibles

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk

Creación de las particiones /usr, /var y /home

Finalmente vamos a crear las particiones /usr, /var y /home. Tal como antes, teclee n para crear una partición nueva, luego teclee 4 para crear la tercera partición, /dev/sda4 en nuestro caso. Cuando al pedir el valor del primer cilindro, pulse intro y al pedir el valor del último, ingrese +2048M para crear una partición de 2 GB de tamaño. Repita este proceso para sda5 y sda6 usando tamaños de acuerdo a su criterio. Al terminar, debería ver algo como:

Listado de Código 1.1: Listado completo de la tabla de particiones

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

Guardar y salir

Para guardar el esquema de particionamiento y salir de fdisk, teclee w:

Listado de Código 1.1: Guardar y salir de fdisk

Command (m for help): w

Ahora que sus particiones están creadas, puede proseguir con la Creación de Sistemas de Ficheros.

1.  Creación de Sistemas de Ficheros

Introducción

Ahora que sus particiones están creadas, es hora de colocarles un sistema de ficheros. Si no le importa el tipo de sistema de ficheros y está conforme con la opción predeterminada del manual, continúe con Creación de un Sistema de Ficheros en una Partición. En caso contrario, siga leyendo para aprender sobre 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.

Creación de Sistema de Ficheros en una Partición

Para crear un sistema de ficheros en una partición o volumen existen herramientas específicas para cada sistema de ficheros:

Sistema de ficheros Orden de creación
ext2 mkfs.ext2
ext3 mkfs.ext3
ext4 mkfs.ext4

Por ejemplo, para crear la partición raíz (/dev/sda1 en nuestro ejemplo), y las particiones /usr, /var y /home (/dev/sda4, 5 y 6 respectivamente en nuestro ejemplo) como ext4, podría utilizar:

Listado de Código 1.1: Crear un sistema de ficheros en una partición

# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda4
# mkfs.ext4 /dev/sda5
# mkfs.ext4 /dev/sda6

Activar la Partición de Intercambio

mkswap es la orden usada para inicializar particiones de intercambio:

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

# mkswap /dev/sda2

Para activar la partición, use swapon:

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

# swapon /dev/sda2

Cree y active la partición de intercambio con las órdenes mencionadas arriba.

1.  Montaje

Ahora que sus particiones están inicializadas y albergan sistemas de ficheros, es hora de montarlas con la orden mount. No olvide crear los directorios de puntos de montaje necesarios para cada partición que creada. Por ejemplo:

Listado de Código 1.1: Montaje de las particiones

# mount /dev/sda1 /mnt/gentoo
# mkdir /mnt/gentoo/usr
# mount /dev/sda4 /mnt/gentoo/usr
# mkdir /mnt/gentoo/var
# mount /dev/sda5 /mnt/gentoo/var
# mkdir /mnt/gentoo/home
# mount /dev/sda6 /mnt/gentoo/home

Nota: Si quiere que su /tmp esté en una partición separada, asegúrese de cambiar los permisos después de montarla: chmod 1777 /mnt/gentoo/tmp. Esto también es válido para /var/tmp.

También necesitamos montar el sistema de ficheros proc (un interfaz virtual al núcleo) en /proc. Pero primero debemos situar nuestros ficheros en las particiones.

Continúe con (Instalación de Ficheros de Instalación de Gentoo).

Página actualizada 17 de diciembre, 2013

Donate to support our development efforts.

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