Sistemas de Ficheros EXT2, HFS+ y NTFS

10
software Compatibilidad entre Sistemas de Ficheros 52 Linux+ 10/2007 [email protected] Sistemas de ficheros EXT2, HFS+ y NTFS Ivan A. Escobar Broitman y Erika Vilches González M uchos de nosotros vivimos día a día este tipo de situaciones y nos adaptamos a ellas sin mayor problema, pero ¿qué pasa cuando todos estos ordenadores no uti- lizan el mismo sistema operativo? ¿Qué sucede cuando en la oficina todos los ordenadores usan Linux, la portátil es Windows y en casa tenemos una Mac o viceversa? ¿Son compatibles? El caos empieza al momento de tener que compartir ficheros y en mayor escala cuando tenemos que compartir discos de trabajo o respaldo. ¿Hay compatibilidad entre los diversos sistemas de ficheros utilizados por estos sistemas operativos? ¿Podemos hacerlos funcionar de manera inte- gral y sacar información de un medio para transportarlo al otro? ¿Podemos interconectar discos de respaldo de Linux en una máquina Windows XP o Mac? Sistemas de Ficheros En computación, un sistema de ficheros es un método para almacenar y organizar información en ordenadores. Este método les permite acceder y manipular dicha información. Un sistema de ficheros puede utilizar complementariamente un dispositivo de almacenamiento para organizar los datos, tal es el caso de un disco duro, un dispositivo externo como un CD-ROM, etc. No es rigurosamente necesario contar con dichos dispositivos, ya que un sistema de ficheros puede a su vez manejar datos que existan en servidores de fi- cheros virtuales a través de protocolos de red como NFS, SMB, etc. La mayoría de los sistemas de ficheros usan a los dis- positivos de almacenamiento para ofrecer acceso a arreglos de bloques de tamaño fijo llamados sectores. Un sector en estos dispositivos normalmente es de 512 bytes de tamaño. El sistema de ficheros es el responsable de la organización de la información almacenada en estos sectores así como su conjunción en ficheros y directorios. Los sistemas de ficheros proveen las abstracciones de datos necesarias para que el usuario trabaje con la información que necesite sin necesidad de saber como está organizada física o lógica- mente en su ordenador. Primeros sistemas de ficheros No es ningún secreto que el sistema de ficheros dicta mu- chas de las funciones fundamentales que puede realizar un En el mundo en el que vivimos hoy en día, resulta muy práctico que utilicemos los ordenadores para todo tipo de actividades. En la oficina nos ponen un ordenador inmenso que debemos saber manejar como expertos, y en algunos casos nos dotan con equipos portátiles para que nos llevemos el trabajo sin terminar a casa o podamos llevarlo a las reuniones de trabajo. En casa es común tener un ordenador para explorar la red, para contactar a los miembros lejanos de la familia y para resolver las necesidades personales.

Transcript of Sistemas de Ficheros EXT2, HFS+ y NTFS

Page 1: Sistemas de Ficheros EXT2, HFS+ y NTFS

softwareCompatibilidad entre Sistemas de Ficheros

52 Linux+ 10/2007

softwareCompatibilidad entre Sistemas de Ficheros

53www.lpmagazine.org

linux

@so

ftwar

e.co

m.p

l

Sistemas de ficheros EXT2, HFS+ y NTFSIvan A. Escobar Broitman y Erika Vilches González

Muchos de nosotros vivimos día a día este tipo de situaciones y nos adaptamos a ellas sin mayor problema, pero ¿qué pasacuando todos estos ordenadores no uti-

lizan el mismo sistema operativo? ¿Qué sucede cuando en la oficina todos los ordenadores usan Linux, la portátiles Windows y en casa tenemos una Mac o viceversa? ¿Son compatibles?

El caos empieza al momento de tener que compartir ficheros y en mayor escala cuando tenemos que compartir discos de trabajo o respaldo. ¿Hay compatibilidad entre los diversos sistemas de ficheros utilizados por estos sistemas operativos? ¿Podemos hacerlos funcionar de manera inte-gral y sacar información de un medio para transportarlo al otro? ¿Podemos interconectar discos de respaldo de Linux en una máquina Windows XP o Mac?

Sistemas de FicherosEn computación, un sistema de ficheros es un método para almacenar y organizar información en ordenadores. Este método les permite acceder y manipular dicha información. Un sistema de ficheros puede utilizar complementariamente

un dispositivo de almacenamiento para organizar los datos, tal es el caso de un disco duro, un dispositivo externo como un CD-ROM, etc. No es rigurosamente necesario contar con dichos dispositivos, ya que un sistema de ficheros puede a su vez manejar datos que existan en servidores de fi-cheros virtuales a través de protocolos de red como NFS, SMB, etc.

La mayoría de los sistemas de ficheros usan a los dis-positivos de almacenamiento para ofrecer acceso a arreglos de bloques de tamaño fijo llamados sectores. Un sector en estos dispositivos normalmente es de 512 bytes de tamaño. El sistema de ficheros es el responsable de la organización de la información almacenada en estos sectores así como su conjunción en ficheros y directorios. Los sistemas de ficheros proveen las abstracciones de datos necesarias para que el usuario trabaje con la información que necesite sin necesidad de saber como está organizada física o lógica-mente en su ordenador.

