¿Qué sistema de archivos Linux debería utilizar?

Al formatear particiones en una PC con Linux, verá una amplia variedad de opciones de sistema de archivos. Estas opciones no tienen por qué ser abrumadoras. Si no está seguro de qué sistema de archivos de Linux usar, hay una respuesta simple.

La respuesta rápida: use Ext4 si no está seguro

Nos meteremos en la maleza y analizaremos la diferencia entre los distintos sistemas de archivos en un momento, pero si no está seguro: use Ext4.

Ext4 es el sistema de archivos predeterminado en la mayoría de las distribuciones de Linux por una razón. Es una versión mejorada del antiguo sistema de archivos Ext3. No es el sistema de archivos más avanzado, pero eso es bueno: significa que Ext4 es sólido y estable.

En el futuro, las distribuciones de Linux cambiarán gradualmente hacia BtrFS. BtrFS sigue siendo de vanguardia y está experimentando mucho desarrollo, por lo que querrá evitarlo en los sistemas de producción. El riesgo de corrupción de datos u otros problemas no compensa la posible mejora en la velocidad.

Sin embargo, tenga en cuenta que este consejo de «usar Ext4» solo se aplica a las particiones del sistema Linux y otras particiones en disco a las que solo Linux accederá. Si está formateando una unidad externa que desea compartir con otros sistemas operativos, no debe usar Ext4 porque Windows, macOS y otros dispositivos no pueden leer los sistemas de archivos Ext4. Usted querrá utilizar exFAT o FAT32 al formatear un disco duro externo en Linux.

Si está configurando particiones en su unidad de arranque principal de Linux, también querrá crear una partición de intercambio de al menos unos pocos GB de tamaño al configurar esas particiones. Esta partición se utiliza para «espacio de intercambio». Es similar al archivo de paginación de Windows. Linux intercambia memoria al espacio de intercambio cuando su RAM está llena. Esta partición debe formatearse como «intercambio» en lugar de con un sistema de archivos en particular.

¿Qué es llevar un diario?

Una cosa que notará al elegir entre sistemas de archivos es que algunos de ellos están marcados como un sistema de archivos de “registro en diario” y otros no. Esto es importante.

El diario está diseñado para evitar la corrupción de datos por fallas y pérdida repentina de energía. Digamos que su sistema está en la mitad de la escritura de un archivo en el disco y de repente pierde energía. Sin un diario, su computadora no tendría idea de si el archivo se escribió completamente en el disco. El archivo permanecería en el disco, corrupto.

Con un diario, su computadora notaría que iba a escribir un determinado archivo en el disco del diario, escribir ese archivo en el disco y luego eliminar ese trabajo del diario. Si se cortaba la energía a la mitad de la escritura del archivo, Linux verificaría el diario del sistema de archivos cuando arranca y reanudaría cualquier trabajo parcialmente completado. Esto evita la pérdida de datos y la corrupción de archivos.

El diario reduce un poquito el rendimiento de escritura en disco, pero vale la pena en una computadora de escritorio o portátil. No es tanta sobrecarga como podría pensar. El archivo completo no se escribe en el diario. En cambio, solo los metadatos del archivo, el inodo o la ubicación del disco se registran en el diario antes de que se escriban en el disco.

Todos los sistemas de archivos modernos admiten el registro en diario, y querrá utilizar un sistema de archivos que admita el registro en diario al configurar una computadora de escritorio o portátil.

Los sistemas de archivos que no ofrecen registro en diario están disponibles para su uso en servidores de alto rendimiento y otros sistemas similares en los que el administrador desea obtener un rendimiento adicional. También son ideales para unidades flash extraíbles, donde no desea la sobrecarga más alta y las escrituras adicionales del diario.

¿Cuál es la diferencia entre todos esos sistemas de archivos Linux?

