stringtranslate.com

Sistema de archivos FAT y Linux

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 mountcomando para invocar controladores particulares 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 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:\PHATDOS 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]

Comparación de características

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]

msdos

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]

umsdos

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

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]

Puntos en común

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 -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 y el ID de grupo (predeterminado, en el caso de umsdos ) para que sean un valor único y especificado para todos los archivos del volumen. Ambos ID se especifican como valores numéricos (tal como se encuentran en el /etc/passwdarchivo). 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 mountcomando 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
Esta opción configura la máscara de usuario para que se aplique globalmente a todos los archivos del volumen. Por ejemplo, para especificar al controlador del sistema de archivos vfat que no se permitirá ningún acceso a "grupos" u "otros", el mountcomando se invocaría como mount -t vfat -o umask=077. [10] [3]
conv
Esta opción especifica la semántica de conversión del contenido del archivo . Es posible que los controladores del sistema de archivos conviertan las convenciones de nueva línea en archivos, entre terminación LF y terminación CRLF, sobre la marcha a medida que se leen y escriben los archivos. De forma predeterminada, esta conversión está completamente deshabilitada. Los controladores del sistema de archivos pueden realizar la conversión de algunos archivos, intentando detectar automáticamente qué archivos convertir en función de la parte de 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 "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]

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 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 umssyncherramienta 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 umssyncdespué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 -copción del comando, que impide la creación de --LINUX-.---archivos nuevos. en directorios que aún no los poseen. [1] [10] [4]

Instalación de Linux en FAT

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 loadlincomando. Así, por ejemplo, loadlinse 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]

Acceder a volúmenes formateados en 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 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]

Sistema de archivos superpuesto POSIX

Un equivalente moderno de UMSDOS es el sistema de archivos superpuesto POSIX (posixovl). Funciona en FUSIBLE. [17]

Ver también

Referencias

  1. ^ abcdefgh Stanfield, Vicki; Smith, Roderick W. (2002). Administración del sistema Linux . Biblioteca Craig Hunt Linux (2ª ed.). John Wiley e hijos . pag. 166.ISBN​ 978-0-7821-4138-2.
  2. ^ ab Ward, Brian (2004). Cómo funciona Linux: lo que todo superusuario debe saber . Serie de prensa sin almidón. Sin prensa de almidón . pag. 41.ISBN 978-1-59327-035-3.
  3. ^ abcdefg Smith, Roderick W. (2000). El manual de configuración de arranque múltiple. Serie de manuales. Que Editorial . págs. 256, 341–342. ISBN 978-0-7897-2283-6.
  4. ^ abcdefghi McCune, Mike (2001). Integrando Linux y Windows. Serie de tecnología de código abierto. Prentice Hall PTR . págs. 7–9. ISBN 978-0-13-030670-8.
  5. ^ "Resumen de cambios de v2.6.10 a v2.6.11". www.kernel.org . Consultado el 15 de noviembre de 2017 .
  6. ^ "Sistema de archivos UMSDOS: compatibilidad con UVFAT". linux.voyager.hr . Consultado el 16 de julio de 2015 .
  7. ^ Proyecto MuLinux
  8. ^ Mono Linux explicado
  9. ^ La combinación Linux/Windows: utilice estos recursos para que funcione
  10. ^ abcdefghij Roderick W. Smith (2005). Linux en un mundo Windows . O'Reilly Media, Inc. pág. 449.ISBN 0-596-00758-2.
  11. ^ Negus, Christopher (2007). Biblia de Linux: inicie Ubuntu, Fedora, KNOPPIX, Debian, SUSE y otras 11 distribuciones. Serie Bíblica. John Wiley e hijos . págs.159. ISBN 978-0-470-08279-9.
  12. ^ Strobel, Stefan; Elling, Volker (1997). Linux, liberando la estación de trabajo en tu PC . El kit completo de Linux, Rainer Maurer (3ª ed.). Saltador. pag. 43.ISBN 978-0-387-94880-5.
  13. ^ ab Danesh, Arman (2002). Hacer que Linux funcione: consejos y técnicas esenciales. Serie 1001 consejos. Aprendizaje Cengage. págs.19. ISBN 978-1-884133-78-7.
  14. ^ Rajagopal, Raj (2000). Redes de múltiples sistemas operativos: vivir con Unix, Netware y NT. Serie de mejores prácticas de Auerbach. Prensa CRC . págs. 25-21. ISBN 978-0-8493-9831-5.
  15. ^ Galés, Matt (2003). Ejecutando Linux . Guía esencial de Linux (4ª ed.). O'Reilly Media, Inc. pág. 405.ISBN 978-0-596-00272-5.
  16. ^ "FUSE: sistemas de archivos no nativos". Archivado desde el original el 15 de septiembre de 2015.
  17. ^ "Sistema de archivos superpuestos POSIX".

Otras lecturas