Warum sehen Windows und Linux unterschiedliche Dateien auf einer DVD-ROM?

80

Ich habe eine DVD-ROM mit einigen Lehrmaterialien (DVD für Englischlehrer von Headway Beginner). Wenn ich mir die DVD von einem Ubuntu-Computer ansehe, sehe ich einen Satz von Dateien (der unter anderem eine setup-linuxDatei enthält , obwohl das nicht funktioniert).

Wenn ich dieselbe DVD von einem Windows-Computer aus ansehe, sehe ich einen anderen Satz von Dateien, einschließlich einer setup-windows.exeDatei.

Keiner der Rechner sieht alle Dateien, aber es gibt einige, die beiden gemeinsam sind.

Meine Fragen sind:

  1. Wie funktioniert das?
  2. Wie kann ich unter Ubuntu alle Dateien sehen?

Bearbeiten: Dies liegt nicht daran, dass Dateien in einem Dateimanager "versteckt" angezeigt werden. Untergeordnete Elemente wie "ls -a" zeigen die fehlenden Dateien nicht an.

Edit 2: Ich benutze Ubuntu 18.04 LTS

spookylukey
quelle
Sie haben nicht angegeben, welche Ubuntu-Version Sie verwenden, aber nautiluswenn Sie in den Symbolansichtsmodus wechseln und auf das Menü klicken, sollten Sie in (oder 'Files', dem Dateimanager für Gnome) auf "Show Hidden Files" klicken alle Dateien. Wenn die Option im Detail- (oder Listen-) Modus etwas ausgeblendet ist (auf meiner 19.04-Box; leider benutze ich Nautilus normalerweise nicht). Windows verwendet standardmäßig ein fs-Flag (Dateisystem), um Dateien auszublenden, wobei * nix (Ubuntu, jedes GNU / Linux, Apple oder Unix) ein '.' als erstes Zeichen des Dateinamens, um eine Datei 'versteckt' zu machen.
Guiverc
2
Dies ist keine Sache mit versteckten Dateien - unter ls -aLinux werden die fehlenden Dateien nicht angezeigt. Und "Versteckte Dateien anzeigen" im Windows-Explorer ebenfalls nicht.
Spookylukey

Antworten:

112

Ich bin mir nicht sicher, ob dies die richtige Antwort ist, aber vielleicht liefert sie Ihnen Details, die Ihnen helfen werden.

Dies kann daran liegen, dass MS-Windows und Unix unterschiedliche Dateisysteme auf DVD verwenden - sogar auf derselben DVD. Dateien auf einem optischen Medium werden normalerweise mit einem im ISO 9660- Standard festgelegten Dateisystemprotokoll angeordnet (siehe auch Hinweise am Ende).

Der Standard lässt jedoch Erweiterungen zu, und Microsoft hat eine eigene Erweiterung des Standards mit dem Namen " Joliet " entwickelt, mit der Microsoft Windows-kompatible Betriebssysteme andere Dateinamen mit mehr Funktionen (längere Namen und Unterstützung von Unicode) als das Standarddateisystem ISO 9660 lesen können erlaubt.

Für Betriebssysteme im Unix-Stil (wie Linux) wurde eine andere Erweiterung namens " Rock Ridge " entwickelt, um noch längere Dateinamen, Berechtigungen im Unix-Stil und einige andere Dinge zu ermöglichen.

Es kommt sehr häufig vor, dass sich Rock Ridge- und Joliet-Erweiterungen auf demselben optischen Medium befinden, aber es kann sein, dass der Ersteller dieser DVD diese Erweiterungen auf clevere Weise verwendet hat, um nur die MS-Windows-bezogenen Dateien im Joliet-Teil von anzuzeigen Das System und nur die Linux-spezifischen Dateien werden im Rock Ridge-Teil des Systems angezeigt. Das isoinfoin dieser Stapelaustauschantwort beschriebene Programm enthält möglicherweise weitere Informationen.

Anmerkungen:

Wie in der Diskussion in den Kommentaren erwähnt, sind viele Medien noch in ISO 9660 und seinen Erweiterungen verfasst, in denen die im OP diskutierten Tricks auftreten können. ISO 9660 ist veraltet und moderne Medien sollten mit UDF (ISO 13346) verfasst werden ), das ein Universal Disk Format ist und nur eine einzige Ansicht des gesamten Dateisystems ermöglicht - daher sind solche Tricks auf einer von UDF erstellten Festplatte wahrscheinlich nicht möglich.

Guss
quelle
27
Danke, das war genug - isoinfo dev=/dev/dvd -J -lszeigt die fehlenden Dateien in Linux.
Spookylukey
25
Ziemlich gute Antwort, aber ein wichtiges Detail, das mir fehlt, sind die --norockund --nojolietMount-Optionen, mit denen Sie unter Linux entscheiden können, welches der drei Baumlayouts Sie sehen möchten.
Kasperd
8
Wow das ist ... eigentlich überraschend elegant.
Leichtigkeitsrennen im Orbit
4
Mit einigen Tools, z. B. mkisofskönnen Sie angeben, wie diese generiert werden sollen. Der Abschnitt "Beispiele" auf der verknüpften Manpage zeigt, wie Sie eine ISO-Datei mit dem Namen erstellen können README, die jedoch je nach dem System, mit dem Sie die CD anzeigen, unterschiedliche Inhalte aufweist. Um die Manpage zu zitieren: "Es gibt wahrscheinlich alle möglichen seltsamen Ergebnisse mit Kombinationen der
Ausblendoptionen
3
Ich bin froh, dass UDF in den Kommentaren erwähnt wird, aber ich bin nicht sicher, ob es für die Diskussion relevant ist - wenn das Dateisystem auf der DVD des OP ein universelles Format hat, können Sie keine unterschiedlichen Ansichten erhalten Windows und Linux, soweit ich das verstehe.
Guss
0

Sehr wahrscheinlich ordnen die Tabellen "rockridge" (Unix) und "joliet" (Microsoft) die bloßen ISO9660-Dateinamen unterschiedlich zu. Sie beinhalten beide eine "Zuordnung" in jedem Verzeichnis, die im Grunde sagt, welche tatsächlichen ISO-Dateien (8 + Punkt + 3 Zeichen) als welcher längere Name angesehen werden sollten. Jede Datei hat also 2 Namen, einen auf 8 + 3 Zeichen und einen anderen Namen.

Auf Rockridge ist diese Zuordnung eine tatsächliche Datei, die zu jedem Verzeichnis hinzugefügt wird, z. B. "TRANS.TBL" oder so. Auf joliet ist es ein extrem hässlicher und dummer Hack, bei dem ein "Verzeichniseintrag" keine tatsächliche Datei ist, sondern für diesen Zweck reserviert ist.

geschlafen
quelle
Oh, ich habe vergessen hinzuzufügen: Windows unterstützt nur Joliet (keine Überraschung), während Linux beide unterstützt (auch keine Überraschung), obwohl in Linux und den meisten anderen Unix-Systemen Rockridge standardmäßig Vorrang hat. Es gibt jedoch Mount-Optionen, um den einen oder den anderen oder beide zu deaktivieren. Wenn Sie beide deaktivieren, sehen Sie nur die kurzen 8.3-Dateinamen, wie Sie es zum Beispiel tun würden. in DOS oder in Windows 3.x und früher. Abhängig davon, welchen Dateimanager und welche Desktop-Umgebung Sie verwenden, gibt es möglicherweise eine "benutzerfreundliche" Möglichkeit, dies ohne Eingabe von Befehlen zu tun :)
Dienstag,