Primeros sistemas de ficherosNo es ningún secreto que el sistema de ficheros dicta mu-chas de las funciones fundamentales que puede realizar un

En el mundo en el que vivimos hoy en día, resulta muy práctico que utilicemos los ordenadores para todo tipo de actividades. En la oficina nos ponen un ordenador inmenso que debemos saber manejar como expertos, y en algunos casos nos dotan con equipos portátiles para que nos llevemos el trabajo sin terminar a casa o podamos llevarlo a las reuniones de trabajo. En casa es común tener un ordenador para explorar la red, para contactar a los miembros lejanos de la familia y para resolver las necesidades personales.

Page 2: Sistemas de Ficheros EXT2, HFS+ y NTFS

softwareCompatibilidad entre Sistemas de Ficheros

52 Linux+ 10/2007

softwareCompatibilidad entre Sistemas de Ficheros

53www.lpmagazine.org

sistema operativo. Mientras más robusto sea el sistema de ficheros, más confiable y seguro será el almacenamiento de la información que se encuentre en el sistema operativo. Hace al-gunos años era común encontrar sistemas de ficheros que soportaran únicamente ficheros con un tamaño muy limitado, tal era el caso de los sistemas de ficheros desarrollados por Microsoft como FAT. File Allocation Table o FAT, fue el sistema de ficheros primor-dial para los usuarios de Windows hasta la aparición de Windows 2000 o XP. Era un sistema de ficheros relativamente sencillo que soportaba virtualmente cualquier tipo de fichero en la mayoría de los sistemas ope-rativos existentes. Era un formato ideal para dispositivos externos, discos floppy, etc. Elgran problema que tenía este sistema de fi-cheros era cuando se borraban ficheros pa-ra ocupar su lugar por ficheros nuevos. Al borrar los ficheros viejos en la máquina, el lugar disponible no era contiguo por lo cual a la hora de insertar nueva información, ésta quedaba esparcida por todo el disco. Esto causaba que el proceso de lectura y escritura fuera más lento y que el espacio ocupado por dichos ficheros fuera mayor del realmente necesario. La solución para este sistema de ficheros era aplicar continuamente procesos de defragmentación. La primera versión de FAT, FAT12 soportaba ficheros de hasta 32MB mientras que la última, FAT32, sopor-taba ficheros de hasta 4GB.

Estos sistemas eran muy simples pero poseían una gran ventaja implícita, su com-patibilidad. Versiones posteriores de FAT se utilizan todavía en nuestros días como son FAT16 y FAT32. El último sigue siendo utili-zado hasta hoy en día como el puente común para compartir ficheros entre diferentes sis-temas operativos a través de discos externos y dispositivos USB.

Por otro lado los sistemas operativos como Unix o Linux utilizaron sistemas de fi-cheros que les ofrecían mayores ventajas al sistema desarrollado por Microsoft, pero a su vez que les traía un gran problema, la com-patibilidad.

Sistemas Operativos ModernosHoy en día es común que cualquiera de noso-tros conozca o manipule más de un sistema operativo. La integración de éstos se ha ido fo-mentando al paso de los años y se ha llegadohasta el grado que muchas personas tengan más de un sistema operativo instalado en su mismo ordenador. Tal es el caso de lo que los norteamericanos bautizaron con el nombre de Dual Boot.

El Dual Boot no es nada más que tener en un solo ordenador dos sistemas operati-vos, y los sabores más populares hoy en día son Windows XP y alguna distribución de Linux, como puede ser el caso de Ubuntu, Fedora o Gentoo. Una desventaja que ofre-ce un sistema Dual Boot es la necesidad de reparticionar el disco interno para poder abrir un lugar para el nuevo sistema ope-rativo. Esta operación normalmente tiene su grado de cuidado debido a que si existen errores en el disco, éste puede llegar a co-rromperse y no solamente fallar en el pro-ceso de repartición, sino que también perder toda información que ya estaba almacenada en él. Afortunadamente hay posibilidades más sencillas a tener más de un sistemaoperativo en un mismo ordenador, y éstas son mucho más sencillas y seguras. Tal es el caso de las máquinas virtuales como Virtual PC, VMWARE o Parallels.

HFS+ (Mac OS)El sistema de ficheros utilizado por Apple desde la década de los noventa es el sistema jerárquico HFS (Hierarchical File System). Este sistema de ficheros fue introducido en los ordenadores Macintosh de la compañía a

partir de la producción de su sistema operati-vo Mac OS 8.1 en 1998. Los reproductores de vídeo y música digital, iPod, utilizan una va-riante de este sistema de ficheros HFS+, que a su vez se dio paso al nuevo sistema opera-tivo de Apple, el Mac OS X. HFS+ es una ver-sión mejorada del sistema de ficheros HFS. Esta versión soporta indexamiento de datos, cuotas, tamaños de ficheros mucho más gran-des (bloques de 32 bits en vez de los usuales de 16) y cambiaron el uso de font para el nombrado de sus ficheros, de Mac OS Roman a Unicode. Otras de las mejoras a este sistema de ficheros incluyen:

• Nombres de ficheros de hasta 255 carac-teres.

