Linux cuenta con varios controladores de sistema de archivos para el formato de sistema de archivos FAT ( Tabla de Asignación de Archivos ). Estos se conocen comúnmente por los nombres utilizados en el mountcomando para invocar controladores específicos en el kernel: msdos , vfat y umsdos . [ 1 ] [ 2 ]
Historia y apoyo
La mayoría de las principales distribuciones de Linux, incluidas RedHat, SuSE y Debian, no utilizan umsdos para permitir la instalación de Linux en un volumen de disco FAT. Sin embargo, algunas distribuciones sí lo hacen. [ 3 ] Estas incluyen distribuciones como Phat Linux, que se instala C:\PHATen DOS descomprimiendo un archivo ZIP y se inicia ejecutando un script COMMAND.COMLINUX.BAT llamado , [ 4 ] y ZipSlack .
El proyecto UMSDOS fue iniciado en 1992 por Jacques Gelinas y se puso a disposición en la red en enero de 1994 como un parche. Se incluyó en la distribución estándar a partir del kernel 1.1.36. UMSDOS se eliminó del kernel Linux 2.6.11 por falta de mantenimiento. [ 5 ] UVFAT, una extensión de UMSDOS para usar las estructuras de datos de Windows para nombres de archivo largos en lugar de las suyas, se descontinuó antes de su lanzamiento. [ 6 ] Deberían funcionar en los kernels 2.4.x.
Las distribuciones de Linux anteriores que usaban UMSDOS son MuLinux , [ 7 ] Monkey Linux [ 8 ] y Winlinux 2000. [ 9 ]
Comparación de características
Todos los controladores del sistema de archivos de Linux admiten los tres tipos de FAT: FAT12 , FAT16 y FAT32 . La diferencia radica en la compatibilidad con nombres de archivo largos , más allá de la estructura de nombres de archivo 8.3 del formato de sistema de archivos FAT original, y en la compatibilidad con la semántica de archivos de Unix, que no está presente de forma estándar en el formato de sistema de archivos FAT, como los permisos de archivo . [ 1 ] Los controladores del sistema de archivos son mutuamente excluyentes. Solo uno puede utilizarse para montar un volumen de disco determinado en un momento dado. Por lo tanto, la elección entre ellos depende de la compatibilidad con nombres de archivo largos y la semántica de Unix que admiten, así como del uso que se quiera dar al volumen de disco. [ 10 ]
MS-DOS
El controlador del sistema de archivos msdos no proporciona semántica de archivos Unix adicional ni compatibilidad con nombres de archivo largos. Si se monta un sistema de archivos de disco FAT utilizando este controlador, solo serán visibles los nombres de archivo 8.3, no se podrá acceder a nombres de archivo largos ni se mantendrá ninguna estructura de datos de nombres de archivo largos de ningún tipo en el volumen del disco. El controlador del sistema de archivos vfat proporciona compatibilidad con nombres de archivo largos utilizando las mismas estructuras de datos de disco que Microsoft Windows utiliza para la compatibilidad con nombres de archivo largos VFAT en volúmenes con formato FAT, pero no admite semántica de archivos Unix adicional. El controlador del sistema de archivos umsdos proporciona compatibilidad con nombres de archivo largos y semántica de archivos Unix adicional. Sin embargo, lo hace utilizando estructuras de datos en disco que no son reconocidas por ningún controlador de sistema de archivos para ningún sistema operativo que no sea Linux. [ 1 ] [ 2 ] [ 10 ] [ 11 ]
umsdos
La principal ventaja de umsdos entre los tres es que proporciona semántica de archivos Unix completa. Por lo tanto, puede utilizarse en situaciones donde se desea instalar y ejecutar Linux desde un volumen de disco FAT, lo que requiere que dicha semántica esté disponible. Sin embargo, Linux instalado y ejecutándose desde un volumen de disco de este tipo es más lento que Linux instalado y ejecutándose desde un volumen de disco formateado, por ejemplo, con el sistema de archivos ext2 . [ 1 ] [ 12 ] Además, a menos que se ejecute un programa de utilidad cada vez que se cambie de Windows a Linux, ciertos cambios realizados en archivos y directorios del disco por Windows provocarán mensajes de error sobre archivos inaccesibles en Linux. [ 4 ]
grasa
vfat , aunque carece de la semántica completa de archivos de Unix y de la capacidad de tener Linux instalado y ejecutándose desde un volumen de disco FAT, no presenta las desventajas mencionadas de umsdos cuando se trata de simplemente compartir datos en un volumen de disco FAT entre Linux y otros sistemas operativos como Windows. Sus estructuras de datos son las mismas que las utilizadas por Windows para los nombres de archivo largos de VFAT, y no requiere ejecutar una utilidad de sincronización para evitar que las estructuras de datos de Windows y Linux se desvinculen. Por esta razón, es el controlador de sistema de archivos FAT de Linux más apropiado para usar en la mayoría de las situaciones. [ 1 ] [ 10 ] [ 4 ]
Puntos en común
Como se mencionó anteriormente, todos los controladores del sistema de archivos de Linux admiten los tres tamaños de tabla de asignación de archivos: 12 bits, 16 bits y 32 bits. Otras características comunes que todos admiten son varias opciones de montaje de Linux (especificadas con la -oopción del mountcomando): [ 10 ] [ 3 ]
uidygid- Estas dos opciones le indican al controlador del sistema de archivos que establezca el ID de usuario propietario (por defecto, en el caso de umsdos
/etc/passwd) y el ID de grupo como un único valor especificado para todos los archivos del volumen. Ambos ID se especifican como valores numéricos (tal como se encuentran en el archivo). Por lo tanto, por ejemplo, para especificar al controlador del sistema de archivos vfat que todos los archivos y directorios deben tener el ID de propietario 745 y el ID de grupo 15, elmountcomando se invocaría comomount -t vfat -o uid=745,gid=15. [ 10 ] [ 3 ] Los controladores del sistema de archivos de Linux actualmente no incorporan soporte para contraseñas de archivos/directorios en volúmenes FAT12/FAT16/FAT32 y permisos de acceso multiusuario /grupo/propietario para derechos de lectura/escritura/eliminación/ejecución en volúmenes FAT12/FAT16 como se implementa en varios sistemas operativos de la familia Digital Research, incluidos DR-DOS , PalmDOS , Novell DOS , OpenDOS , FlexOS , Concurrent DOS , Multiuser DOS , System Manager y REAL/32 . umask- Esta opción establece que el umask se aplique globalmente a todos los archivos del volumen. Por ejemplo, para especificar al controlador del sistema de archivos vfat que no se permita ningún acceso de "grupo" u "otro", el
mountcomando se invocaría comomount -t vfat -o umask=077. [ 10 ] [ 3 ] conv- Esta opción especifica la semántica de conversión del contenido del archivo . Los controladores del sistema de archivos pueden convertir las convenciones de salto de línea en los archivos, entre terminación LF y CRLF, sobre la marcha a medida que se leen y escriben los archivos. Por defecto, esta conversión está completamente deshabilitada. Los controladores del sistema de archivos pueden realizar la conversión para algunos archivos, intentando detectar automáticamente qué archivos convertir basándose en la extensión del nombre del archivo, o globalmente para todos los archivos. Estos tres niveles de conversión se especifican como
conv=b(para "binario"),conv=a(para "autodetección") yconv=t(para "texto"), respectivamente. Las dos últimas opciones conllevan un riesgo inherente de corromper los datos de archivos que no son de texto. Por defecto, no se realiza ninguna conversión. [ 10 ] [ 3 ]
umsdos
Estructura de datos
El controlador del sistema de archivos FAT umsdos almacena toda la información adicional relacionada con la semántica de archivos de Unix en lo que, para otro controlador de sistema de archivos FAT, parece ser simplemente un archivo normal en cada directorio y subdirectorio, llamado --LINUX-.---. [ 1 ] [ 10 ] [ 4 ] [ 3 ] [ 13 ]
En ausencia de este archivo en cualquier directorio dado, y por lo tanto por defecto, el controlador del sistema de archivos umsdos proporciona la misma semántica que el controlador del sistema de archivos msdos para el directorio: solo nombres de archivo 8.3 y ninguna semántica de archivo Unix adicional. Para habilitar las capacidades adicionales del controlador umsdos , es necesario crear ese archivo en el directorio y sincronizar sus datos internos con los datos FAT normales para cualquier entrada existente que ya esté en el directorio. Esto se hace con una herramienta llamada umssync. [ 1 ] [ 10 ] [ 4 ]
Este es el programa de utilidad que se ejecuta en todos los directorios del volumen del disco cada vez que se cambia de Windows a Linux, para que el controlador del sistema de archivos umsdos incorpore los cambios realizados por Windows en los archivos y directorios a sus estructuras de datos privadas --LINUX-.---. Por defecto, la umssyncherramienta crea --LINUX-.---archivos en los directorios si no existen, lo que resulta en un archivo de este tipo en cada directorio del volumen del disco. Al cambiar entre Windows y Linux, este comportamiento no suele ser deseable. Por lo tanto, el modo de funcionamiento normal al ejecutarlo umssyncdespués de cambiar de Windows a Linux (lo que normalmente se hace ejecutando la herramienta al arrancar Linux desde un script de inicio) es emplear la -copción del comando, que impide la creación de nuevos --LINUX-.---archivos en directorios que no los poseen. [ 1 ] [ 10 ] [ 4 ]
Instalación de Linux en FAT
Como se mencionó, umsdos permite instalar Linux en un volumen de disco con formato FAT, y luego arrancarlo y ejecutarlo desde allí. La ventaja de esto es que permite usar Linux en una computadora donde DOS ya está instalado, sin necesidad de reparticionar el disco duro . En este caso, Linux no se arranca directamente desde un Registro de Arranque de Volumen (VBR) . En cambio, primero se arranca DOS, y luego se usa loadlin o linld para arrancar Linux desde DOS. [ 4 ]
La convención para dicha instalación es que el directorio raíz de Linux sea un subdirectorio del directorio raíz del volumen de arranque de DOS , por ejemplo C:\LINUX, . Los distintos directorios de nivel superior de Linux son, por lo tanto, para DOS, directorios como C:\LINUX\ETC(para /etc), C:\LINUX\BIN(para /bin), C:\LINUX\LIB(para /lib), etc. El controlador del sistema de archivos umsdos antepone automáticamente C:\LINUX\a todas las rutas. La ubicación del directorio raíz de Linux se proporciona al controlador del sistema de archivos umsdos en primer lugar mediante una opción del loadlincomando. Así, por ejemplo, loadlinse invocaría con una línea de comandos como loadlin c:\linux\boot\vmlinuz rw root=c:\linux. [ 4 ] [ 13 ]
La instalación de Linux en un directorio de este tipo implica, en primer lugar, simplemente descomprimir los archivos de un archivo comprimido en ese directorio y sus subdirectorios. Esta instalación generalmente también requiere el uso de un archivo de intercambio en lugar de una partición de intercambio para Linux; sin embargo, esto se debe al deseo de no reparticionar el disco duro y no está relacionado con el controlador del sistema de archivos umsdos en sí. [ 4 ]
Acceso a volúmenes con formato FAT sin soporte del kernel
Aunque los controladores del sistema de archivos en el kernel permiten acceder a archivos y directorios en volúmenes formateados FAT de forma normal, también es posible hacerlo sin el soporte de controladores del kernel, utilizando los programas de utilidad que conforman el conjunto de utilidades mtools . Al igual que el controlador del sistema de archivos FAT vfat , mountlo ofrece soporte para nombres de archivo largos utilizando las mismas estructuras de datos de disco que utiliza Microsoft Windows. [ 3 ] [ 14 ] [ 15 ]
Alternativamente, se puede utilizar uno de los controladores del sistema de archivos FUSE : FatFuse, FuseFat o mountlo . [ 16 ]
Sistema de archivos superpuesto POSIX
Un equivalente moderno de UMSDOS es el sistema de archivos superpuesto POSIX ( posixovl ). Funciona en FUSE. [ 17 ]
Véase también
- DMSDOS (Volúmenes FAT comprimidos compatibles con DoubleSpace/DriveSpace/Stacker para Linux)
- Diseño del sistema de archivos FAT
Referencias
- 1 2 3 4 5 6 7 8 Stanfield, Vicki; Smith, Roderick W. (2002). Administración de sistemas Linux . Biblioteca Linux de Craig Hunt (2.ª ed.). John Wiley and Sons . pág. 166. ISBN 978-0-7821-4138-2.
- 1 2 Ward, Brian (2004). Cómo funciona Linux: lo que todo superusuario debería saber . Serie No Starch Press. No Starch Press . pág. 41. ISBN 978-1-59327-035-3.
- 1 2 3 4 5 6 7 Smith, Roderick W. (2000). Manual de configuración de arranque múltiple . Serie de manuales. Que Publishing . págs. 256, 341–342 . ISBN 978-0-7897-2283-6.
- 1 2 3 4 5 6 7 8 9 McCune, Mike (2001). Integración de Linux y Windows . Serie de tecnología de código abierto. Prentice Hall PTR . págs. 7–9 . ISBN 978-0-13-030670-8.
- ↑ "Resumen de los cambios de la versión 2.6.10 a la versión 2.6.11" . www.kernel.org . Consultado el 15 de noviembre de 2017 .
- ↑ "Sistema de archivos UMSDOS: compatibilidad con UVFAT" . linux.voyager.hr . Consultado el 16 de julio de 2015 .
- ↑ Proyecto MuLinux
- ↑ Explicación de Monkey Linux
- ↑ La combinación Linux/Windows: Utilice estos recursos para que funcione [ enlace eliminado ]
- 1 2 3 4 5 6 7 8 9 10 Roderick W. Smith (2005). Linux en un mundo Windows . O'Reilly Media, Inc. pág. 449. ISBN 0-596-00758-2.
- ↑ Negus, Christopher (2007). Linux bible: arranque en Ubuntu, Fedora, KNOPPIX, Debian, SUSE y otras 11 distribuciones . Serie Bible. John Wiley and Sons . 159 págs . ISBN 978-0-470-08279-9.
- ↑ Strobel, Stefan; Elling, Volker (1997). Linux, liberando la estación de trabajo en tu PC . The Complete Linux Kit, Rainer Maurer (3.ª ed.). Springer. pág. 43. ISBN 978-0-387-94880-5.
- 1 2 Danesh, Arman (2002). Cómo hacer que Linux funcione: consejos y técnicas esenciales . Serie 1001 consejos. Cengage Learning. pp . 19. ISBN 978-1-884133-78-7.
- ↑ Rajagopal, Raj (2000). Redes multi-sistema operativo: convivencia con Unix, Netware y NT . Serie de mejores prácticas de Auerbach. CRC Press . págs. 25-21 . ISBN 978-0-8493-9831-5.
- ↑ Welsh, Matt (2003). Running Linux . Essential Guide to Linux (4.ª ed.). O'Reilly Media, Inc. p. 405. ISBN 978-0-596-00272-5.
- ↑ "FUSE: Sistemas de archivos no nativos" . Archivado del original el 15 de septiembre de 2015.
- ↑ "Sistema de archivos superpuesto POSIX" .
Lecturas adicionales
- Gelinas, Jacques (2001-12-01). "UMSDOS HOW-TO" . 1.2. Proyecto de Documentación de Linux .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - Página del desarrollador de UMSDOS
- Nuevo parche para Linux podría eludir las patentes FAT de Microsoft, por Ryan Paul.
- Sistemas de archivos de disco
- Sistemas de archivos compatibles con el kernel de Linux
- Sistemas de archivos gratuitos de propósito especial