У меня есть DVD-ROM с некоторыми учебными материалами (DVD-диск преподавателя английского языка от Headway Beginner). Когда я смотрю на DVD с компьютера с Ubuntu, я вижу один набор файлов (который, setup-linux
помимо прочего, включает в себя файл, хотя он не работает).
Когда я просматриваю тот же DVD-диск с компьютера с Windows, я вижу другой набор файлов, включая setup-windows.exe
файл.
Ни одна машина не видит все файлы, но есть некоторые общие для обоих.
Мои вопросы:
- Как это работает?
- Как я могу увидеть все файлы при использовании Ubuntu?
Редактировать: это происходит не из-за того, что файлы «скрыты» при просмотре в файловом менеджере, вещи более низкого уровня, такие как «ls -a», не показывают отсутствующие файлы.
Редактировать 2: я использую Ubuntu 18.04 LTS
nautilus
(или «Файлах» файловом менеджере для gnome), если вы переходите в режим просмотра значков и нажимаете на меню, вы можете нажать «Показать скрытые файлы», и вы должны увидеть все файлы. Если в режиме подробностей (или списка) опция несколько скрыта (в моем окне 19.04; извините, я обычно не использую nautilus). Windows по умолчанию использует флаг fs (файловая система), чтобы скрыть файлы, где * nix (Ubuntu, любой GNU / Linux, apple или unix) использует «.» в качестве первого символа имени файла, чтобы сделать файл «скрытым».ls -a
в Linux не показывает отсутствующие файлы. И также не показывает «Показать скрытые файлы» в проводнике Windows.Ответы:
Я не уверен, что это правильный ответ, но, возможно, он предоставит вам детали, которые помогут вам.
Это может быть потому, что MS-Windows и Unix используют разные файловые системы на DVD - даже на одном и том же DVD. Файлы на оптическом носителе обычно располагаются с использованием протокола файловой системы, указанного в стандарте ISO 9660 (см. Также примечания в конце).
Но стандарт допускает расширения, и Microsoft разработала собственное расширение к стандарту под названием « Joliet », которое позволяет совместимым с Microsoft Windows операционным системам читать разные имена файлов с большим количеством функций (более длинные имена и поддержка Unicode), чем стандартная файловая система ISO 9660. позволяет.
Для операционных систем в стиле Unix (таких как Linux) было разработано еще одно расширение, называемое « Rock Ridge », чтобы обеспечить еще более длинные имена файлов, разрешения в стиле Unix и некоторые другие вещи.
Распространенные расширения Rock Ridge и Joliet на одном оптическом носителе очень распространены, но может случиться так, что создатель этого DVD использовал эти расширения разумным способом, чтобы файлы, относящиеся к MS-Windows, отображались только в части Joliet. система и только специфичные для Linux файлы отображаются в части системы Rock Ridge.
isoinfo
Программа обсуждается в этом stackexchange ответ может дать больше информации.Примечания:
Как упомянуто в обсуждении в комментариях, в то время как многие носители все еще создаются в ISO 9660 и его расширениях, где могут встречаться приемы, описанные в OP, ISO 9660 устарел, и современные носители должны создаваться с использованием UDF (ISO 13346 ), который является универсальным форматом диска и допускает только одно представление всей файловой системы, поэтому такие приемы, вероятно, будут невозможны на диске, созданном UDF.
источник
isoinfo dev=/dev/dvd -J -ls
показывает недостающие файлы в Linux.--norock
и--nojoliet
mount, которые вы можете использовать в Linux, чтобы решить, какой из трех макетов дерева вы хотите увидеть.mkisofs
фактически, позволяют вам указать, как их генерировать. Раздел «Примеры» на связанной странице руководства показывает, как вы можете создать ISO-файл с именем файлаREADME
, но он будет отображаться с различным содержанием в зависимости от того, какую систему вы используете для просмотра компакт-диска. Процитирую man-страницу: «Вероятно, возможны всевозможные странные результаты с комбинациями опций скрытия ...»Весьма вероятно, что таблицы «rockridge» (unix) и «joliet» (microsoft) по-разному отображают имена файлов iso9660. Они оба включают в себя «отображение» в каждом каталоге, которое в основном говорит, какие фактические ISO-файлы (8 + точка + 3 символа) следует рассматривать как какое более длинное имя. Таким образом, каждый файл на самом деле имеет 2 имени, одно из которых ограничено 8 + 3 символами, а другое - нет.
В Rockridge это отображение представляет собой фактический файл, который добавляется в каждый каталог, iirc с именем «TRANS.TBL» или что-то в этом роде. На joliet это очень уродливый и глупый хак, когда «запись в каталоге» не является реальным файлом, но зарезервирована для этой цели.
источник