• Manejo de memoria con bloques conti-nuos más pequeños (32 bits).

• Los atributos de ficheros y directorios pueden ser extendidos para uso futuro.

• El sistema de codificación de datos se estandarizó (Unicode).

• El tamaño máximo de ficheros es de 2^63 bytes.

El sistema de ficheros HFS+ es un sistema de ficheros robusto y como la mayoría de los sistemas indexados, únicamente indexa los metadatos de la información. Aunque este sistema de ficheros no es el más avanzado en el mercado, sí ha sido de gran uso y utilidad para la compañía Apple ya que sus ventajas y funciones le han provisto a la misma de la capacidad de desarrollar un sistema ope-rativo robusto, eficiente y seguro que lo han hecho competir directamente con el líder en la industria, la compañía Microsoft.

Figura 1. Instalación Driver Ext2 en Mac OS X

Figura 2. Unidad de disco Ext2 abierta en MAC OS X

Page 3: Sistemas de Ficheros EXT2, HFS+ y NTFS

54

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 55

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

Compatibilidad Nativa El sistema de ficheros HFS+ utilizado en los ordenadores Macintosh de hoy en día ofrece una compatibilidad nativa muy limitada con los sistemas operativos de Microsoft, en el caso de Windows XP o 2000. La compatibili-dad está dictada por el intercambio de infor-mación entre ambas plataformas y apegada a las reglas de sus correspondientes sistemas de ficheros. El sistema de ficheros HFS+ que viene integrado en Mac OS X tiene compa-tibilidad limitada con el sistema de ficheros NTFS. Esta compatibilidad permite únicamen-te al usuario acceder a información de volú-menes compartidos para efectos de lectura. No se puede escribir directamente al sistema de ficheros NTFS. Para poder acceder al sis-tema de ficheros NTFS nativamente, lo único que se debe hacer es conectar el dispositivo externo correspondiente al ordenador Macin-tosh, como puede ser una pastilla USB o un disco removible.

Por otro lado, el sistema de ficheros HFS+ no incluye compatibilidad directa o nativa con los sistemas de ficheros utilizados por las di-ferentes distribuciones de Linux, los sistemas de ficheros EXT2 y EXT3. Esto podría resultar contradictorio, ya que el sistema operativo OS X fue basado en BSD, pero con todo y este

antecedente, la compañía Apple no incluyó soporte nativo hacia los sistemas de fiche-ros de Linux.

Compatibilidad a través de drivers (lectura y escritura Ext2, Ext3)Debido a que no tenemos una compatibilidad directa entre HFS+ y los sistemas de ficheros Linux (Ext2 y Ext3), tenemos que buscar una solución apropiada para poder portar nuestra información entre las diferentes plataformas. Como ya se mencionó previamente, no hay compatibilidad nativa entre los sistemas de ficheros, por lo cual los ordenadores Mac no pueden leer directamente discos o pastillas que tengan en su formato el sistema de fiche-ros utilizado por las diversas distribuciones de Linux. Para lograr la compatibilidad ne-cesitaremos instalar en nuestro ordenador Apple un driver que permita a nuestro siste-ma operativo ver los sistemas de ficheros Li-nux, en específico Ext2 y Ext3. Hay varias op-ciones en la web que podemos utilizar, pero la única que funciona directamente, es la co-nocida con el nombre de Ext2FS Mac OS. Este driver es proporcionado por Brian Bergstrand y distribuido gratuitamente a través de la pá-gina de Sourceforge y a través de su página personal:

• http://sourceforge.net/projects/ext2fsx/• http://www.bmannconsulting.com/macosx/

how-to/ext2-for-mac

El driver viene en formato DMG (instalador para Mac OS X) que se instala automática-mente y funciona ni bien nosotros insertamos un disco cuyo sistema de ficheros sea Ext2 o Ext3 como se pueden ver en las Figuras 1 y 2.

Este driver le agrega un panel extra (Ext2FSManager Figura 3) a la utilidad de pre-ferencias de sistema de un ordenador Mac OS X a través del cual se puede controlar cual-quier dispositivo que utilice los sistemas de ficheros anteriormente mencionados. Con este driver nosotros podemos leer, escribir e incluso darle formato a cualquiera de estos dos siste-mas de ficheros, dándonos total compatibili-dad. La nueva versión del driver soporta la última versión del sistema operativo de Apple,Mac OS X TIGER y está licenciada bajo la GPL.

Entre las limitaciones que se encuentran con este software podemos destacar que si el driver encuentra algún error en una partición Ext2, éste no podrá montarla aunque ésta si esté disponible sobre cualquier sistema opera-tivo Linux. Otro error conocido con este driver es que no se deben re-formatear las particiones Ext2 o Ext3 ya que éstas tampoco podrán ser utilizadas dentro del sistema operativo OS X. Tampoco se recomienda que se renombren particiones de cualquiera de los sistemas de ficheros Linux utilizando el Finder de OS X. Fuera de estas limitaciones el software funcio-na de manera muy intuitiva y es muy sencillo de utilizar para compartir datos entre diferen-tes particiones del mismo sistema o para utili-zar discos de respaldo que estén utilizando el sistema de ficheros de Linux.