Mientras Microsoft desarrolla Windows y Apple controla macOS, Linux es un proyecto de código abierto desarrollado por la comunidad. Cualquiera (o cualquier empresa) con la habilidad y el tiempo puede crear un nuevo sistema de archivos Linux. Ésa es una de las razones por las que hay tantas opciones. Aquí están las diferencias:

  • Ext significa «sistema de archivos extendido» y fue el primero creado específicamente para Linux. Ha tenido cuatro revisiones importantes. “Ext” es la primera versión del sistema de archivos, introducida en 1992. Fue una actualización importante del sistema de archivos Minix usado en ese momento, pero carece de características importantes. Muchas distribuciones de Linux ya no son compatibles con Ext.
  • Ext2 no es un sistema de archivos de diario. Cuando se introdujo, fue el primer sistema de archivos que admitió atributos de archivo extendidos y unidades de 2 terabytes. La falta de un diario de Ext2 significa que escribe menos en el disco, lo que lo hace útil para memorias flash como unidades USB. Sin embargo, los sistemas de archivos como exFAT y FAT32 tampoco usan el registro en diario y son más compatibles con diferentes sistemas operativos, por lo que le recomendamos que evite Ext2 a menos que sepa que lo necesita por alguna razón.
  • Ext3 es básicamente solo Ext2 con diario. Ext3 fue diseñado para ser compatible con versiones anteriores de Ext2, lo que permite convertir particiones entre Ext2 y Ext3 sin necesidad de formatear. Ha existido por más tiempo que Ext4, pero Ext4 existe desde 2008 y está ampliamente probado. En este punto, es mejor que use Ext4.
  • Ext4 también fue diseñado para ser compatible con versiones anteriores. Puede montar un sistema de archivos Ext4 como Ext3, o montar un sistema de archivos Ext2 o Ext3 como Ext4. Incluye funciones más nuevas que reducen la fragmentación de archivos, permite volúmenes y archivos más grandes y utiliza la asignación diferida para mejorar la vida útil de la memoria flash. Esta es la versión más moderna del sistema de archivos Ext y es la predeterminada en la mayoría de las distribuciones de Linux.

  • BtrFS , pronunciado «Mantequilla» o «Mejor» FS, fue diseñado originalmente por Oracle. Significa «B-Tree File System» y permite la agrupación de unidades, instantáneas sobre la marcha, compresión transparente y desfragmentación en línea. Comparte varias de las mismas ideas que se encuentran en ReiserFS, un sistema de archivos que algunas distribuciones de Linux solían usar de forma predeterminada. BtrFS está diseñado para romper con la serie Ext de elementos de sistema de archivos. Ted Ts’o, el responsable de mantenimiento del sistema de archivos Ext4, considera que Ext4 es una solución a corto plazo y cree que BtrFS es el camino a seguir . Espere ver que BtrFS se convierta en el valor predeterminado en las distribuciones de Linux de escritorio tanto de servidor empresarial como de consumidor en los próximos años a medida que se pruebe más.
  • ReiserFS supuso un gran paso adelante para los sistemas de archivos de Linux cuando se introdujo en 2001 e incluía muchas características nuevas que Ext nunca podría implementar. ReiserFS fue reemplazado por Reiser4 , que mejoró muchas de las características que estaban incompletas o faltantes en la versión inicial, en 2004. Pero el desarrollo de Reiser4 se estancó después de que el desarrollador principal, Hans Reiser, fuera enviado a prisión en 2008. Reiser4 todavía no lo es en el kernel principal de Linux y es poco probable que llegue allí. BtrFS es la mejor opción a largo plazo.

    • ZFS fue diseñado por Sun Microsystems para Solaris y ahora es propiedad de Oracle. ZFS admite una gran cantidad de funciones avanzadas, incluida la agrupación de unidades, las instantáneas y la división de discos dinámicos; BtrFS traerá muchas de estas funciones a Linux de forma predeterminada. Cada archivo tiene una suma de comprobación, por lo que ZFS puede saber si un archivo está dañado o no. Sun ZFS de código abierto bajo la licencia Sun CDDL, lo que significa que no se puede incluir en el kernel de Linux. Sin embargo, puede instalar la compatibilidad con ZFS en cualquier distribución de Linux. Ubuntu ahora también ofrece soporte oficial de ZFS a partir de Ubuntu 16.04 . Ubuntu usa ZFS de forma predeterminada para los contenedores.
    • XFS fue desarrollado por Silicon Graphics en 1994 para el sistema operativo SGI IRX, y fue portado a Linux en 2001. Es similar a Ext4 en algunos aspectos, ya que también usa asignación retrasada para ayudar con la fragmentación de archivos y no permite instantáneas montadas. Se puede ampliar, pero no encoger, sobre la marcha. XFS tiene un buen rendimiento cuando se trata de archivos grandes, pero tiene un rendimiento peor que otros sistemas de archivos cuando se trata de muchos archivos pequeños. Puede ser útil para ciertos tipos de servidores que principalmente necesitan manejar archivos grandes.
    • JFS , o «Sistema de archivos con registro», fue desarrollado por IBM para el sistema operativo IBM AIX en 1990 y más tarde adaptado a Linux. Cuenta con un bajo uso de la CPU y un buen rendimiento tanto para archivos grandes como pequeños. Las particiones JFS se pueden redimensionar dinámicamente, pero no reducir. Fue muy bien planificado y tiene soporte en la mayoría de las principales distribuciones, sin embargo, sus pruebas de producción en servidores Linux no son tan extensas como Ext, ya que fue diseñado para AIX. Ext4 se usa más comúnmente y se prueba más ampliamente.
    • Swap es una opción al formatear una unidad, pero no es un sistema de archivos real. Se utiliza como memoria virtual y no tiene una estructura de sistema de archivos. No puede montarlo para ver su contenido. El kernel de Linux utiliza Swap como «espacio temporal» para almacenar temporalmente datos que no caben en la RAM. También se usa para hibernar. Mientras que Windows almacena su archivo de paginación como un archivo en la partición principal del sistema, Linux simplemente reserva una partición vacía separada para el espacio de intercambio.
    • FAT16 , FAT32 y exFAT : los sistemas de archivos FAT de Microsoft suelen ser una opción al formatear una unidad en Linux. Estos sistemas de archivos no incluyen un diario, por lo que son ideales para unidades USB externas. Son un estándar de facto que todos los sistemas operativos (Windows, macOS, Linux y otros dispositivos) pueden leer. Esto los convierte en el sistema de archivos ideal para usar al formatear una unidad externa que querrá usar con otros sistemas operativos. FAT32 es más antiguo. exFAT es la opción ideal, ya que admite archivos de más de 4 GB y particiones de más de 8 TB, a diferencia de FAT32.

    There are other Linux file systems too, including file systems designed specifically for flash storage in embedded devices and on SD cards. But these are the options you’ll most frequently see when using Linux.