software Compatibilidad entre Sistemas de Ficheros
Sistemas de ficheros EXT2, HFS+ y NTFS Ivan A. Escobar Broitman y Erika Vilches González
linux@software.com.pl
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.
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 utilizan 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 integral 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
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 ficheros virtuales a través de protocolos de red como NFS, SMB, etc. La mayoría de los sistemas de ficheros usan a los dispositivos 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ógicamente en su ordenador.
En computación, un sistema de ficheros es un método para almacenar y organizar información en ordenadores. Este Primeros sistemas de ficheros método les permite acceder y manipular dicha información. No es ningún secreto que el sistema de ficheros dicta muUn sistema de ficheros puede utilizar complementariamente chas de las funciones fundamentales que puede realizar un
52
Linux+ 10/2007
software Compatibilidad entre Sistemas de Ficheros Sistemas Operativos Modernos
Figura 1. Instalación Driver Ext2 en Mac OS X 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 algunos 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 primordial 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 operativos existentes. Era un formato ideal para dispositivos externos, discos floppy, etc. El gran problema que tenía este sistema de ficheros era cuando se borraban ficheros para 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, soportaba ficheros de hasta 4GB. Estos sistemas eran muy simples pero poseían una gran ventaja implícita, su compatibilidad. Versiones posteriores de FAT se utilizan todavía en nuestros días como son FAT16 y FAT32. El último sigue siendo utilizado hasta hoy en día como el puente común para compartir ficheros entre diferentes sistemas operativos a través de discos externos y dispositivos USB. Por otro lado los sistemas operativos como Unix o Linux utilizaron sistemas de ficheros que les ofrecían mayores ventajas al sistema desarrollado por Microsoft, pero a su vez que les traía un gran problema, la compatibilidad.
Hoy en día es común que cualquiera de nosotros conozca o manipule más de un sistema operativo. La integración de éstos se ha ido fomentando al paso de los años y se ha llegado hasta 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 operativos, 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 ofrece un sistema Dual Boot es la necesidad de reparticionar el disco interno para poder abrir un lugar para el nuevo sistema operativo. Esta operación normalmente tiene su grado de cuidado debido a que si existen errores en el disco, éste puede llegar a corromperse y no solamente fallar en el proceso 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 sistema operativo 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 operativo Mac OS 8.1 en 1998. Los reproductores de vídeo y música digital, iPod, utilizan una variante de este sistema de ficheros HFS+, que a su vez se dio paso al nuevo sistema operativo de Apple, el Mac OS X. HFS+ es una versión mejorada del sistema de ficheros HFS. Esta versión soporta indexamiento de datos, cuotas, tamaños de ficheros mucho más grandes (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 caracteres. Manejo de memoria con bloques continuos 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 operativo robusto, eficiente y seguro que lo han hecho competir directamente con el líder en la industria, la compañía Microsoft.
Figura 2. Unidad de disco Ext2 abierta en MAC OS X
www.lpmagazine.org
53
software Compatibilidad entre Sistemas de Ficheros • •
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áticamente 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 preferencias de sistema de un ordenador Mac OS X a través del cual se puede controlar cualquier 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 sistemas de ficheros, dándonos total compatibilidad. 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.
Figura 3. Panel Ext2 Manager en Preferencias de Sistema MAC OS X
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 compatibilidad está dictada por el intercambio de informació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 compatibilidad limitada con el sistema de ficheros NTFS. Esta compatibilidad permite únicamente 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 sistema de ficheros NTFS nativamente, lo único que se debe hacer es conectar el dispositivo externo correspondiente al ordenador Macintosh, 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 diferentes 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
54
antecedente, la compañía Apple no incluyó soporte nativo hacia los sistemas de ficheros 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 ficheros utilizado por las diversas distribuciones de Linux. Para lograr la compatibilidad necesitaremos instalar en nuestro ordenador Apple un driver que permita a nuestro sistema operativo ver los sistemas de ficheros Linux, en específico Ext2 y Ext3. Hay varias opciones en la web que podemos utilizar, pero la única que funciona directamente, es la conocida 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:
Linux+ 10/2007
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 operativo 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 funciona de manera muy intuitiva y es muy sencillo de utilizar para compartir datos entre diferentes particiones del mismo sistema o para utilizar 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 sistema 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 opciones pero la más sencilla fue desarrollada por empleados de la compañía Google durante sus tiempos de ocio. Google permite a sus empleados trabajar en proyectos individuales durante sus descansos, dándole un aire de libertad a la compañía. Tal es el caso de Amit Singh, empleado de Google que en su tiempo libre escribió 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
software Compatibilidad entre Sistemas de Ficheros la compatibilidad total con un sistema de ficheros NTFS tanto en lectura como escritura. Dicha implementación para FUSE tiene varias versiones, de las cuales las siguientes se pueden 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 disco externo NTFS y realizar cualquier tipo de operación sobre él, tanto de lectura como escritura. 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 ficheros 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)
versión 3.0, podemos encontrar NTFS en sistemas 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 operativos, Windows en cualquiera de sus versiones utiliza una abstracción de datos basadas en letras para que los usuarios distingan los diferentes 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 central del medio y en la cual se carga el sistema
tamos instalar un driver que nos proporcione acceso a estos sistemas. Para ello, la mejor opción es el driver proporcionado gratuitamente por:
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, representando discos floppy y la letra C representando el disco rígido.
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 dispositivos 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 Ext2, Ext3) Desgraciadamente la compañía Microsoft creó su sistema de ficheros y sistemas operativos Windows con un concepto mínimo de compatibilidad. El sistema de ficheros NTFS es nativamente compatible sólo con los sistemas de ficheros previos desarrollados por la compañía, tal es el caso de FAT y sus diferentes versiones. Para hacer que este sistema de ficheros pueda leer y escribir unidades que no utilicen su mismo sistema, necesitamos incorporar al sistema operativo las herramientas necesarias para dicha tarea. Para poder leer y escribir discos que utilicen el sistema de ficheros Ext2 o Ext3 necesi-
•
http://www.fs-driver.org/
Este driver permite la lectura, escritura y compatibilidad 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 programa 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
Compatibilidad a través de drivers (lectura y escritura HFS+)
El sistema de ficheros NTFS (New Technology Para el lado de los ordenadores Mac, existen File System) introducido al mercado por la muy pocas opciones para poder leer su sistecompañía Microsoft en 1993 vino a remplazar ma de ficheros a través de los sistemas operaal sistema de ficheros FAT en sus nuevos y tivos Windows con NTFS. Desgraciadamente más robustos sistemas operativos. Todos los la mayoría de las opciones son de pago pero sistemas operativos que emergieron a partir de hemos encontrado una muy buena opción paWindows NT utilizan este sistema de ficheros. ra aquellas personas que quieran simplemente Hay muchas mejoras que fueron introducidas leer datos de unidades HFS+ tanto externas con NTFS a los sistemas de ficheros Microsoft. como internas y para aquellos aventureros Entre las principales encontramos que los sisteque posean una Mac y estén utilizando el mas NTFS permiten el control de datos a través software Boot Camp, y deseen abrir su disco de permisos controlados por listas de acceso HFS+ dentro de Windows XP o Vista. Esta (ACL). También se incorporó al sistema de ficheros NTFS las ligas rígidas, la capacidad de tener múltiples flujos de datos, el uso de estructuras 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 Figura 4. Unidad NTFS usando Macfuse en MAC OS X
www.lpmagazine.org
55
software Compatibilidad entre Sistemas de Ficheros De las opciones anteriormente mencionadas, la más viable y recomendada es la de la compañía Media Four, Macdrive tanto en sus versiones 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 inmediatamente reflejado el contenido de los dispositivos 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 cualquier otra unidad en un ambiente Windows, copiar, pegar, recortar y leer ficheros, es totalmente transparente para el usuario y de gran confiabilidad.
Ext2 y Ext3 (Linux)
Figura 5. Instalación FS-Driver en Windows XP 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 utiliza la plataforma de desarrollo de Java para tener una mayor compatibilidad y poder acceder a cualquier unidad HFS+ o particiones de la misma. Esta utilidad no sólo permite abrir unidades 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 aplicación destacan los siguientes: •
•
•
•
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 compatibilidad total, lectura y escritura, tenemos que considerar varias alternativas. Existen las siguientes opciones, todas ellas de pago pero Usuarios de las Intel-Mac que usan Win- con un servicio de soporte que puede resultar dows XP o Vista en otra partición con interesante: Boot Camp y desean compartir ficheros. Usuarios de Ipods con formato HFS+ que • TransMac, Acute systems: permite lectudesean usar el contenido de su reproducra y escritura a un costo de 64 dólares. tor de música digital sin tener que volhttp://www.acutesystems.com/scrtm.htm, verle a dar formato bajo Windows y por • Transfer Pro, Digital Inst. Technology: ende perder el contenido. permite lectura y escritura a un costo de Usuarios de sistemas operativos emula149 dólares. dos que desean trabajar con el contenido http://www.dit.com/tproWindows.htm, de sus imágenes. • Macdrive, Media Four, permite lectura Usuarios que desean utilizar el contenido y escritura a un costo de 49,95 dólares. de discos de respaldo con formato HFS+ http://www.mediafour.com/products/ para mayor compatibilidad. macdrive/default.asp.
Figura 6. Administrador FS-Driver en Windows XP
56
Linux+ 10/2007
El sistema de ficheros ext, del inglés Extended File System, es el primer sistema de ficheros nativo de Linux (que fue desarrollado específicamente 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.
ext3 El 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ísticas 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 ficheros 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 tiempo de recuperación de una falla depende directamente del tamaño del journal que se utiliza para mantener la consistencia. Con el tamaño predeterminado, la recuperación se logra en aproximadamente un segundo. Con respecto a 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.
software Compatibilidad entre Sistemas de Ficheros
www.lpmagazine.org
57
software Compatibilidad entre Sistemas de Ficheros Existen 3 modos de journaling para mejorar la velocidad, que se explican a continuación: •
•
•
data=writeback. Limita las garantías de integridad de datos, permitiendo que datos viejos estén presentes en los ficheros 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ápido para algunas operaciones de bases de datos.
El modo recomendado en la mayoría de los casos, es data=ordered. Sin embargo, si se requiere cambiar de modo, solamente es necesario 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
Figura 8. Unidad HFS+ usando HFSExplorer en Windows XP
y cuando Linux tenga instalada una versión porción del disco para el journal, sin embargo reciente de e2fsprogs. dicha característica es de utilidad limitada en sistemas de ficheros pequeños. La razón conext2 siste en que durante el reinicio después de un El sistema de ficheros ext2, del inglés Second apagado no limpio, ext2 requiere que el proExtended File System, es el predeterminado grama e2fsck corra una prueba de consistenpara versiones anteriores de Linux. Fue de- cia y repare cualquier inconsistencia antes sarrollado como una versión mejorada del de que el sistema de ficheros pueda ser monsistema de ficheros ext. Tiene las mismas tado, lo cual demora unos cuantos minutos características que ext3, con la única diferen- en el caso de sistemas de ficheros pequeños cia de que ext2 no provee las características pero en el caso de sistemas de ficheros con de journaling. Cuando se trata de un disco varios Gigabytes puede llegar a demorar hoduro pequeño (de unos cuantos Gigabytes), ras. Dentro de los sistemas de ficheros naties recomendable utilizar ext2 en lugar de ext3 vos de Linux, ext2 es el más portátil, debido como sistema de ficheros, ya que la caracterís- a que es en el que más se facilita transferir tica de journaling requiere que se aparte una información desde y hacia otros sistemas de ficheros.
El comando mkfs Para crear un sistema de ficheros en una nueva partición, utilizamos el comando mkfs. De manera predeterminada, este comando crea un sistema de ficheros ext2, que es utilizable por Linux. Sin embargo, en muchos casos se desea utilizar un sistema de ficheros 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 posteriormente 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 frecuentemente se verifica el sistema de ficheros, entre otros atributos. Es importante mencionar que cuando se utiliza tune2fs para cam-
Figura 7. Unidad Linux Ext2 usando FS-Driver en Windows XP
58
Linux+ 10/2007
software Compatibilidad entre Sistemas de Ficheros Ntfsmount Es un driver para sistemas de ficheros de FUSE que permite montar volúmenes NTFS. Es distinto del driver del núcleo de Linux 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 permite 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 directorios 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 instalado tanto FUSE como ntfsprogs. Una vez cubiertos estos requerimientos, se debe crear
Figura 9. Instalación Macdrive 6.0 biar de ext2 a ext3 un sistema de ficheros, se debe actualizar /etc/fstab para indicar el cambio. Ejemplo de creación de una partición ext3:
en el tamaño para todos los casos. El principal problema que encontramos para poder manejar NTFS en sistemas operativos distintos a Windows, es que la especificación de NTFS no es abierta, de forma que nunca # mkfs -t ext3 /dev/hda1 se puede garantizar que la solución que se utilice será completamente compatible con Ejemplo de la creación de una partición ext2 las implementaciones presentes y futuras y su subsecuente conversión a ext3: de Microsoft.
un directorio sobre el cual se montará el volumen y posteriormente montar el mismo.
Ntfs-3g
Es 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 cualquier tamaño, modificarlos, renombrarlos, moverlos o borrarlos, con la única excep# mkfs /dev/hda1w Compatibilidad a través de drivers ción de ficheros comprimidos o codificados. # tune2fs -j /dev/hda1 (lectura y escritura NTFS) No obstante, aún es incapaz de modificar A continuación, veremos los paquetes de ACLs (del inglés Access Control Lists) y sus Compatibilidad nativa software independientes al núcleo de Linux permisos. Este driver es de muy reciente Para el manejo de HFS y HFS+, anteriormen- que nos permiten realizar lectura y escritu- creación (julio de 2006) y la primera versión te se utilizaban drivers tales como “Sopor- ra sobre una partición NTFS. estable del mismo (versión 1.0) fue liberada te HFS+ para Linux” de Brad Boyer y “Driver HFS+ 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+) desde Linux. 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 Figura 10. Unidades HFS+ usando Macdrive en Windows XP
www.lpmagazine.org
59
software Compatibilidad entre Sistemas de Ficheros pecífico del español de España, substituyendo es_ES.utf8 por el idioma y región deseados. Asimismo es posible hacer que los volú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
temente documentada para sustentar dicha información.
final del fichero /etc/fstab. En la siguiente imagen, obtenida de Flickr, perteneciente al usuario Richard Liu, podemos apreciar el resultado de utilizar la
ver ntfs.sys de Windows. La intención de utilizar el mismo driver que Windows utiliza para escribir sobre los volúmenes NTFS es la de proveer soporte a la escritura de
NTFS cautivo Es un driver para Linux de fuente abierta que utiliza a manera de “envoltura” el dri-
opción “locale” para poder visualizar nom- manera completamente segura. Para emubres de ficheros en chino: Figura 11. lar los subsistemas necesarios de Windows, utiliza ntoskrnl.exe, una parte original de el 21 de febrero de 2007. Está basado en ntfs- NTFS for Linux ReactOS, o las re-implementaciones del misFigura 11. Visualización con ntfs-3g de nombres de ficheros con caractéres chinos
mount, sin embargo ofrece creación y eliminación de ficheros ilimitada. Además ofrece un aumento en la velocidad de operación de 10 a 50 veces con respecto al software comercial de Paragon Software, NTFS for Linux. 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 instalado, el volumen NTFS puede ser montado 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 distintos 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-
(Paragon Software)
Es un driver propietario de la empresa alemana Paragon Software para la escritura de NTFS en Linux, que fue escrito desde cero. Su costo es de 29,95 dólares (aproximadamente 22,39 euros) para su edición personal, y de 149,95 dólares (aproximadamente 112,14 euros) para la profesional. La edición profesional ofrece, además de las capacidades 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 errores en el volumen. Se rumorea en algunos sitios de Internet que este software deja errores en el volumen NTFS cuando se utiliza el modo de lectura y escritura, sin embargo, no existe una referencia lo suficien-
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 servicios. Otra desventaja es la falta de velocidad, lo cual puede ser importante al momento de manejar ficheros de gran tamaño.
Linux cooperativo Consiste en correr Linux de forma casi nativa directamente bajo Windows (dentro de un proceso del sistema) mediante coLinux, software que es gratuito y de fuente abierta. Se utiliza un driver especial en Windows que permite ejecutar coLinux en modo privilegiado. El estado 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
Sobre los autores El Maestro Ivan Alejandro Escobar Broitman, 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 Electrónicos y una Maestría en Ciencias Computacionales. Actualmente estudia el Doctorado en Ciencias Computacionales y es socio fundador de Quetzal Hosting. La Maestra Erika Vilches González estudió la carrera de Ingeniero en Sistemas Computacionales y una Maestría en Ciencias Computacionales. Actualmente, estudia el Doctorado en Ciencias Computacionales en el ITESM Campus Estado de México. Es socia fundadora de Quetzal Hosting y se encarga principalmente de la administración de servidores y el desarrollo de software a medida.
Figura 12. coLinux corriendo Knoppix sobre Windows
60
Linux+ 10/2007
software Compatibilidad entre Sistemas de Ficheros 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 Windows, 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 requiere soporte NTFS para Linux y por lo tanto garantiza 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 coLinux 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 Figura 13. coLinux corriendo Debian sobre Windows control completo de la MMU (del inglés, Memory Management Unit) dentro del espacio de direcciones que le ha asignado Windows, permitiéndole actuar casi como lo haría un núcleo nativo, con prácticamente el mismo desempeño P
U
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 B
L
I
C
www.lpmagazine.org
I
D
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, corriendo sobre coLinux, en donde se están utilizando Firefox y una consola. A
D
61