3.12.1.- Tipos habituales de sistemas de ficheros

Linux admite unos cuantos sistemas de ficheros diferentes, tanto los nativos de Linux como los pensados para otros sistemas operativos. Algunos de estos últimos apenas funcionan bajo Linux e, incluso cuando lo hacen de manera fiable, no suelen soportar todas las funcionalidades que Linux espera en sus sistemas de ficheros nativos. Por tanto, si preparamos un sistema Linux, utilice uno o varios de sus sistemas de ficheros nativos para la mayoría de las particiones o todas ellas:

  • Ext2fs.- El segundo sistema de ficheros extendido (ext2fs o ext2) es el tradicional sistema de extficheros nativos de Linux. Fue creado para Linux y era el dominante hasta finales de la década de los noventa. Ext2fs tiene una reputación de sistema fiable. Desde entonces ha sido eclipsado por otros sistema de ficheros, pero aún tiene sus usos, puede ser una buena opción para pequeñas particiones /boot, si decide utilizar una, y para pequeños discos extraíbles (menos de 1 Gigabyte). Con las particiones así de  pequeñas el tamaño del registro que utilizan los sistemas de ficheros más avanzados puede ser un auténtico problema, por lo que la opción es el ext2fs sin respaldo de transacciones. El código de tipo del sistema de ficheros ext2 es ext2.
  • Ext3fs.- El tercer sistema de fichero extendido (ext3fs o ext3) consiste básicamente en ext2fs con el respaldo de transacciones añadido. Como resultado es un sistema de fichero tan fiable que se recupera mucho más rápidamente de los cortes de alimentación y las caídas del sistema. El código de tipo del sistema de ficheros ext3 es ext3.
  • Ext4fs.- Este cuarto sistema de fichero extendido (ext4fs o ext4) es la nueva generación de este sistema de ficheros. Incorpora la capacidad de trabajar con discos muy grandes (más de 32 terabytes) o ficheros muy grandes (por encima de 2 terabytes), así como extensiones pensadas para mejorar el rendimiento. A finales de 2008, ext4fs se consideraba experimental, pero esto obviamente cambió. Su código de tipo de sistema de ficharos es ext4dev, pero una vez acabado cambiará a ext4.
  • ReiserFS.- Se diseñó desde cero como un sistema de ficheros con respaldo de transaccionesReiserFS-deve-ser-descartado-do-Ubuntu para Linux y es una elección popular en este terreno. Es particularmente bueno gestionando sistemas de ficheros con un gran número de ficheros pequeños (es decir, de menos de 32 Kb) porque ReiserFS utiliza varios trucos para encajar los finales de los ficheros en los espacios sin utilizar de los otros ficheros. Puede utilizar reiserffs como código de tipo para este sistema de ficheros.  . Una de las mejora a la que se ha dado más publicidad es Journaling que previene el riesgo de corrupción del sistema de archivos.
  • JFS.- IBM desarrolló el JFS (Journaled File System, Sistema de ficheros con respaldo de transacciones) jfspara todos sus SO AIX y, más adelante, lo implemento en PS/2. La versión OS/2 se donó posteriormente a Linux. JFS es un fichero con respaldo de transacciones sofisticado técnicamente que puede resultar interesante si estamos familiarizado con AIX u OS/2 o si buscamos un fichero de ficheros avanzados para utilizarlo en un sistema con arranque dual con uno de estos SO. Su código de tipo es jfs.
  • XFS.- es un sistema de archivos de 64 bits con journaling de alto rendimiento creado por SGI xfs(antiguamente Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX. En mayo de 2000, SGI liberó XFS bajo una licencia de código abierto. XFS se incorporó a Linux a partir de la versión 2.4.25, cuando Marcelo Tosatti (responsable de la rama 2.4) lo consideró lo suficientemente estable para incorporarlo en la rama principal de desarrollo del kernel. Los programas de instalación de las distribuciones de SuSE, Gentoo, Mandriva, Slackware, Fedora Core, Ubuntu y Debian ofrecen XFS como un sistema de archivos más. En FreeBSD el soporte para solo-lectura de XFS se añadió a partir de diciembre de 2005 y en junio de 2006 un soporte experimental de escritura fue incorporado a FreeBSD-7.0-CURRENT y luego lamentablemente eliminado en FreeBSD 10.0

En la práctica la mayoría de los administradores escogen ext3fs o ReiserFS como sus sistemas de ficheros primarios; no obstante, JFS y XFS también funcionan bien y algunos administradores los prefieren, en particular para discos grandes que almacenan ficheros grandes. Es difícil llegar a conocer los éxitos y los problemas de cada sistema de ficheros y, aunque éstos existen, no son fiables porque el sistema de ficheros interactúa en su funcionamiento con muchos otros factores. Por ejemplo, como acabamos de comentar, ReiserFS puede meter más ficheros pequeños en un espacio pequeño que otros sistemas de ficheros, pero esta ventaja carece de importancia si la mayoría de los ficheros que se va a almacenar son grandes.

nota_XFS

Además de estos sistemas nativos de Linux, puede que tengamos que tratar con algunos otros de vez en cuando, incluyendo los siguientes:

  • FAT.- Es un sistema de archivos desarrollado para MS-DOS, así como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta Windows Me. FAT es relativamente sencillo. A causa de ello, es un formato popular para disquetes admitido prácticamente por todos los sistemas operativos existentes para computadora personal. Se utiliza como mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en la misma computadora, lo que se conoce como entorno multiarranque. También se utiliza en tarjetas de memoria y dispositivos similares.Las implementaciones más extendidas de FAT tienen algunas desventajas. Cuando se borran y se escriben nuevos archivos tiende a dejar fragmentos dispersos de éstos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez más lento. La denominada desfragmentación es la solución a esto, pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas condiciones. FAT tampoco fue diseñado para ser redundante ante fallos. Inicialmente solamente soportaba nombres cortos de archivo: ocho caracteres para el nombre más tres para la extensión. Por consiguiente, cada SO entiende el sistema de ficheros FAT que tiene variación en el tamaño de su estructura de datos que da nombre el sistema de ficheros (FAT12, FAT16 0 FAT32) y posee variantes que admiten nombres de ficheros largos.Linux detecta automáticamente el tamaño de FAT, por lo que no tiene que preocuparse por esto. Para utilizar loas nombres de ficheros FAT, que están limitados a ocho caracteres con una extensión opcional de tres caracteres (nombrefichero.txt), use msdos como código de tipo de sistema de ficheros de Linux. Para utilizar los nombres de ficheros largos al estilo de Windows, utilice el código vfat. El sistema de nombres de ficheros conocido como umsdos, exclusivo de Linux, admite características de Linux adicionales (suficientes como para instalar Linux en una partición FAT, aunque esto no es muy recomendable, excepto para ciertos tipos de disco de emergencia o para probar Linux en un sistema Windows).
  • NTFS.- NTFS (del inglés New Technology File System) es un sistema de archivos de Windows NTwindows8 incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7, Windows 8 y Windows 10. Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple.NTFS permite definir el tamaño del clúster a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición.Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores. Puede manejar volúmenes de, teóricamente, hasta 264–1 clústeres. En la práctica, el máximo volumen NTFS soportado es de 232–1 clústeres (aproximadamente 16 TiHFS y B usando clústeres de 4 KiB). Su principal inconveniente es que necesita para sí mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su uso en discos con menos de 400 MiB libres. Lamentablemente el soporte para NTFS de Linux es bastante rudimentario. En la serie de kernel 2.6.x, Linux puede leer con fiabilidad NTFS y sobrescribir los ficheros existentes, pero el kernel de Linux no puede escribir nuevos en una partición NTFS.
  • HFS y HFS+.- Es un sistema de Archivos Jerárquico o Hierarchical File System (HFS), es un sistema 220px-MacOS-Logo.svgde archivos desarrollado por Apple Inc. para su uso en computadores que corren Mac OS. Originalmente diseñado para ser usado en disquetes y discos duros, también es posible encontrarlo en dispositivos de solo-lectura como los CD-ROMs. HFS es el nombre usado por desarrolladores, pero en la documentación de usuarios el formato es referido como estándar Mac Os para diferenciarlo de su sucesor HFS+ el cual es llamado Extendido Mac Os.
    El sistema de ficheros jerárquico divide un volumen en bloques lógicos de 512 bytes. Estos bloques lógicos están agrupados juntos en bloques de asignación (allocation blocks) que pueden contener uno o más bloques lógicos dependiendo del tamaño total del volumen. HFS usa un valor de dirección de 16 bits para los bloques de asignación, limitando el número de bloques de asignación a 65.536.Linux 2.6.x incorpora un soporte limitado para HFS+, pero este sistema de ficheros es aún bastante nuevo en los kernel Linux 2.6.x, por lo que el soporte para escritura tiene riesgos.
  • ISO-9660.-Es una norma publicada inicialmente en 1986 por la ISO, que especifica el formato iso-logo_printpara el almacenaje de archivos en los soportes de tipo disco compacto. El estándar ISO 9660 define un sistema de archivos para CD-ROM. Su propósito es que tales medios sean legibles por diferentes sistemas operativos, de diferentes proveedores y en diferentes plataformas, por ejemplo, MS-DOS, Microsoft Windows, Mac OS y UNIX. La norma ISO 9660 es descendiente directa de un esfuerzo de estandarización anterior llamado HSG (acrónimo de High Sierra Group), el cual fue propuesto por un conjunto de actores de la industria que se reunieron en 1985 en el hotel High Sierra, del Lago Tahoe, Nevada. Aunque la ISO aceptó una gran mayoría de las propuestas del HSG, existen algunas diferencias menores.
  • Joliet.- Este sistema de fichero se usa de forma parecida a Rock Ridge, como una extensión jolietde ISO-9660, pero técnicamente es un sistema de ficheros totalmente independiente. Joliet fué creado por Microsoft para ser utilizado con Windows, por lo que da prioridad a las características del sistema de ficheros de Windows frente a los sistemas de Unix/Linux. Linux soporta Joliet como parte de su driver iso9660; si un disco contiene Joliet pero no Rock Ridge, Linux utilizara el sistema de ficheros de Joliet.
  • UDF.- Es un sistema de archivos con estándar ISO 9660, propiedad de Adaptec, que utiliza las udfgrabadoras de CD/DVD como un dispositivo de almacenamiento lógico. Este formato permite leer, escribir o modificar los archivos contenidos en discos CD/DVD reescribibles (RW) del mismo modo que se hace en el disco duro, memorias USB o disquetes. Utiliza la tecnología de grabación por paquetes (Packet Writing) soportado por grabadoras CD-RW, DVD-RAM/RW, HD DVD y Blu-ray.Al formatear un disco con UDF se pierden alrededor de 120 o 150 MB dependiendo de la versión. Por ejemplo: un disco CD-RW de 700 MB formateado con UDF permite utilizar tan sólo de 550 a 570 MB para almacenar los archivos.Hoy en día es ampliamente usado por los medios ópticos (re)grabables. UDF lo mantiene y lo fabrica la Optical Storage Technology Association (OSTA). UDF se puede considerar el sucesor del ISO 9660, ya que soporta archivos más grandes, discos con más almacenamiento e información acerca de los archivos y carpetas individuales. Incluye soporte para propiedades de archivos especiales como los tipos de archivos de Apple, construcciones especiales del MAC OS, entre otros datos de sistemas operativos específicos. También tiene la ventaja de permitir agregar o remover archivos de un disco óptico como un sistema de archivos tradicional. Incluso funciona en CD-R, donde los datos se almacenan de forma secuencial, aunque los archivos eliminados seguirán ocupando espacio en el disco por el tipo de formato de CD.Los DVD-Video utilizan la versión 1.02 de UDF. Estos discos contienen el formato llamado UDF Bridge, en donde ambos sistemas (el ISO 9660 y el UDF 1.02) están presentes en el mismo disco y describen el mismo sistema de archivos.Los blu-ray y los HD-DVD usan los formatos UDF 2.50 o UDF 2.60 respectivamente.

En la práctica, si preparamos un disco duro para usarlo con Linux, probablemente deba emplear sólo sistemas de ficheros de Linux. Si prepara un disco que se utilizará para una configuración con arranque dual, es recomendable que reserve algunas particiones para otros tipos de ficheros.

En los discos extraíbles tendrá que decidir qué es lo más apropiado. Podría utilizar extfs para un disco extraíble con sólo Linux, FAT para un disco independiente de la plataforma o ISO-9660 (quizá con Rock Ridge y Joliet) para un CD-R o DVD regrabable.

nota_222