Cómo utilizar el comando mkfs en Linux

Debe crear un sistema de archivos antes de poder utilizar cualquier dispositivo de almacenamiento de datos conectado a una computadora Linux. Descubra cómo utilizar mkfs y otras utilidades para hacer precisamente eso para todo tipo de sistemas de archivos. Te mostramos cómo.

→ Índice de contenidos

mkfs crea sistemas de archivos

EL mkfs el comando crea un sistema de archivos. En otros sistemas operativos, la creación de un sistema de archivos se denomina formateo. Independientemente del nombre, es el proceso de preparar una partición para que pueda almacenar datos. ¿La partición necesita una forma de almacenar archivos? Sí. Pero también necesita un mecanismo para almacenar los nombres y ubicaciones de esos archivos, junto con sus metadatos, como la marca de tiempo de creación del archivo, la marca de tiempo de modificación del archivo, el tamaño del archivo, etc. Una vez mkfs ha creado la estructura necesaria para administrar y almacenar metadatos de archivos, puede comenzar a agregar archivos a la partición.

La sintaxis es muy simple. Sólo dilo mkfs la partición del dispositivo en la que desea crear el sistema de archivos y el tipo de sistema de archivos que desea. Esto es evidente. Detrás de escena es un poco diferente. Desde hace algún tiempo en la mayoría de las distribuciones de Linux. mkfs era un caparazón para mke2fs. EL mkfs el comando llama al archivo mke2fs comando y le pasa las opciones que especificó. pobre viejo mke2fs él hace todo el trabajo pero no obtiene nada de la gloria.

La sintaxis de mkfs se ha actualizado y el formato antiguo ha quedado obsoleto. Cualquiera de las dos formas funcionará, pero en este artículo usaremos el estilo moderno.

La elección de los sistemas de archivos.

La forma moderna de utilizar mkfs es escribir "mkfs". y luego el nombre del sistema de archivos que desea crear.

Para ver los sistemas de archivos que mkfs Puede crear, escriba "mkfs" y luego presione la tecla Tab dos veces. No hay espacio después de "mkfs", solo presione Tab dos veces.

La lista de sistemas de archivos disponibles aparece en la ventana del terminal. La captura de pantalla es de Ubuntu 18.04 LTS. Otras distribuciones pueden ofrecer más o menos opciones. Revisaremos y describiremos brevemente cada uno. Después de unas breves palabras sobre llevar un diario.

El diario es un concepto importante en los sistemas de archivos. El sistema de archivos registra las escrituras de archivos pendientes en un diario. A medida que se escribe cada archivo, se actualiza el diario y se actualizan los registros de escritura pendientes. Esto permite que el sistema de archivos repare archivos dañados y parcialmente escritos que ocurrieron debido a un evento catastrófico como un corte de energía. Algunos de los sistemas de archivos más antiguos no admiten el registro en diario. Aquellos que no escriben en el disco con menos frecuencia porque no necesitan actualizar el diario. Es posible que se ejecuten más rápido, pero son más susceptibles a sufrir daños al interrumpir la escritura de archivos.

  • ext2: El primer sistema de archivos para Linux fue el sistema de archivos MINIX. Más tarde fue reemplazado por el primer sistema de archivos escrito específicamente para Linux, que fue Ext. Ext2 fue el sucesor de Ext. Ext2 no es un sistema de archivos de diario.
  • ext3: Este fue el sucesor de Ext2 y puede considerarse como Ext2 con registro en diario, que protege el sistema de archivos de la corrupción de datos causada por fallas y cortes de energía repentinos.
  • ext4: Ext4 es el sistema de archivos estándar para muchas distribuciones de Linux. Es un sistema de archivos sólido, probado y confiable. Tiene características que reducen la fragmentación de archivos y se puede usar con unidades, particiones y archivos más grandes que Ext3.
  • BFS: Este es el sistema de archivos de inicio, diseñado para un trabajo y solo un trabajo: administrar archivos en la partición de inicio. Es raro que cree manualmente un sistema de archivos de inicio. El proceso de instalación de Linux hará esto por usted.
  • GORDO: El sistema de archivos File Allocation Table fue diseñado para disquetes por un consorcio de pesos pesados ​​de la industria informática. Se introdujo en 1977. La única razón por la que debería utilizar este sistema de archivos sin registro en diario es la compatibilidad con sistemas operativos que no son Linux.
  • NTFS: El nuevo sistema de archivos tecnológico es un archivo Microsoft sistema de archivos de diario introducido con Windows NUEVO TESTAMENTO. Fue el sucesor de FAT. La única razón por la que usaría este sistema de archivos es por compatibilidad con sistemas operativos que no son Linux.
  • MINIX: Creado originalmente por Andrew S. Tanenbaum como material didáctico, MINIX es un sistema operativo "mini-Unix". Hoy en día, el objetivo es proporcionar un sistema operativo autorreparable y tolerante a fallos. El sistema de archivos MINIX fue diseñado como una versión simplificada del sistema de archivos Unix. Quizás si está realizando un desarrollo cruzado en una máquina Linux y apunta a una plataforma MINIX, podría usar este sistema de archivos. O tal vez necesites compatibilidad con una computadora MINIX por otros motivos. Los casos de uso de este sistema de archivos en una computadora Linux no me llaman la atención, pero está disponible.
  • VFAT: La tabla de asignación de archivos virtuales se introdujo con Windows 95 y eliminó el límite de ocho caracteres para los nombres de archivos. Se hicieron posibles nombres de archivos de hasta 255 caracteres. La única razón por la que usaría este sistema de archivos es por compatibilidad con sistemas operativos que no son Linux.
  • CRAMFS: El sistema de archivos ROM comprimido es un sistema de archivos de solo lectura diseñado para sistemas integrados y usos especializados de solo lectura, como en los procesos de arranque de computadoras Linux. Es común que primero se cargue un sistema de archivos pequeño y transitorio para que se puedan iniciar los procesos de arranque y prepararse para montar el sistema de arranque "real".
  • MS-DOS: El sistema de archivos del archivo. Microsoft Sistema operativo de disco. Lanzado en 1981, es el sistema de archivos más básico que puedas imaginar. La primera versión ni siquiera tenía directorios. Ocupa un lugar destacado en la historia de la informática pero, más allá de la compatibilidad con sistemas heredados, hay pocas razones para utilizarlo hoy en día.

