Linux tiene varios controladores de sistema de archivos para el formato del sistema de archivos Tabla de asignación de archivos (FAT). Estos se conocen comúnmente por los nombres utilizados en el mount
comando para invocar controladores particulares en el kernel: msdos , vfat y umsdos . [1] [2]
La mayoría de las principales distribuciones de Linux, incluidas RedHat, SuSE y Debian, no emplean 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 en C:\PHAT
DOS descomprimiendo un archivo ZIP y se inicia ejecutando un script COMMAND.COMLINUX.BAT
llamado , [4] y ZipSlack [ cita necesaria ] .
El proyecto UMSDOS fue iniciado en 1992 por Jacques Gelinas y estuvo disponible 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. [ cita necesaria ] UMSDOS se eliminó del kernel de Linux 2.6.11 por falta de mantenimiento. [5] UVFAT, una extensión de UMSDOS para utilizar las estructuras de datos de Windows para nombres de archivos largos en lugar del suyo propio, se suspendió antes de su lanzamiento. [6] Deberían funcionar en kernels 2.4.x. [ cita necesaria ]
Las distribuciones de Linux anteriores que utilizaban UMSDOS son MuLinux , [7] Monkey Linux [8] y Winlinux 2000. [9]
Todos los controladores del sistema de archivos de Linux admiten los tres tipos de FAT, a saber, FAT12 , FAT16 y FAT32 . Donde difieren es en la provisión de soporte para nombres de archivos largos , más allá de la estructura de nombres de archivos 8.3 del formato del sistema de archivos FAT original, y en la provisión de semántica de archivos Unix que no existe como estándar en el formato del sistema de archivos FAT, como los permisos de archivos . [1] Los controladores del sistema de archivos son mutuamente excluyentes. Solo se puede utilizar uno para montar un volumen de disco determinado en un momento dado. Por lo tanto, la elección entre ellos está determinada por los nombres de archivo largos y la semántica de Unix que admiten y el uso que se quiere hacer del volumen del disco. [10]
El controlador del sistema de archivos msdos no proporciona semántica de archivos Unix adicional ni admite nombres de archivos largos. Si se monta un sistema de archivos de disco FAT usando este controlador, solo los nombres de archivos 8.3 serán visibles, no se podrá acceder a nombres de archivos largos ni se mantendrá ninguna estructura de datos de nombres de archivos largos de ningún tipo en el volumen del disco. El controlador del sistema de archivos vfat proporciona compatibilidad con nombres de archivos largos utilizando las mismas estructuras de datos de disco que utiliza Microsoft Windows para la compatibilidad con nombres de archivos largos VFAT en volúmenes de formato FAT, pero no admite ninguna semántica de archivos Unix adicional. El controlador del sistema de archivos umsdos proporciona soporte para nombres de archivos largos y semántica de archivos Unix adicional. Sin embargo, lo hace utilizando estructuras de datos en el 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]
La principal ventaja de umsdos de los tres es que proporciona una semántica completa de archivos Unix. Por lo tanto, se puede utilizar en situaciones en las que es deseable instalar Linux y ejecutarlo desde un volumen de disco FAT, lo que requiere que dicha semántica esté disponible. Sin embargo, Linux instalado y ejecutándose desde dicho volumen de disco es más lento que Linux instalado y ejecutándose desde un volumen de disco formateado con, por ejemplo, el formato de sistema de archivos ext2 . [1] [12] Además, a menos que se ejecute regularmente un programa de utilidad cada vez que uno cambia de ejecutar Windows a ejecutar Linux, ciertos cambios realizados en archivos y directorios en el disco por parte de Windows causarán mensajes de error sobre archivos inaccesibles en Linux. [4]
vfat , aunque carece de una semántica completa de archivos Unix y carece de la capacidad de tener Linux instalado y ejecutándose desde un volumen de disco FAT, no tiene las desventajas antes mencionadas de umsdos cuando se trata de simplemente compartir datos en un volumen de disco FAT entre Linux y otros sistemas operativos. sistemas como Windows. Sus estructuras de datos son las mismas que las utilizadas por Windows para nombres de archivos largos VFAT y no requiere ejecutar una utilidad de sincronización para evitar que las estructuras de datos de Windows y Linux se desintegren. Por esta razón, es el controlador del sistema de archivos FAT de Linux más apropiado para usar en la mayoría de situaciones. [1] [10] [4]
Como se mencionó anteriormente, todos los controladores del sistema de archivos de Linux admiten los tres tamaños de la 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 -o
opción del mount
comando): [10] [3]
uid
ygid
/etc/passwd
archivo). Entonces, 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, el mount
comando se invocaría como mount -t vfat -o uid=745,gid=15
. [10] [3] Los controladores del sistema de archivos Linux actualmente no incorporan soporte para contraseñas de archivos/directorios en volúmenes FAT12/FAT16/FAT32 ni permisos de acceso multiusuario /grupo/propietario para derechos de lectura/escritura/eliminación/ejecución en FAT12/ Volúmenes FAT16 implementados 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
mount
comando se invocaría como mount -t vfat -o umask=077
. [10] [3]conv
conv=b
(para "binario"), conv=a
(para "detección automática") y conv=t
(para "texto"), respectivamente. Las dos últimas opciones conllevan un riesgo inherente de dañar datos de archivos que no son de texto. Ninguna conversión es la opción predeterminada. [10] [3]El controlador del sistema de archivos FAT umsdos almacena toda la información adicional relacionada con la semántica de archivos Unix en lo que, para otro controlador del 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 un directorio determinado, y por lo tanto de forma predeterminada, el controlador del sistema de archivos umsdos proporciona la misma semántica que el controlador del sistema de archivos msdos para el directorio: sólo 8.3 nombres de archivos y ninguna semántica de archivos 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 cualquier cambio realizado en archivos y directorios por Windows en su archivo privado. estructuras de datos en su --LINUX-.---
archivo. De forma predeterminada, la umssync
herramienta crea --LINUX-.---
archivos en directorios si aún no existen, lo que da como resultado un archivo de este tipo en cada directorio del volumen del disco. Al cambiar entre Windows y Linux, este comportamiento no suele considerarse deseable. Por lo tanto, el modo normal de operación al invocar umssync
después de cambiar de Windows a Linux (que generalmente se hace ejecutando la herramienta en el momento del arranque de Linux desde un script de inicio) es emplear la -c
opción del comando, que impide la creación de --LINUX-.---
archivos nuevos. en directorios que aún no los poseen. [1] [10] [4]
Como se mencionó, umsdos permite instalar Linux y luego iniciarlo y ejecutarlo desde un volumen de disco en formato FAT. La ventaja de esto es que permite el uso de Linux en una computadora donde DOS ya está instalado, sin necesidad de volver a particionar el disco duro . Linux no se inicia directamente desde un registro de inicio por volumen en tal escenario. En lugar de eso, primero se inicia DOS y luego se usa loadlin o linld para luego iniciar 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 inicio 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
(for /etc
), C:\LINUX\BIN
(for /bin
), C:\LINUX\LIB
(for /lib
), etc. El controlador del sistema de archivos umsdos antepone automáticamente el C:\LINUX\
a todos los nombres de ruta. La ubicación del directorio raíz de Linux se proporciona al controlador del sistema de archivos umsdos en primer lugar a través de una opción del loadlin
comando. Así, por ejemplo, loadlin
se invocaría con una línea de comando como loadlin c:\linux\boot\vmlinuz rw root=c:\linux
. [4] [13]
La instalación de Linux en dicho directorio, en primer lugar, simplemente implica descomprimir archivos de un archivo comprimido en ese directorio y sus subdirectorios. Una instalación de este tipo generalmente también requiere el uso de un archivo de intercambio en lugar de una partición de intercambio para Linux; sin embargo, esto está relacionado con el deseo de no volver a particionar el disco duro y no tiene relación con el controlador del sistema de archivos umsdos per se. [4]
Aunque los controladores del sistema de archivos en el kernel permiten acceder a archivos y directorios en volúmenes formateados en FAT de manera normal, también es posible hacerlo sin el soporte del controlador del kernel, utilizando los programas de utilidad que forman el conjunto de utilidades mtools . Al igual que el controlador del sistema de archivos vfat FAT, mountlo proporciona soporte para nombres de archivos largos utilizando las mismas estructuras de datos de disco que utiliza Microsoft Windows. [3] [14] [15]
Como alternativa, se puede utilizar uno de los controladores del sistema de archivos FUSE : FatFuse, FuseFat o mountlo. [dieciséis]
Un equivalente moderno de UMSDOS es el sistema de archivos superpuesto POSIX (posixovl). Funciona en FUSIBLE. [17]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )