Чому Windows та Linux бачать різні файли на DVD-диску?


80

У мене є DVD ROM з деякими навчальними ресурсами (DVD-викладач англійської мови вчителя англійської мови). Коли я дивлюсь на DVD з машини Ubuntu, я бачу один набір файлів (який включає setup-linuxфайл серед іншого, хоча це не працює).

Коли я переглядаю той самий DVD з машини Windows, я бачу інший набір файлів, включаючи setup-windows.exeфайл.

Жодна машина не бачить усіх файлів, але є деякі спільні для обох.

Мої запитання:

  1. Як це працює?
  2. Як я бачу всі файли під час використання Ubuntu?

Редагувати: це не через те, що "приховані" файли під час перегляду в файловому менеджері, речі нижчого рівня, наприклад "ls -a", не виявляють відсутні файли.

Редагувати 2: Я використовую Ubuntu 18.04 LTS


Ви не сказали, який реліз Ubuntu використовуєте, але в nautilus(або "Файлах" файловому менеджері для gnome), якщо перейти в режим перегляду значків і натиснути на меню, ви можете натиснути "Показати приховані файли", і ви повинні побачити усі файли. Якщо в режимі деталей (або списку) параметр дещо прихований (у вікні 19.04; вибачте, я звичайно не використовую nautilus). Windows за замовчуванням використовує прапор fs (файлової системи), щоб приховати файли, де * nix (Ubuntu, будь-який GNU / Linux, apple або unix) використовують знак '.' як перший символ назви файла, який зробив файл "прихованим".
guiverc

2
Це не приховані файли - використання ls -aв Linux не показує відсутні файли. І не показує "Показати приховані файли" в Windows Explorer.
spookylukey

Відповіді:


112

Я не впевнений, що це правильна відповідь, але, можливо, вона надасть вам деталі, які допоможуть вам.

Це може бути тому, що MS-Windows та Unix використовують різні файлові системи на DVD - навіть на одному DVD. Файли на оптичному носії зазвичай влаштовуються за допомогою протоколу файлової системи, визначеного стандартом ISO 9660 (також див. Примітки в кінці).

Але стандарт дозволяє розширення, і Microsoft розробила власне розширення до стандарту під назвою " Joliet ", що дозволяє операційним системам, сумісним з Microsoft Windows, читати різні імена файлів з більшою кількістю функцій (довші імена та підтримка Unicode), ніж стандартна файлова система ISO 9660 дозволяє.

Для операційних систем у стилі Unix (наприклад, Linux) було розроблено ще одне розширення під назвою " Rock Ridge ", яке дозволяє ще довші імена файлів, дозволи в стилі Unix та кілька інших речей.

Дуже часто зустрічаються як розширення Rock Ridge, так і Joliet на одному оптичному носії, але може бути, що творець цього DVD розумно використовував ці розширення, щоб лише у файлі Joliet відображалися файли, пов'язані з MS-Windows. Система, і лише окремі файли для Linux відображаються в частині Rock Ridge. isoinfoПрограма обговорюється в цьому stackexchange відповідь може дати більше інформації.

Примітки:

Як зазначалося в обговоренні в коментарях, хоча багато засобів масової інформації досі є авторитетом ISO 9660 та його розширеннями, де можуть траплятися види хитрощів, обговорених в ОП, ISO 9660 є застарілим, а сучасні засоби масової інформації мають бути авторськими за допомогою UDF (ISO 13346 ), який є універсальним форматом диска і дозволяє лише одне перегляд всієї файлової системи - тому такі трюки, ймовірно, не будуть можливі на авторському диску UDF.


27
Дякую, цього було досить - isoinfo dev=/dev/dvd -J -lsпоказує відсутні файли в Linux.
spookylukey

25
Досить хороший відповідь, але одна важлива деталь , я бачу , що не вистачає це --norockі --nojolietвстановити параметри , які можна використовувати на Linux , щоб вирішити , який із трьох макетів дерев ви хочете побачити.
kasperd

8
Нічого це ... насправді напрочуд елегантно.
Гонки легкості на орбіті

4
Деякі такі інструменти, як mkisofsнасправді, дозволяють вказати, як їх створити. У розділі "Приклади" на пов'язаній сторінці "man" показано, як можна створити ISO, який має файл з назвою README, але відображатиметься з різним вмістом залежно від того, яку систему ви використовуєте для перегляду компакт-диска.
Процитуйте

3
Я щасливий, що в коментарях згадується UDF, але я не впевнений, що це стосується дискусії - якщо файлова система на DVD-диску ОП була універсальним форматом, ви не зможете отримати різні погляди в Наскільки я розумію, Windows та Linux.
Гасс

0

Напевно таблиці "rockridge" (unix) і "joliet" (microsoft) відображають по-різному назви файлів iso9660. Вони обидва передбачають "відображення" у кожному каталозі, яке в основному говорить про те, які фактичні ізо файли (8 + крапка + 3 символи) слід розглядати як довше ім'я. Таким чином, кожен файл насправді має 2 імені, одне обмежене 8 + 3 символами, а одне це не так.

На rockridge це відображення - це фактичний файл, який додається до кожної директорії, iirc під назвою "TRANS.TBL" або щось подібне. У Joliet це надзвичайно некрасивий і дурний хак, де "запис каталогу" не є фактичним файлом, але зарезервований для цієї мети.


О, я забув додати: Windows підтримує лише joliet (немає сюрпризу), в той час як Linux підтримує і те, і інше, і там немає ніякого сюрпризу), хоча в Linux та більшості інших Unix-систем, за замовчуванням перевага надає перевагу. Однак є варіанти монтажу, щоб відключити те чи інше, або те і інше. Якщо ви відключите обидва, то ви просто побачите короткі 8,3 імена файлів, як у колишньому. в DOS або в Windows 3.x та попередній. Залежно від того, який файловий менеджер та середовище робочого столу ви використовуєте, може бути "зручний для користувачів" спосіб це зробити без набору команд :)
delt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.