Compatibilidad a través de drivers (NTFS)Para lograr una compatibilidad total con el sis-tema de ficheros NTFS necesitamos también el uso de drivers para lograr que el sistema operativo Mac OS X pueda escribir sobre una partición NTFS. Para ello hay diferentes opcio-nes pero la más sencilla fue desarrollada por empleados de la compañía Google durante sus tiempos de ocio. Google permite a sus emplea-dos trabajar en proyectos individuales durante sus descansos, dándole un aire de libertad a la compañía. Tal es el caso de Amit Singh, em-pleado de Google que en su tiempo libre escri-bió el programa Macfuse, el cual hace posible utilizar en un ordenador con sistema operativo Mac OS X cualquier sistema de ficheros FUSE (File System in Userspace).

Entre estos sistemas de ficheros FUSE podemos destacar el NTFS-3G que permite

Figura 3. Panel Ext2 Manager en Preferencias de Sistema MAC OS X

Page 4: Sistemas de Ficheros EXT2, HFS+ y NTFS

54

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 55

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

la compatibilidad total con un sistema de fi-cheros NTFS tanto en lectura como escritura. Dicha implementación para FUSE tiene varias versiones, de las cuales las siguientes se pue-den destacar:

• http://www.ntfs-3g.org/• http://shadowofged.blogspot.com/2007/03/

ntfs-3g-for-mac-os-x.html

Con Macfuse, Figura 4, y el driver de NTFS-3G para Mac, podemos abrir libremente un dis-co externo NTFS y realizar cualquier tipo deoperación sobre él, tanto de lectura como es-critura. Este driver nos permite el acceso al sistema de ficheros NTFS, lo cual es una gran ventaja para cualquier sistema Dual Boot en Mac ya que podemos tener acceso a los fiche-ros que guardemos en la partición de NTFS y por otro lado tener compatibilidad total con la plataforma Windows de Microsoft, tanto en sus versiones NT, 2000, XP y Vista.

El sistema Macfuse también permite la incorporación de otros sistemas de ficheros al sistema HFS+ utilizado por los ordenadores Apple, entre los cuales destacan:

• BindFS• CryptoFS• NTFS-3G• FTPFS• SSHFS

NTFS (Windows) El sistema de ficheros NTFS (New Technology File System) introducido al mercado por la compañía Microsoft en 1993 vino a remplazar al sistema de ficheros FAT en sus nuevos y más robustos sistemas operativos. Todos los sistemas operativos que emergieron a partir de Windows NT utilizan este sistema de ficheros. Hay muchas mejoras que fueron introducidas con NTFS a los sistemas de ficheros Microsoft. Entre las principales encontramos que los siste-mas NTFS permiten el control de datos a través de permisos controlados por listas de acceso (ACL). También se incorporó al sistema de fi-cheros NTFS las ligas rígidas, la capacidad de tener múltiples flujos de datos, el uso de estruc-turas avanzadas de datos y la incorporación de metadatos junto a los ficheros. Finalmente, este nuevo sistema de ficheros incorporó técnicas utilizadas en los sistemas de ficheros UNIX y LINUX como el sistema de indexamiento de datos.

Existen cinco diferentes versiones de NTFS hoy en día. Las primeras tres versiones, 1.0 - 1.2 fueron desarrolladas exclusivamente para el uso de Windows NT. A partir de la

versión 3.0, podemos encontrar NTFS en sis-temas operativos mucho más modernos como Windows 2000. Mejoras a esta misma versión aparecieron con el título de NTFS v3.1, 4.0, 5.0 y 6.0, los cuales son el sistema de ficheros que actualmente promueve la compañía Microsoft en sus más modernos sistemas operativos como Windows XP, Windows 2003 Server y Windows Vista.

A diferencia de los demás sistemas opera-tivos, Windows en cualquiera de sus versiones utiliza una abstracción de datos basadas en letras para que los usuarios distingan los di-ferentes discos o particiones de sus sistemas de ficheros. Tal es el caso del directorio central del sistema operativo C:\WINDOWS\ el cual representa el directorio Windows en la partición primaria del disco. La letra C es la más común en este sistema de ficheros y es la que representa normalmente la partición cen-tral del medio y en la cual se carga el sistema operativo durante el arranque. La tradición de utilizar la letra C como identificador de disco viene desde los primeros sistemas de ficheros de la compañía y desde la aparición de su primer sistema operativo, MS-DOS, donde podíamos encontrar las letras A y B, repre-sentando discos floppy y la letra C represen-tando el disco rígido.

Compatibilidad a través de drivers (lectura y escritura Ext2, Ext3)Desgraciadamente la compañía Microsoft creó su sistema de ficheros y sistemas opera-tivos Windows con un concepto mínimo de compatibilidad. El sistema de ficheros NTFS es nativamente compatible sólo con los siste-mas de ficheros previos desarrollados por la compañía, tal es el caso de FAT y sus diferen-tes versiones. Para hacer que este sistema de ficheros pueda leer y escribir unidades que no utilicen su mismo sistema, necesitamos incor-porar al sistema operativo las herramientas necesarias para dicha tarea.

Para poder leer y escribir discos que utili-cen el sistema de ficheros Ext2 o Ext3 necesi-

