¿Por qué Windows y Linux ven diferentes archivos en un DVD ROM?

80

Tengo un DVD ROM con algunos recursos didácticos (DVD del profesor de inglés de Headway Beginner). Cuando miro el DVD desde una máquina Ubuntu, veo un conjunto de archivos (que incluye un setup-linuxarchivo, entre otras cosas, aunque eso no funciona).

Cuando veo el mismo DVD desde una máquina con Windows, veo un conjunto diferente de archivos, incluido un setup-windows.exearchivo.

Ninguna máquina ve todos los archivos, pero hay algunos comunes en ambos.

Mis preguntas son:

  1. ¿Como funciona esto?
  2. ¿Cómo puedo ver todos los archivos cuando uso Ubuntu?

Editar: esto no se debe a que los archivos estén "ocultos" cuando se ven en un administrador de archivos, las cosas de nivel inferior como "ls -a" no revelan los archivos que faltan.

Edición 2: estoy usando Ubuntu 18.04 LTS

Spookylukey
fuente
No ha dicho qué versión de Ubuntu está utilizando, pero en nautilus(o 'Archivos' el administrador de archivos para gnome) si va al modo de visualización de iconos y hace clic en el menú, puede hacer clic en "Mostrar archivos ocultos" y debería ver todos los archivos. Si en el modo de detalles (o lista) la opción está algo oculta (en mi cuadro 19.04; lo siento, no uso nautilus normalmente). Windows usa de manera predeterminada un indicador fs (sistema de archivos) para ocultar archivos, donde como * nix (Ubuntu, cualquier GNU / Linux, apple o unix) usan un '.' como el primer carácter del nombre de archivo para hacer que un archivo esté "oculto".
guiverc
2
Esto no es una cuestión de archivos ocultos: el uso ls -aen Linux no muestra los archivos que faltan. Y tampoco "Mostrar archivos ocultos" en el explorador de Windows.
spookylukey

Respuestas:

112

No estoy seguro de que esta sea la respuesta correcta, pero tal vez le brinde detalles que lo ayudarán.

Podría deberse a que MS-Windows y Unix usan diferentes sistemas de archivos en DVD, incluso en el mismo DVD. Los archivos en un medio óptico generalmente se organizan utilizando un protocolo de sistema de archivos especificado en el estándar ISO 9660 (también vea las notas al final).

Pero el estándar permite extensiones, y Microsoft ha diseñado su propia extensión al estándar llamado " Joliet " que permite a los sistemas operativos compatibles con Microsoft Windows leer diferentes nombres de archivos con más funciones (nombres más largos y soporte Unicode) que el sistema de archivos estándar ISO 9660 permite.

Para los sistemas operativos de estilo Unix (como Linux), se desarrolló otra extensión llamada " Rock Ridge ", para permitir nombres de archivo aún más largos, permisos de estilo Unix y algunas otras cosas.

Es muy común tener las extensiones Rock Ridge y Joliet en el mismo medio óptico, pero podría ser que el creador de ese DVD usó estas extensiones de una manera inteligente para que solo se muestren los archivos relacionados con MS-Windows en la parte Joliet de el sistema y solo muestran los archivos específicos de Linux en la parte de Rock Ridge del sistema. El isoinfoprograma discutido en esta respuesta de stackexchange podría proporcionar más información.

Notas:

Como se mencionó en la discusión en los comentarios, aunque muchos de los medios aún están escritos en ISO 9660 y sus extensiones donde pueden ocurrir los tipos de trucos discutidos en el OP, ISO 9660 es obsoleto y los medios modernos deben ser creados usando UDF (ISO 13346 ), que es un formato de disco universal y solo permite una vista única de todo el sistema de archivos, por lo que estos trucos probablemente no serán posibles en un disco creado por UDF.

Guss
fuente
27
Gracias, eso fue suficiente: isoinfo dev=/dev/dvd -J -lsmuestra los archivos que faltan en Linux.
spookylukey
25
Respuesta bastante buena, pero un detalle importante que veo es la falta --norocky --nojolietopciones de montaje se pueden utilizar en Linux para decidir cuál de los tres diseños de árboles desea ver.
Kasperd
8
Wow eso es ... realmente sorprendentemente elegante.
Carreras de ligereza en órbita el
44
Algunas herramientas como en mkisofsrealidad le permiten especificar cómo generarlas. La sección "Ejemplos" en la página de manual vinculada muestra cómo puede crear un ISO que tenga un archivo llamado README, pero aparecerá con diferentes contenidos dependiendo del sistema que esté usando para ver el CD. Para citar la página de manual: "Probablemente hay todo tipo de resultados extraños posibles con combinaciones de las opciones de ocultar ..."
Herohtar
3
Estoy feliz de que se mencione UDF en los comentarios, pero no estoy seguro de que sea relevante para la discusión: si el sistema de archivos en el DVD del OP era un formato universal, entonces no podrá obtener diferentes vistas en Windows y Linux, por lo que yo entiendo.
Guss
0

Muy probablemente, las tablas "rockridge" (unix) y "joliet" (microsoft) mapean los nombres de archivos iso9660 desnudos de manera diferente. Ambos implican un "mapeo" en cada directorio que básicamente dice qué archivos iso reales (8 + punto + 3 caracteres) deben verse y qué nombre más largo. Por lo tanto, cada archivo tiene 2 nombres, uno limitado a 8 + 3 caracteres, y otro que no lo es.

En Rockridge, esta asignación es un archivo real que se agrega a cada directorio, iirc llamado "TRANS.TBL" o algo así. En joliet, es un truco extremadamente feo y estúpido donde una "entrada de directorio" no es un archivo real, sino que está reservada para este propósito.

delt
fuente
Ah, olvidé agregar: Windows solo admite joliet (no es sorprendente allí), mientras que Linux es compatible con ambos (tampoco es sorprendente allí), aunque en Linux y en la mayoría de los otros sistemas Unix, Rockridge tiene prioridad por defecto. Sin embargo, hay opciones de montaje para deshabilitar uno u otro, o ambos. Si desactiva ambos, solo verá los nombres cortos de los archivos 8.3, como lo haría por ejemplo. en DOS o en Windows 3.xy anteriores. Dependiendo del administrador de archivos y el entorno de escritorio que use, puede haber una forma "fácil de usar" para hacerlo sin escribir comandos :)
delt