Tại sao Windows và Linux thấy các tệp khác nhau trên DVD ROM?


80

Tôi có một ROM DVD với một số tài nguyên giảng dạy trên đó (DVD của giáo viên dạy tiếng Anh của Headway Begin). Khi tôi xem DVD từ máy Ubuntu, tôi thấy một bộ tệp (bao gồm một setup-linuxtệp trong số những thứ khác, mặc dù điều đó không hoạt động).

Khi tôi xem cùng một DVD từ máy Windows, tôi thấy một tập hợp các tệp khác nhau, bao gồm một setup-windows.exetệp.

Cả hai máy đều không nhìn thấy tất cả các tệp, nhưng có một số điểm chung cho cả hai.

Câu hỏi của tôi là:

  1. Cái này hoạt động ra sao?
  2. Làm cách nào tôi có thể xem tất cả các tệp khi sử dụng Ubuntu?

Chỉnh sửa: điều này không phải do các tệp bị "ẩn" khi được xem trong trình quản lý tệp, những thứ cấp thấp hơn như "ls -a" không tiết lộ các tệp bị thiếu.

Chỉnh sửa 2: Tôi đang sử dụng Ubuntu 18.04 LTS


Bạn chưa nói bạn đang sử dụng bản phát hành Ubuntu nào, nhưng trong nautilus(hoặc 'Tệp' trình quản lý tệp cho gnome) nếu bạn chuyển sang chế độ xem biểu tượng và nhấp vào menu bạn có thể nhấp vào "Hiển thị tệp ẩn" và bạn sẽ thấy tất cả các tập tin. Nếu ở chế độ chi tiết (hoặc danh sách), tùy chọn này hơi bị ẩn (trên hộp 19.04 của tôi; xin lỗi tôi không sử dụng nautilus bình thường). Windows theo mặc định sử dụng cờ fs (hệ thống tệp) để ẩn các tệp, trong đó như * nix (Ubuntu, bất kỳ GNU / Linux, apple hoặc unix) đều sử dụng '.' là ký tự đầu tiên của tên tệp để tạo một tệp 'ẩn'.
guiverc

2
Đây không phải là một tập tin ẩn - sử dụng ls -atrong Linux không hiển thị các tập tin bị thiếu. Và cũng không "Hiển thị tệp ẩn" trong Windows explorer.
spookylukey

Câu trả lời:


112

Tôi không chắc đây là câu trả lời đúng, nhưng có lẽ nó sẽ cung cấp cho bạn thông tin chi tiết sẽ giúp bạn.

Có thể là do MS-Windows và Unix sử dụng các hệ thống tệp khác nhau trên DVD - ngay cả trên cùng một DVD. Các tệp trên môi trường quang thường được sắp xếp bằng giao thức hệ thống tệp được chỉ định trong tiêu chuẩn ISO 9660 (cũng xem ghi chú ở cuối).

Nhưng tiêu chuẩn cho phép mở rộng và Microsoft đã thiết kế tiện ích mở rộng của riêng họ cho tiêu chuẩn có tên " Joliet " cho phép các hệ điều hành tương thích Microsoft Windows đọc các tên tệp khác nhau với nhiều tính năng hơn (tên dài hơn và hỗ trợ Unicode) so với hệ thống tệp ISO 9660 tiêu chuẩn cho phép.

Đối với các hệ điều hành kiểu Unix (như Linux), một phần mở rộng khác có tên " Rock Ridge " đã được phát triển, để cho phép các tên tệp dài hơn, quyền theo kiểu Unix và một vài thứ khác.

Rất phổ biến khi có cả phần mở rộng Rock Ridge và Joliet trên cùng một phương tiện quang, nhưng có thể là người tạo DVD đó đã sử dụng các phần mở rộng này một cách thông minh để chỉ hiển thị các tệp liên quan đến MS-Windows trong phần Joliet của hệ thống và chỉ có các tệp cụ thể của Linux hiển thị trong phần Rock Ridge của hệ thống. Các isoinfochương trình thảo luận trong câu trả lời stackexchange này có thể cung cấp thêm thông tin.