tamos instalar un driver que nos proporcione acceso a estos sistemas. Para ello, la mejor op-ción es el driver proporcionado gratuitamente por:

• http://www.fs-driver.org/

Este driver permite la lectura, escritura y com-patibilidad total con los volúmenes utilizados por Linux, tanto en su versión Ext2 como la indexada Ext3. La única desventaja que se puede encontrar trabajando con este pro-grama es que no mantiene los derechos de ficheros, por lo cual cualquier usuario puede acceder a toda la información almacenada en el dispositivo, ya sea que tenga o no tenga privilegios de super usuario o root.

Para instalar el driver, simplemente hay que hacer doble clic en la aplicación y seguir las instrucciones como se ve en la Figura 5.

Una vez que termina el proceso de instalación, basta con ir al panel de control y darle doble clic al manejador IFS Drivers para poder configurar los dispositivos que deseamos acceder como se puede ver en la Figura 6.

Una vez que estén configurados los dis-positivos externos, éstos se pueden acceder normalmente como cualquier otra unidad en el sistema como muestra la Figura 7.

Compatibilidad a través de drivers (lectura y escritura HFS+)Para el lado de los ordenadores Mac, existen muy pocas opciones para poder leer su siste-ma de ficheros a través de los sistemas opera-tivos Windows con NTFS. Desgraciadamente la mayoría de las opciones son de pago pero hemos encontrado una muy buena opción pa-ra aquellas personas que quieran simplemente leer datos de unidades HFS+ tanto externas como internas y para aquellos aventureros que posean una Mac y estén utilizando el software Boot Camp, y deseen abrir su disco HFS+ dentro de Windows XP o Vista. Esta

Figura 4. Unidad NTFS usando Macfuse en MAC OS X

Page 5: Sistemas de Ficheros EXT2, HFS+ y NTFS

56

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 57

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

primera opción de únicamente lectura fue desarrollada por Erik Larsson con el nombre de HFSExplorer como se ve en la Figura 8. http://hem.bredband.net/catacombae/index2.html.

Esta aplicación es totalmente gratuita y uti-liza la plataforma de desarrollo de Java para te-ner una mayor compatibilidad y poder acceder a cualquier unidad HFS+ o particiones de la misma. Esta utilidad no sólo permite abrir uni-dades o particiones sino que también permite abrir los ficheros de instalación utilizados por el sistema operativo OS X, los ficheros dmg.

Entre los usos principales de esta aplica-ción destacan los siguientes:

• Usuarios de las Intel-Mac que usan Win-dows XP o Vista en otra partición con Boot Camp y desean compartir ficheros.

• Usuarios de Ipods con formato HFS+ quedesean usar el contenido de su reproduc-tor de música digital sin tener que vol-verle a dar formato bajo Windows y por ende perder el contenido.

• Usuarios de sistemas operativos emula-dos que desean trabajar con el contenido de sus imágenes.

• Usuarios que desean utilizar el contenido de discos de respaldo con formato HFS+ para mayor compatibilidad.

Por otro lado, esta aplicación no está limitada a los sistemas operativos Windows, debido a su implementación en Java. Los usuarios de Linux y OS X inclusive pueden utilizarla para manejar volúmenes HFS+ si lo desean, pero no es una opción viable debido a la falta de soporte para escritura que sí se puede tener en esos sistemas operativos directamente y que sólo se puede obtener bajo NTFS con ayuda de software propietario a un cierto costo.

Para el caso de desear una compatibili-dad total, lectura y escritura, tenemos que considerar varias alternativas. Existen las si-guientes opciones, todas ellas de pago pero con un servicio de soporte que puede resultar interesante:

• TransMac, Acute systems: permite lectu-ra y escritura a un costo de 64 dólares.

http://www.acutesystems.com/scrtm.htm,• Transfer Pro, Digital Inst. Technology:

permite lectura y escritura a un costo de 149 dólares.

http://www.dit.com/tproWindows.htm,• Macdrive, Media Four, permite lectura

y escritura a un costo de 49,95 dólares. http://www.mediafour.com/products/

macdrive/default.asp.

De las opciones anteriormente mencionadas, la más viable y recomendada es la de la com-pañía Media Four, Macdrive tanto en sus ver-siones 6.0 como 7.0. La instalación es a través de un instalador como se ve en la Figura 9 y su uso es relativamente sencillo.

Lo único que se necesita hacer es conectar el dispositivo externo, o simplemente si es uno interno, correr la aplicación y abrir la carpeta de MI PC. Allí se podrá ver inmedia-tamente reflejado el contenido de los disposi-tivos HFS+ indicado por los dispositivos que poseen una manzanita en su costado, como se ve en la Figura 10.

Lo demás es simplemente como cual-quier otra unidad en un ambiente Windows, copiar, pegar, recortar y leer ficheros, es total-mente transparente para el usuario y de gran confiabilidad.

Ext2 y Ext3 (Linux) El sistema de ficheros ext, del inglés Extended File System, es el primer sistema de ficheros na-tivo de Linux (que fue desarrollado específica-mente para Linux) y fue incorporado al núcleo de Linux desde enero de 1993. Es la primera versión de ext3 y fue el sistema de ficheros predeterminado para Linux por muchos años, mismo que todavía se encuentra en uso.

