I have a DVD ROM with some teaching resources on it (Headway Beginner's English teaching teacher's DVD). When I look at the DVD from a Ubuntu machine, I see one set of files (which includes a setup-linux
file among other things, although that doesn't work).
When I view the same DVD from a Windows machine, I see a different set of files, including a setup-windows.exe
file.
Neither machine sees all the files, but there are some common to both.
My questions are:
- How does this work?
- How can I see the all the files when using Ubuntu?
Edit: this is not due to files being "hidden" when viewed in a file manager, lower level things like "ls -a" do not reveal the missing files.
Edit 2: I'm using Ubuntu 18.04 LTS
I'm not sure this is the correct answer, but maybe it'll provide you with details that will help you.
It could be because MS-Windows and Unix use different file systems on DVD - even on the same DVD. Files on an optical medium are usually arranged using a file system protocol specified in the ISO 9660 standard (also see notes at the end).
But the standard allows for extensions, and Microsoft has designed their own extension to the standard called "Joliet" that allows Microsoft Windows compatible operating systems to read different file names with more features (longer names and support Unicode) than the standard ISO 9660 file system allows.
For Unix-style operating systems (such as Linux), another extension called "Rock Ridge" was developed, to allow even longer file names, Unix-style permissions, and a few other things.
It is very common to have both Rock Ridge and Joliet extensions on the same optical medium, but it could be that the creator of that DVD used these extensions in a clever way to only have the MS-Windows related files show in the Joliet part of the system and only have the Linux specific files show in the Rock Ridge part of the system. The
isoinfo
program discussed in this stackexchange answer might provide more information.Notes:
As mentioned in the discussion in the comments, while a lot of media are still authored in ISO 9660 and its extensions where the kinds of tricks discussed in the OP can happen, ISO 9660 is obsolete and modern media should be authored using UDF (ISO 13346) which is a Universal Disk Format and only allows a single view of the entire file system - so such tricks will probably not be possible on a UDF authored disk.
Very probably the "rockridge" (unix) and "joliet" (microsoft) tables map the bare iso9660 file names differently. They both involve a "mapping" in each directory that basically says which actual iso files (8+dot+3 characters) should be seen as which longer name. So each file actually has 2 names, one limited to 8+3 characters, and one that's not.
On rockridge, this mapping is an actual file that gets added to each directory, iirc named "TRANS.TBL" or something. On joliet, it's an extremely ugly and stupid hack where a "directory entry" isn't an actual file, but is reserved for this purpose.