Dlaczego Windows i Linux widzą różne pliki na DVD ROM?

80

Mam DVD ROM z niektórymi zasobami do nauczania (DVD dla nauczyciela angielskiego Headway Beginner). Kiedy patrzę na DVD z komputera Ubuntu, widzę jeden zestaw plików (który zawiera setup-linuxmiędzy innymi plik, chociaż to nie działa).

Kiedy oglądam ten sam dysk DVD z komputera z systemem Windows, widzę inny zestaw plików, w tym setup-windows.exeplik.

Żadna maszyna nie widzi wszystkich plików, ale niektóre są wspólne dla obu.

Moje pytania to:

  1. Jak to działa?
  2. Jak mogę zobaczyć wszystkie pliki podczas korzystania z Ubuntu?

Edycja: nie dzieje się tak, ponieważ pliki są „ukryte” podczas przeglądania w menedżerze plików, elementy niższego poziomu, takie jak „ls -a”, nie ujawniają brakujących plików.

Edycja 2: Używam Ubuntu 18.04 LTS

spookylukey
źródło
Nie powiedziałeś, której wersji Ubuntu używasz, ale w nautilus(lub „Files” menedżerze plików gnome), jeśli przejdziesz do trybu przeglądania ikon i klikniesz menu, możesz kliknąć „Show Hidden Files” i powinieneś zobaczyć wszystkie pliki. Jeśli w trybie szczegółów (lub listy) opcja jest nieco ukryta (na moim polu 19.04; przepraszam, nie używam normalnie nautilusa). Windows domyślnie używa flagi fs (system plików) do ukrywania plików, gdzie jako * nix (Ubuntu, dowolny GNU / Linux, apple lub unix) używaj '.' jako pierwszy znak nazwy pliku, który powoduje, że plik jest „ukryty”.
guiverc
2
Nie jest to sprawa ukrytych plików - używanie ls -aw Linuksie nie pokazuje brakujących plików. Podobnie jak „Pokaż ukryte pliki” w Eksploratorze Windows.
spookylukey

Odpowiedzi:

112

Nie jestem pewien, czy to poprawna odpowiedź, ale może dostarczy ci szczegółowych informacji, które ci pomogą.

Może tak być, ponieważ MS-Windows i Unix używają różnych systemów plików na DVD - nawet na tym samym DVD. Pliki na nośniku optycznym są zwykle układane przy użyciu protokołu systemu plików określonego w standardzie ISO 9660 (patrz także uwagi na końcu).

Ale standard zezwala na rozszerzenia, a Microsoft zaprojektował własne rozszerzenie standardu o nazwie „ Joliet ”, które umożliwia systemom operacyjnym zgodnym z Microsoft Windows odczytywanie różnych nazw plików z większą liczbą funkcji (dłuższe nazwy i obsługa Unicode) niż standardowy system plików ISO 9660 pozwala.

Dla systemów operacyjnych w stylu uniksowym (takich jak Linux) opracowano inne rozszerzenie o nazwie „ Rock Ridge ”, aby umożliwić stosowanie jeszcze dłuższych nazw plików, uprawnień w stylu uniksowym i kilku innych rzeczy.

Bardzo często zarówno rozszerzenia Rock Ridge, jak i Joliet znajdują się na tym samym nośniku optycznym, ale może się zdarzyć, że twórca tego DVD użył tych rozszerzeń w sprytny sposób, aby wyświetlać tylko pliki związane z MS-Windows w części Joliet system i tylko pliki specyficzne dla systemu Linux są wyświetlane w części Rock Ridge. isoinfoProgramu omówione w tym Stack Exchange Network odpowiedzi może dostarczyć więcej informacji.

Uwagi:

Jak wspomniano w dyskusji w komentarzach, podczas gdy wiele mediów jest nadal autorstwa ISO 9660 i jego rozszerzeń, w których mogą się zdarzyć sztuczki omówione w OP, ISO 9660 jest przestarzały, a nowoczesne media powinny być tworzone przy użyciu UDF (ISO 13346 ), który jest uniwersalnym formatem dysku i pozwala tylko na jeden widok całego systemu plików - więc takie sztuczki prawdopodobnie nie będą możliwe na dysku autorskim UDF.

Guss
źródło
27
Dzięki, to wystarczyło - isoinfo dev=/dev/dvd -J -lspokazuje brakujące pliki w systemie Linux.
spookylukey
25
Całkiem dobra odpowiedź, ale jednym ważnym szczegółem, którego brakuje mi, są opcje --norocki --nojolietmount, których możesz użyć w Linuksie, aby zdecydować, który z trzech układów drzewa chcesz zobaczyć.
kasperd
8
Wow, to ... właściwie zaskakująco eleganckie.
Wyścigi lekkości na orbicie
4
Niektóre narzędzia, takie jak mkisofsfaktycznie, pozwalają określić, jak je wygenerować. Sekcja „Przykłady” na połączonej stronie podręcznika pokazuje, w jaki sposób można utworzyć plik ISO, który ma plik o nazwie README, ale pojawi się z inną zawartością w zależności od systemu używanego do przeglądania dysku CD. Cytując stronę podręcznika: „Prawdopodobnie możliwe są różnego rodzaju dziwne wyniki przy kombinacjach opcji ukrywania ...”
Herohtar
3
Cieszę się, że w komentarzach jest wzmianka o UDF, ale nie jestem pewien, czy ma ona znaczenie w dyskusji - jeśli system plików na dysku DVD OP byłby formatem uniwersalnym, nie będzie można uzyskać różnych widoków w Windows i Linux, o ile rozumiem.
Guss
0

Bardzo prawdopodobne, że tabele „rockridge” (unix) i „joliet” (microsoft) odwzorowują odmiennie nazwy plików iso9660. Oba zawierają „mapowanie” w każdym katalogu, które zasadniczo mówi, które rzeczywiste pliki ISO (8 + kropka + 3 znaki) powinny być postrzegane jako dłuższe nazwy. Tak więc każdy plik faktycznie ma 2 nazwy, jedna ograniczona do 8 + 3 znaków, a druga nie.

W Rockridge to mapowanie jest rzeczywistym plikiem, który jest dodawany do każdego katalogu, iirc o nazwie „TRANS.TBL” lub coś w tym rodzaju. Na Jolie jest to wyjątkowo brzydki i głupi hack, w którym „pozycja katalogu” nie jest rzeczywistym plikiem, ale jest zarezerwowana do tego celu.

delt
źródło
Och, zapomniałem dodać: Windows obsługuje tylko Joliet (nie ma w tym nic dziwnego), podczas gdy Linux obsługuje oba (również tam nie ma niespodzianki), chociaż w Linuksie i większości innych systemów uniksowych Rockridge ma domyślnie pierwszeństwo. Istnieją jednak opcje montowania, aby wyłączyć jedno lub drugie lub oba. Jeśli wyłączysz oba, zobaczysz tylko krótkie nazwy plików 8.3, tak jak na przykład. w systemie DOS lub Windows 3.xi wcześniejszych. W zależności od używanego menedżera plików i środowiska pulpitu może istnieć „przyjazny dla użytkownika” sposób na wykonanie tego bez wpisywania poleceń :)
delt