ext3El sistema de ficheros ext3, del inglés Third Extended File System, fue añadido al núcleo de Linux desde la versión 2.4.15 en noviembre de 2001 y es el mas comúnmente utilizado en Linux, aun cuando no es el único sistema de ficheros nativo de Linux que incluye caracterís-ticas de journaling (reiserfs también lo ofrece). Este tipo de sistemas de ficheros, comparados con ext2, mejora la capacidad de recuperación de fallas, ya que mantienen un fichero especial llamado un journal que es utilizado para reparar cualquier inconsistencia en el sistema de fiche-ros que ocurra como resultado de un apagado no limpio de el ordenador, como puede ser una falla en la energía eléctrica o en el software, sin necesidad de correr ninguna prueba de consistencia en el sistema de ficheros durante el reinicio después del apagado no limpio, ya que garantiza la consistencia interna. El tiem-po de recuperación de una falla depende di-rectamente del tamaño del journal que se uti-liza para mantener la consistencia. Con el ta-maño predeterminado, la recuperación se logra en aproximadamente un segundo. Con respectoa la velocidad, aún cuando se escriben algunos datos más de una vez, ext3 es más veloz que ext2 debido a que el journaling optimiza el movimiento de la cabeza del disco duro.

Figura 5. Instalación FS-Driver en Windows XP

Figura 6. Administrador FS-Driver en Windows XP

Page 6: Sistemas de Ficheros EXT2, HFS+ y NTFS

56

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 57

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

Page 7: Sistemas de Ficheros EXT2, HFS+ y NTFS

58

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 59

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

Existen 3 modos de journaling para mejorar la velocidad, que se explican a con-tinuación:

• data=writeback. Limita las garantías de integridad de datos, permitiendo que datos viejos estén presentes en los fi-cheros después de un fallo a cambio de un incremento potencial de velocidad bajo algunas circunstancias. Este modo nos brinda una garantía de integridad similar a la que nos ofrece ext2, con la única diferencia del incremento en la velocidad de recuperación en caso de una falla, ya que se omite el chequeo necesario al momento de reiniciar en ext2.

• data=ordered. Garantiza que los datos son consistentes con el sistema de ficheros. Ficheros que han sido recientemente escritos, nunca mostrarán basura en sus contenidos después de un fallo.

• data=journal. Requiere de un journal de mayor tamaño y por lo tanto, en general requiere de más tiempo para recuperarse de un apagado no limpio, sin embargo en ocasiones puede llegar a ser más rápi-do para algunas operaciones de bases de datos.

El modo recomendado en la mayoría de los casos, es data=ordered. Sin embargo, si se re-quiere cambiar de modo, solamente es nece-sario añadir la opción deseada en las opciones de montado para ese sistema de ficheros en el fichero /etc/fstab.

El sistema de ficheros ext3 puede ser montado como ext2 en cualquier momento sin necesidad de remover el journal, siempre

y cuando Linux tenga instalada una versión reciente de e2fsprogs.

ext2El sistema de ficheros ext2, del inglés Second Extended File System, es el predeterminado para versiones anteriores de Linux. Fue de-sarrollado como una versión mejorada del sistema de ficheros ext. Tiene las mismas características que ext3, con la única diferen-cia de que ext2 no provee las características de journaling. Cuando se trata de un disco duro pequeño (de unos cuantos Gigabytes), es recomendable utilizar ext2 en lugar de ext3 como sistema de ficheros, ya que la caracterís-tica de journaling requiere que se aparte una

porción del disco para el journal, sin embargo dicha característica es de utilidad limitada en sistemas de ficheros pequeños. La razón con-siste en que durante el reinicio después de un apagado no limpio, ext2 requiere que el pro-grama e2fsck corra una prueba de consisten-cia y repare cualquier inconsistencia antes de que el sistema de ficheros pueda ser mon-tado, lo cual demora unos cuantos minutos en el caso de sistemas de ficheros pequeños pero en el caso de sistemas de ficheros con varios Gigabytes puede llegar a demorar ho-ras. Dentro de los sistemas de ficheros nati-vos de Linux, ext2 es el más portátil, debido a que es en el que más se facilita transferir información desde y hacia otros sistemasde ficheros.

El comando mkfsPara crear un sistema de ficheros en una nue-va partición, utilizamos el comando mkfs. De manera predeterminada, este comando crea un sistema de ficheros ext2, que es uti-lizable por Linux. Sin embargo, en muchos casos se desea utilizar un sistema de fiche-ros de journaling, como ext3, para lo cual se utiliza la opción “-t ext3” de mkfs, se crea de manera predeterminada una partición ext3. No obstante, se puede utilizar posterior-mente el comando tune2fs para convertir un sistema de ficheros de ext2 a ext3 sin reformatear, así como también para cambiar la etiqueta del volumen y que tan frecuen-temente se verifica el sistema de ficheros, entre otros atributos. Es importante mencio-nar que cuando se utiliza tune2fs para cam-Figura 7. Unidad Linux Ext2 usando FS-Driver en Windows XP

Figura 8. Unidad HFS+ usando HFSExplorer en Windows XP

Page 8: Sistemas de Ficheros EXT2, HFS+ y NTFS