Ghi chú:

Như đã đề cập trong các cuộc thảo luận trong các bình luận, trong khi rất nhiều phương tiện truyền thông vẫn là tác giả của ISO 9660 và các phần mở rộng của nó trong đó các loại thủ thuật được thảo luận trong OP có thể xảy ra, ISO 9660 đã lỗi thời và phương tiện hiện đại nên được tác giả sử dụng UDF (ISO 13346 ) là Định dạng đĩa phổ quát và chỉ cho phép một chế độ xem toàn bộ hệ thống tệp - vì vậy các thủ thuật như vậy có thể sẽ không thể thực hiện được trên đĩa do UDF ủy quyền.


27
Cảm ơn, thế là đủ - isoinfo dev=/dev/dvd -J -lshiển thị các tệp bị thiếu trong Linux.
spookylukey

25
Câu trả lời khá hay, nhưng một chi tiết quan trọng tôi thấy còn thiếu là các tùy chọn gắn kết --norock--nojolietbạn có thể sử dụng trên Linux để quyết định bố cục nào trong ba bố cục cây bạn muốn xem.
kasperd

8
Wow đó là ... thực sự thanh lịch đáng ngạc nhiên.
Các cuộc đua nhẹ nhàng trong quỹ đạo

4
Một số công cụ như mkisofsthực sự cho phép bạn chỉ định cách tạo chúng. Phần "Ví dụ" tại trang man được liên kết hiển thị cách bạn có thể tạo ISO có tệp có tên README, nhưng sẽ xuất hiện với các nội dung khác nhau tùy thuộc vào hệ thống bạn đang sử dụng để xem CD. Để trích dẫn trang nam: "Có lẽ có tất cả các loại kết quả kỳ lạ có thể có với sự kết hợp của các tùy chọn ẩn ..."
Herohtar

3
Tôi rất vui khi có đề cập đến UDF trong các bình luận, nhưng tôi không chắc nó có liên quan đến cuộc thảo luận - nếu hệ thống tệp trên DVD của OP là định dạng phổ quát thì bạn sẽ không thể có được các quan điểm khác nhau trong Windows và Linux, theo như tôi hiểu.
Guss

0

Rất có thể các bảng "rockridge" (unix) và "joliet" (microsoft) ánh xạ các tên tệp iso9660 trần khác nhau. Cả hai đều liên quan đến một "ánh xạ" trong mỗi thư mục về cơ bản cho biết các tệp iso thực tế (8 + chấm + 3 ký tự) nên được xem là tên dài hơn. Vì vậy, mỗi tệp thực sự có 2 tên, một tên giới hạn ở 8 + 3 ký tự và một tên thì không.

Trên rockridge, ánh xạ này là một tệp thực tế được thêm vào mỗi thư mục, iirc có tên "TRANS.TBL" hoặc một cái gì đó. Trên joliet, đó là một vụ hack cực kỳ xấu xí và ngu ngốc trong đó "mục nhập thư mục" không phải là một tập tin thực sự, nhưng được dành riêng cho mục đích này.


Ồ tôi quên thêm: windows chỉ hỗ trợ joliet (không có gì bất ngờ) trong khi linux hỗ trợ cả hai (cũng không có gì bất ngờ) mặc dù trong linux và hầu hết các hệ thống unix khác, rockridge được ưu tiên theo mặc định. Tuy nhiên, có các tùy chọn gắn kết để vô hiệu hóa cái này hoặc cái kia, hoặc cả hai. Nếu bạn vô hiệu hóa cả hai, thì bạn sẽ chỉ thấy tên tệp 8.3 ngắn, giống như bạn làm cho ex. trong DOS hoặc trong windows 3.x và trước đó. Tùy thuộc vào trình quản lý tệp và môi trường máy tính để bàn mà bạn sử dụng, có thể có cách "thân thiện với người dùng" để thực hiện việc đó mà không cần nhập lệnh :)
delt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.