Una forma segura de experimentar con sistemas de archivos

La creación de un sistema de archivos en una partición es destructiva para cualquier dato que ya pueda residir en esa partición. Usar un disco duro de repuesto, o incluso una computadora de repuesto, es la manera perfecta de experimentar con la creación y el uso de diferentes sistemas de archivos. Pero, obviamente, muchas personas no tienen hardware de repuesto esperando a experimentar con él.

Sin embargo, podemos crear un archivo de imagen y crear sistemas de archivos dentro de él. Una vez montada, podremos usarla como si fuera una partición normal. Podemos explorar y experimentar con sistemas de archivos sin necesidad de hardware de repuesto. Usaremos el dd comando para crear nuestro archivo de imagen.

El archivo de imagen se crea tomando los datos de origen y colocándolos en una imagen. tenemos que decirlo dd dónde obtener los datos de origen. Usaremos la opción if (archivo de entrada) para indicar esto dd utilizar /dev/zero como fuente de datos de entrada. Esta será una corriente de ceros.

La opción de (archivo de salida) nos permite proporcionar un nombre para el archivo de imagen. Lo llamaremos "howtogeek.img".

El tamaño del archivo de imagen está determinado por el tamaño y la cantidad de bloques que le agregamos. Usamos la opción bs (tamaño de bloque) para solicitar un tamaño de bloque de 1 MB y la opción de conteo para solicitar 250 bloques. Esto nos dará un sistema de archivos de 250 MB. Cuando ejecute este comando, ajuste la cantidad de bloques según sus necesidades y la capacidad adicional que tenga en su computadora Linux.

dd if=/dev/zero of=~/howtogeek.img bs=1M count=250

dd if=/dev/zero of=~/howtogeek.img bs=1M recuento=250

El archivo se crea para nosotros y dd informa que se han creado 250 bloques para nosotros, según lo solicitado.

Salida del comando dd en una ventana de terminal

Podemos mirar nuestro archivo de imagen con ls :

ls -hl

ls -hl en una ventana de terminal

Son 250 MB como se esperaba, lo cual es alentador.

Creando el sistema de archivos

Elijamos un sistema de archivos para usar. Retrocederemos en el tiempo y usaremos Ext2, que es la primera versión de Ext que tiene esta implementación. mkfs puede crear. Este es un sistema de archivos sin registro, así que no almacene nada valioso en él sin tener copias de seguridad en otro lugar. Usamos el mkfs.ext2 variante de mkfs comando y dígale que use nuestro archivo de imagen como destino.