58

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 59

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

biar de ext2 a ext3 un sistema de ficheros, se debe actualizar /etc/fstab para indicar elcambio.

Ejemplo de creación de una partición ext3:

# mkfs -t ext3 /dev/hda1

Ejemplo de la creación de una partición ext2 y su subsecuente conversión a ext3:

# mkfs /dev/hda1w

# tune2fs -j /dev/hda1

Compatibilidad nativaPara el manejo de HFS y HFS+, anteriormen-te se utilizaban drivers tales como “Sopor-te HFS+ para Linux” de Brad Boyer y “DriverHFS+ para Linux” de Ardis Technologies. A partir de la versión 2.6.18 del núcleo de Linux ya existe soporte nativo para lectura y escritura de las particiones HFS y HFS+, aún cuando sigue sin ser posible escribir sobre una partición HFS+ con journaling (mismo que es fácilmente deshabilitado desde la aplicación diskutil o desde la línea de comandos con “diskutil disableJournal volumeName”, ambos dentro de OS X). Una de las utilidades más comunes de este soporte, es el poder utilizar un iPod en su sistema de ficheros original (HFS+) desdeLinux.

En el caso de las particiones NTFS, éstas pueden leerse nativamente por el núcleo de Linux desde su versión 2.2.0. A partir de la versión 2.6 dicho núcleo permite la sobre escritura de ficheros, mas no la creación de los mismos, ni el cambio

en el tamaño para todos los casos. El princi-pal problema que encontramos para poder manejar NTFS en sistemas operativos dis-tintos a Windows, es que la especificación de NTFS no es abierta, de forma que nunca se puede garantizar que la solución que se utilice será completamente compatible con las implementaciones presentes y futuras de Microsoft.

Compatibilidad a través de drivers (lectura y escritura NTFS)A continuación, veremos los paquetes de software independientes al núcleo de Linux que nos permiten realizar lectura y escritu-ra sobre una partición NTFS.

NtfsmountEs un driver para sistemas de ficheros de FUSE que permite montar volúmenes NT-FS. Es distinto del driver del núcleo de Li-nux en que reside en el espacio del usuario y por lo tanto, es un poco más lento, pero con muchas más características. Nos per-mite cambiar el tamaño de un fichero en todos los casos, crear ficheros y directorios en un 50% de los casos (en el caso de que no sea posible, será negada la creación; se pueden crear aproximadamente 10 ficheros por directorio), eliminar ficheros y directo-rios en un 90% de los casos (en el resto, será negada la eliminación). Se garantiza que en ningún caso se corromperá el sistema de ficheros NTFS cuando una operación sea negada.

Para utilizarlo, se requiere tener insta-lado tanto FUSE como ntfsprogs. Una vez cu-biertos estos requerimientos, se debe crear un directorio sobre el cual se montará el vo-lumen y posteriormente montar el mismo.

Ntfs-3gEs un driver estable, gratuito y de fuente abierta para la lectura y escritura de NTFS en Linux y otros sistemas operativos, con un manejo rápido y confiable de los datos. Con este driver es posible crear ficheros de cual-quier tamaño, modificarlos, renombrarlos, moverlos o borrarlos, con la única excep-ción de ficheros comprimidos o codificados. No obstante, aún es incapaz de modificar ACLs (del inglés Access Control Lists) y sus permisos. Este driver es de muy reciente creación (julio de 2006) y la primera versión estable del mismo (versión 1.0) fue liberada

Figura 9. Instalación Macdrive 6.0

Figura 10. Unidades HFS+ usando Macdrive en Windows XP

Page 9: Sistemas de Ficheros EXT2, HFS+ y NTFS

60

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 61

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

Figura 12. coLinux corriendo Knoppix sobre Windows

el 21 de febrero de 2007. Está basado en ntfs-mount, sin embargo ofrece creación y eli-minación de ficheros ilimitada. Además ofrece un aumento en la velocidad de opera-ción de 10 a 50 veces con respecto al software comercial de Paragon Software, NTFS forLinux.

Para poder instalarlo, se requiere tener una versión reciente de FUSE previamente instalada y correr la tradicional secuencia ./configure, make, y make install. Una vez ins-talado, el volumen NTFS puede ser mon-tado en modo de lectura y escritura de la siguiente forma: mount -t ntfs-3g /dev/hda1 /mnt/windows, reemplazando /dev/hda1 y /mnt/Windows por los valores correspondientes a la configuración de la máquina. Mediante el uso de la opción “locale” al momento de montar el volumen, nos permite visualizar los nombres de ficheros con caracteres dis-tintos a los del idioma inglés. El montado en este caso, se realizaría de la siguiente forma: mount -t ntfs-3g /dev/hda1 /mnt/windows -o locale=es_ES.utf8 para el caso es-

pecífico del español de España, substituyen-do es_ES.utf8 por el idioma y región desea-dos. Asimismo es posible hacer que los vo-lúmenes NTFS sean montados al arranque del ordenador en Linux, añadiendo la línea /dev/hda1 /mnt/windows ntfs-3g defaults 0 0 al final del fichero /etc/fstab.

