Para crear un sistema de ficheros lo primero que tenemos que hacer es crear una partición. Para ello podemos utilizar el comando fdisk o parted.
Este comando es utilizado para crear los sistemas de ficheros ext2 y ext3, entre otros. Para más información mirar la página del manual.
Su sintaxis es muy sencilla:
[root@sal]#
mkfs -t ext2 /dev/fd0
mke2fs 1.23, 15-Aug-2001 for EXT2 FS 0.5b, 95/08/09 Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 184 ubidesm 1440 blocks 72 blocks (5.00\%) reserved for the super user First data block=1 1 block group 8192 blocks per group, 8192 fragments per group 184 inodes per group Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 20 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@sal]#
La opción más interesante es -c para que busque bloques en mal estado durante el formateo.
Para los tipos de sistemas de ficheros manejados por mkfs existe el comando mkfs.tipo donde tipo es ext2, ... y su uso es igual al de mkfs sólo que no es necesario especificar el tipo de sistema de ficheros a crear.
En GNU/Linux los sistemas de ficheros más extendidos son ext2 y ext3.
En realidad ext3 se puede considerar como ext2 con algunas mejoras. La más significativa de ellas es el journaling.
Para convertir un sistema de ficheros ext2 a ext3:
[root@sal]#
tune2fs -j /dev/sda1
El superbloque es bloque especial que contiene información sobre el sistema de ficheros. Para los sistemas de ficheros ext2/ext3 se puede ver o modificar con tune2fs:
[root@sal]#
tune2fs -l /dev/hda2
tune2fs 1.40-WIP (02-Oct-2006) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 85314ef9-3429-42d2-b8bc-41b51b328ffa Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 24068096 Block count: 48104626 Reserved block count: 2405231 Free blocks: 43311411 Free inodes: 23958460 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1012 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 16384 Inode blocks per group: 512 Filesystem created: Sun Mar 25 06:10:23 2007 Last mount time: Thu Apr 5 04:55:15 2007 Last write time: Thu Apr 5 04:55:15 2007 Mount count: 9 Maximum mount count: 26 Last checked: Sun Mar 25 06:10:23 2007 Check interval: 15552000 (6 months) Next check after: Fri Sep 21 06:10:23 2007 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: tea Directory Hash Seed: 1ff4a0e4-fceb-45c1-93f8-5e9799e39496 Journal backup: inode blocks
[root@sal]#
Las opciones más interesantes que podemos realizar:
-c n indicar después de cuantas operaciones de montaje se ha de realiza el chequeo del sistema de ficheros.
-j añadir la zona de journaling a un sistema de ficheros ext2 para convertirlo en ext3.
-C n cambiar el número de veces que el sistema ha sido montado. Si se estable a un valor mayor del indicado por -c n en el siguiente montaje se chequeará de forma automática.
-g gid indicar el GID del grupo para el que se reservará espacio en el sistema de ficheros.
-i n [d|w|m] establece el periodo máximo de tiempo tras el cual se chequeará el sistema de ficheros. Independientemente de si se ha llegado al número máximo de operaciones de montaje.
-L label establece la etiqueta del sistema de ficheros.
-m n establece el tanto por ciento de bloques que se reservan.
-r n establece el número de bloques que se reservan.
-u uid establece el usuario para el que se reservará espacio.
La función de este comando es la de crear sistemas de ficheros ext2/ext3 y su uso es preferible al de mkfs.
Se utiliza el fichero /etc/mke2fs.conf
para determinar los valores por defecto cuando se crea un sistema de ficheros.
No modificar /etc/mke2fs.conf
a menos que se sepa lo que se está haciendo.
Cuando nos encontremos errores en los sistemas de ficheros tendremos que chequearlos y para ello tendrán que estar desmontados.
El comando utilizado para chequear estos sistemas de ficheros es e2fsck.
Algunas opciones interesantes:
-b n donde n indica una copia del superbloque.
En los sistemas de ficheros ext2/ext3 se hacen copias de seguridad del superbloque repartidas por todo el sistema de ficheros (ver página del manual).
-c se utiliza el comando badblocks para localizar bloques defectuosos y marcarlos como tales.
-f forzar el chequeo aunque el sistema de ficheros parezca limpio.
-p reparará de forma automática el sistema de ficheros si se puede hacer de forma segura.
Al igual que en el caso de mke2fs existía mkfs para chequear sistemas de ficheros también se puede utilizar el comando fsck.
ReiserFS es otro sistema de ficheros transaccional.
Será necesario instalar las utilidades de administración de dicho sistema de ficheros ya que no se suelen instalar por defecto.
Las principales utilidades de administración son:
mkreiserfs para crear sistemas de ficheros.
reiserfsck para chequear sistemas de ficheros.
reiserfstune para ajustar los parámetros del sistema de ficheros.
resize_reiserfs para redimensionar sistemas de ficheros.
Este sistema de ficheros lo desarrolló IBM y al igual que ext3 y ReiserFS es un sistema de ficheros transaccional.
Será necesario instalar las utilidades de administración de dicho sistema de ficheros ya que no se suelen instalar por defecto.
Las principales utilidades de administración son:
jfs_mkfs para crear sistemas de ficheros.
jfs_fsck para chequear sistemas de ficheros.
jfs_tune para ajustar los parámetros del sistema de ficheros.
Este sistema de ficheros lo desarrolló SGI y al igual que ext3 y ReiserFS es un sistema de ficheros transaccional.
Será necesario instalar las utilidades de administración de dicho sistema de ficheros ya que no se suelen instalar por defecto.
Las principales utilidades de administración son:
mkfs.xfs para crear sistemas de ficheros.
xfs_check para chequear sistemas de ficheros.
xfs_repair para reparar sistemas de ficheros.
xfs_admin para ajustar los parámetros del sistema de ficheros.
xfs_freeze congela el acceso al sistema de ficheros. Util para la creación de snapshots.
xfs_growfs redimensionar el sistema de ficheros.
xfs_quota manejo de cuotas.