mkfs.ext2 ~/howtogeek.img

mkfs.ext2 ~/howtogeek.img en una ventana de terminal

Se crea el sistema de archivos y se muestran algunos detalles del sistema de archivos.

Salida del comando mkfs.ext2 en una ventana de terminal

Como puede ver en el texto resaltado, mke2fs hace su aparición.

Ahora tenemos un contenedor para el sistema de archivos, el archivo de imagen, que en este escenario reemplaza un disco duro. Dentro de ese contenedor, creamos un sistema de archivos. Ahora necesitamos montar el sistema de archivos para poder usarlo.

Esta es una configuración temporal, por lo que crearemos un punto de montaje dentro de /mnt llamado "geek". Lo eliminaremos cuando hayamos terminado.

sudo mkdir /mnt/geek

mkfs.ext2 ~/howtogeek.img en una ventana de terminal

Ahora podemos montar nuestro archivo de imagen.

sudo mount ~/howtogeek.img /mnt/geek

mkfs.ext2 ~/howtogeek.img en una ventana de terminal

Necesitamos cambiar la propiedad del archivo del punto de montaje para que podamos acceder a él para lectura y escritura.

sudo chown dave:users /mnt/geek/

sudo chown dave:users /mnt/geek/ en una ventana de terminal

Y ahora deberíamos poder utilizar nuestro nuevo sistema de archivos. Vayamos al sistema de archivos y copiemos algunos archivos en él.

cd /mnt/geek
cp ~/Documents/Code/*.? .

cp ~/Documentos/Código/*.?  .  en una ventana de terminal

Esto copiará todos los archivos con una extensión de una sola letra desde el directorio "~/Documentos/Código" a nuestro nuevo sistema de archivos. Comprobemos que han sido copiados.

ls

ls en una ventana de terminal

Los archivos se copiaron, luego se creó, montó y utilizó nuestro sistema de archivos. O al menos eso es lo que pensamos. Comprobemos de nuevo. Desde nuestro directorio de inicio, desmontaremos el sistema de archivos. Tenga en cuenta que solo hay una "n" en desmontaje.

sudo umount /mnt/geek

sudo umount /mnt/geek en una ventana de terminal

Ahora, si volvemos a /mnt/geek y revisamos los archivos, no deberíamos encontrar ninguno porque están dentro de nuestro archivo de imagen y ha sido desmontado.

cd /mnt/geek
ls

cd /mnt/geek en una ventana de terminal

Exploración adicional

Ahora que hemos definido el proceso, probar con otro sistema de archivos debería ser fácil. Esta vez usaremos el sistema de archivos MINIX. En nuestro directorio de inicio, podemos crear un nuevo sistema de archivos dentro de nuestro archivo de imagen existente.

¡Ten cuidado! Si hay archivos importantes en el sistema de archivos dentro del archivo de imagen, monte el archivo de imagen y recupérelos antes de crear un nuevo sistema de archivos.

mkfs.minix ~/howtogeek.image

mkfs.minix ~/howtogeek.image en una ventana de terminal

Sin ningún indicio de la pregunta "¿está seguro?", el nuevo sistema de archivos se crea sobre el anterior. Podemos montar nuestro archivo de imagen con exactamente el mismo comando que antes:

sudo mount ~/howtogeek.img /mnt/geek

sudo mount ~/howtogeek.img /mnt/geek en una ventana de terminal

Cambiemos al nuevo sistema de archivos en /mnt/geek y veamos si podemos crear un archivo.

touch geek.txt

Toca geek.txt en una ventana de terminal

ls -ahl geek.txt

ls -ahl geek.txt en una ventana de terminal

Y, de manera rápida y sencilla, creamos un nuevo sistema de archivos, lo montamos y podemos usarlo.

Quitar el punto de montaje

Cuando haya terminado, podemos eliminar el punto de montaje "geek". Para ello usaremos rmdir:

cd /mnt
sudo rmdir geek

sudo rmdir geek en una ventana de terminal

Haciendo malabares con fuego

Con Linux, como con la mayoría de las cosas, se aprende haciendo. El problema con algunos comandos es que son potencialmente destructivos. El dilema es ¿cómo practicar su uso sin poner en riesgo su sistema o sus datos?

Ahora tienes un método sencillo para crear y probar sistemas de archivos. mkfs lo que deja tu computadora intacta.

Subir Change privacy settings