La utilidad mkfs se usa para crear un sistema de archivos (ext2, ext3, ext4, etc.) en su sistema Linux. Debe especificar el nombre del dispositivo en mkfs en el que se creará el sistema de archivos.
ADVERTENCIA:La ejecución de estos comandos destruirá todos los datos en su sistema de archivos. Por lo tanto, pruebe estos comandos solo en un sistema de prueba en el que no le importe perder sus datos.
1. Ver los comandos disponibles del Creador de sistemas de archivos
Los constructores de sistemas de archivos (comandos mkfs*) generalmente se buscan en directorios como /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs y /etc. Si no lo encuentra, finalmente busca en los directorios encontrados en la variable PATH.
La siguiente lista muestra los comandos mkfs* disponibles en un sistema.
# cd /sbin # ls mkfs* mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat
Si es nuevo en el sistema de archivos, lea sobre Ext2 vs Ext3 vs Ext4.
2. Cree un sistema de archivos en un dispositivo específico
Para construir el sistema de archivos usando el comando mkfs, los argumentos requeridos son device-filename y filesystem-type como se muestra a continuación. El siguiente ejemplo crea un sistema de archivos ext3 en la partición /dev/sda6.
# mkfs -t ext3 /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Tenga en cuenta que el tipo de sistema de archivos predeterminado para el comando mkfs es ext2. Si no especifica la opción "-t", se creará un sistema de archivos ext2.
Además, puede usar el método que discutimos anteriormente para identificar si tiene un sistema de archivos ext2, ext3 o ext4.
3. Cree un sistema de archivos con Journal usando la opción -j
El ejemplo que se proporciona a continuación crea un sistema de archivos con registro en diario.
# mke2fs /dev/sda6 -j mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Cuando no necesite el registro en diario en un sistema de archivos, ejecute el comando mke2fs como se muestra a continuación.
# mke2fs /dev/sda6
4. Buscar bloques defectuosos en un dispositivo
Antes de crear un sistema de archivos, puede verificar que no haya bloques defectuosos en el sistema usando la opción -c como se muestra a continuación. Esto hará una prueba de solo lectura en el sistema de archivos para asegurarse de que no haya bloques defectuosos. También puede realizar una prueba de lectura y escritura para verificar que no haya bloques defectuosos usando la opción "-c -c". Tenga en cuenta que esto será más lento que la opción "-c".
# mke2fs -c /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
5. Forzar la creación de un sistema de archivos en una partición montada
Se recomienda no realizar ninguna operación del sistema de archivos en una partición montada. Pero aún puede obligarlo a crear un sistema de archivos en una partición en uso o una partición montada con la opción -F como se muestra a continuación.
# mke2fs -F /dev/sda6
6. Bytes por grupo de inodos en una partición
Es posible que desee enumerar los inodos usados y disponibles en la partición como se muestra a continuación usando el comando df.
# df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 1120112 11 1120101 1% /mydata
Como se vio arriba, en /dev/sda6, el IUsed es 11 de 1120112. Después de que se crea el nuevo archivo en él, el valor de IUsed cambia en consecuencia, como se muestra a continuación.
# cd /mydata # touch sample.txt # ls sample.txt # df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 1120112 12 1120100 1% /mydata
También puede usar el comando tune2fs para ver los detalles del Inodo:
# tune2fs -l /dev/sda6 | grep Inode Inode count: 1120112 Inodes per group: 8176 Inode blocks per group: 511 Inode size: 256
Para cambiar el inodo por grupo de la partición anterior (es decir, /dev/sda6), use la opción -i de la siguiente manera:
# mke2fs -i 8192 /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2240224 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Como se vio anteriormente, los bytes por inodo cambiaron a 8192 desde el valor predeterminado de 16384. Ahora el límite de inodos de la partición aumentó como se muestra a continuación.
# df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 2240224 11 2240213 1% /mydata # tune2fs -l /dev/sda6 | grep Inode Inode count: 2240224 Inodes per group: 16352 Inode blocks per group: 1022 Inode size: 256
Cambiar el valor de inodes-per-group simplemente afecta la cantidad de archivos que se mantendrán en la partición. Reducir este valor es para aumentar la cantidad de archivos en una partición.
7. Cambiar el tamaño del inodo en una partición
Es posible cambiar el tamaño de un Inodo en una partición usando la opción I e i como se muestra a continuación.
# mke2fs -I 128 -i 8192 /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2240224 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Como se vio anteriormente, el tamaño se cambia de 256 a 128 y conduce a aumentar el recuento total de inodos en una partición:
# tune2fs -l /dev//sda6 | grep Inode Inode count: 2240224 Inodes per group: 16352 Inode blocks per group: 511 Inode size: 128
8. Establecer la etiqueta de volumen para la partición
Puede crear un nombre/etiqueta para una partición usando la opción -L. En el siguiente ejemplo, estamos asignando DATA como etiqueta para la partición /dev/sda6.
# mke2fs -L DATA /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label=DATA OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Puede ver el nombre de la etiqueta de la partición anterior usando el comando e2label como se muestra a continuación:
# e2label /dev/sda6 DATA
Otra forma de ver la etiqueta de una partición es usar el comando blkid como se muestra a continuación:
# blkid /dev/sda6 /dev/sda6: LABEL="DATA" UUID="0de74d35-6050-4838-99b0-46cb1d518da8" TYPE="ext2"
9. Simular la creación de un sistema de archivos
Al ejecutar el comando mkfs, muestra el contenido como lo haría en la salida estándar. Incluso puede mostrar esos mensajes en la salida estándar sin crear un sistema de archivos usando la opción -n como se muestra a continuación:
# mkfs -t ext3 -n /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
10. Cree un sistema de archivos con un número específico de Inodes
mkfs proporciona la posibilidad de crear el sistema de archivos con el número de inodos deseados. Le permite anular la cantidad predeterminada de inodos por sistema de archivos en función de la proporción de bytes por inodo, como se muestra a continuación.
# mkfs -t ext3 -v -N 700000 /dev/sda6 mke2fs 1.42 (29-Nov-2011) fs_types for mke2fs.conf resolution: 'ext3' Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 701440 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 5120 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Lo anterior se puede verificar usando los comandos tune2fs y df como se muestra a continuación.
# tune2fs -l /dev/sda6 | grep -i inode Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file Inode count: 701440 Free inodes: 701429 Inodes per group: 5120 Inode blocks per group: 320 First inode: 11 Inode size: 256 Journal inode: 8 Journal backup: inode blocks # df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 701440 11 701429 1% /mnt