En la siguiente imagen, obtenida de Flickr, perteneciente al usuario Richard Liu, podemos apreciar el resultado de utilizar la opción “locale” para poder visualizar nom-bres de ficheros en chino: Figura 11.

NTFS for Linux (Paragon Software)Es un driver propietario de la empresa ale-mana Paragon Software para la escritura de NTFS en Linux, que fue escrito desde cero. Su costo es de 29,95 dólares (aproximada-mente 22,39 euros) para su edición perso-nal, y de 149,95 dólares (aproximadamente 112,14 euros) para la profesional. La edición profesional ofrece, además de las capacida-des de la edición personal, utilidades para verificar la integridad, defragmentar, borrar el contenido y crear volúmenes, así como la capacidad de montar volúmenes dinámicos de Microsoft, entre otras. Después de la compra, el software puede ser descargado de la página de Internet del fabricante. Es importante mencionar que al utilizarlo para escritura, es posible que se produzcan erro-res en el volumen. Se rumorea en algunos sitios de Internet que este software deja errores en el volumen NTFS cuando se uti-liza el modo de lectura y escritura, sin em-bargo, no existe una referencia lo suficien-

temente documentada para sustentar dichainformación.

NTFS cautivoEs un driver para Linux de fuente abierta que utiliza a manera de “envoltura” el dri-ver ntfs.sys de Windows. La intención de utilizar el mismo driver que Windows utili-za para escribir sobre los volúmenes NTFS es la de proveer soporte a la escritura de manera completamente segura. Para emu-lar los subsistemas necesarios de Windows, utiliza ntoskrnl.exe, una parte original de ReactOS, o las re-implementaciones del mis-mo que se han realizado al interior de este proyecto, dependiendo del caso específico a tratar. La principal desventaja es que el driver ntfs.sys no es de libre distribución, por lo que solamente puede ser obtenido a partir de un sistema Windows instalado o del interior de algunos paquetes de servi-cios. Otra desventaja es la falta de veloci-dad, lo cual puede ser importante al momen-to de manejar ficheros de gran tamaño.

Linux cooperativoConsiste en correr Linux de forma casi nativa directamente bajo Windows (dentro de un pro-ceso del sistema) mediante coLinux, software que es gratuito y de fuente abierta. Se utilizaun driver especial en Windows que permite ejecutar coLinux en modo privilegiado. El esta-do de la máquina es cambiado constantemente entre el estado de Windows y el estado del nú-cleo de coLinux, de esta manera coLinux tiene

Figura 11. Visualización con ntfs-3g de nombres de ficheros con caractéres chinos

El Maestro Ivan Alejandro Escobar Broit-man, es profesor del departamento de Ciencias Computacionales del Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México. Estudió la carrera de Ingeniería en Sistemas Elec-trónicos y una Maestría en Ciencias Computacionales. Actualmente estudia elDoctorado en Ciencias Computacionales y es socio fundador de Quetzal Hosting. La Maestra Erika Vilches González estu-dió la carrera de Ingeniero en Sistemas Computacionales y una Maestría en Cien-cias Computacionales. Actualmente, estu-dia el Doctorado en Ciencias Computa-cionales en el ITESM Campus Estado de México. Es socia fundadora de Que-tzal Hosting y se encarga principalmente de la administración de servidores y el desarrollo de software a medida.

Sobre los autores

Page 10: Sistemas de Ficheros EXT2, HFS+ y NTFS

60

softwareCompatibilidad entre Sistemas de Ficheros

Linux+ 10/2007 61

softwareCompatibilidad entre Sistemas de Ficheros

www.lpmagazine.org

control completo de la MMU (del inglés, Me-mory Management Unit) dentro del espacio de direcciones que le ha asignado Windows, per-mitiéndole actuar casi como lo haría un núcleo nativo, con prácticamente el mismo desempeño

y funcionalidad que una distribución de Linux regular tendría si se corriese en la misma má-quina de modo nativo.

Para ser capaces de escribir NTFS desde coLinux, una vez que se ha instalado en la

máquina, se arranca y se monta el sistema de ficheros de Linux, posteriormente se inicia un servidor web bajo coLinux y se crea una página de Internet con ligas a los ficheros que desean transferirse a NTFS. Desde Win-dows, se bajarán los ficheros de la página creada. Si no se desea usar un servidor web, es posible arrancar un servidor SMB dentro del sistema coLinux. Este método no requie-re soporte NTFS para Linux y por lo tanto ga-rantiza no corromper la integridad de NTFS. La desventaja de este sistema, radica en que debe tenerse instalado Windows en la má-quina y correr coLinux desde ahí para poder escribir la partición NTFS.

En la siguiente imagen, tomada de la pá-gina de coLinux, podemos apreciar a coLi-nux corriendo un Knoppix edición japonesa, sobre Windows. En la imagen se aprecia un escritorio KDE, una ventana de Mozilla, una consola, Konqueror, y el manejador de tareas de Windows, mostrando el consumo de CPU del proceso de coLinux.

En esta otra imagen, obtenida de Flickr, perteneciente al usuario angraron, podemos apreciar una instalación de Debian, corrien-do sobre coLinux, en donde se están utili-zando Firefox y una consola.

Figura 13. coLinux corriendo Debian sobre Windows

P U B L I C I D A D