Trình điều khiển hạt nhân NTFS vs NTFS-3G


18

Một câu hỏi toàn diện hơn kể từ khi tôi mất quyền truy cập vào câu hỏi khác.

Tôi sẽ yêu cầu rằng cái khác sẽ bị xóa, không phải cái này, vì nó không nên được di chuyển ở nơi đầu tiên.

Hiện tại có hai trình điều khiển NTFS có sẵn cho Linux.

Trình điều khiển NTFS có trong kernel và trình điều khiển NTFS-3G không gian người dùng sử dụng FUSE.

Bởi tất cả các tài khoản, NTFS-3G hoạt động hoàn hảo.

Câu hỏi của tôi là, nếu hệ thống tập tin NTFS đã được thiết kế ngược thành công, tại sao nhóm NTFS hạt nhân không thực hiện các thay đổi trong trình điều khiển của họ? Hiện tại nó vẫn được đánh dấu là thử nghiệm và rất có thể nó sẽ phá hủy dữ liệu của bạn.

Lưu ý: Điều này hoàn toàn không có gì để làm với các bản phân phối ...

Câu trả lời:


24

Thật không may, đây là một vấn đề phổ biến với các dự án cộng đồng.

Khi cộng đồng xác định một vấn đề quan trọng, các dự án sẽ xuất hiện để giải quyết nó. Trong trường hợp này, vấn đề là việc sử dụng NTFS FS.

Linux-NTFS (trình điều khiển FS kernel), được tạo trước và sau một thời gian phát triển bị đình trệ. IMO một lựa chọn tồi, nó xứng đáng được ưu tiên và vẫn còn. Trình điều khiển này đã ổn định, chỉ đọc, miễn là tôi đã làm Linux (hơn nửa thập kỷ). Điều này chỉ giải quyết một nửa vấn đề, vì vậy cộng đồng tìm kiếm bất cứ nơi nào họ có thể.

Captive NTFS (Driver Wrapper cho NTFS.SYS), tương đối dễ tạo hơn. Như nhiều mã đã tồn tại trong các dự án khác. Lý do chính khiến cộng đồng tìm kiếm là vì NTFS.SYS không phải là Phần mềm miễn phí.

NTFS-3G (Fuse), được ghép vào nhau và có đầy đủ chức năng. Dự án có động lực thương mại của tuxera. Dự án này giải quyết vấn đề ban đầu là sử dụng NTFS từ Linux. Tuxera cung cấp trình điều khiển hạt nhân NTFS độc quyền cao cấp, nêu bật lý do tại sao cộng đồng cần hoàn thành Linux-NTFS.

Vì vậy, với các vấn đề ban đầu được giải quyết, sự phản đối kịch liệt của cộng đồng. Điều này có thể không may, vì nhiều lần thực hiện đúng không bao giờ được hoàn thành. Khi tôi nghĩ về nó, tuxera thực sự đã bảo vệ việc thực hiện NTFS hạt nhân độc quyền của nó. Tạo trình điều khiển FUSE kém hơn, làm mát việc đẩy cho trình điều khiển hạt nhân GPL hoạt động tốt.

Bây giờ chỉ để làm rõ, tôi là một người ủng hộ / người đam mê dự án cộng đồng lớn. Tôi cũng chỉ là một nhà phê bình, không có khả năng lập trình kernel. FUSE có nhiều giá trị, đặc biệt đối với các trình điều khiển FS đặc biệt. Sự thật phũ phàng lạnh lùng vẫn còn, Trình điều khiển Kernel FS cung cấp hiệu suất mạnh hơn nhiều. Viết trình điều khiển kernel mất nhiều thời gian / tài năng hơn, sau đó là một triển khai FUSE tương đương. Cả hai (Thời gian từ các lập trình viên cộng đồng tài năng), luôn luôn bị thiếu hụt.

Tôi hy vọng điều này giải thích tình hình hiện tại, liên quan đến hỗ trợ Linux NTFS.


1

Đó là vấn đề ưu tiên. Chọn làm một việc có nghĩa là một việc khác sẽ không được thực hiện. ntfd-3g hoạt động tốt, vì vậy việc chạm vào trình điều khiển kernel là ưu tiên rất thấp.


2
Ngoại trừ việc chúng được viết bởi các dự án hoàn toàn riêng biệt, và chắc chắn điều quan trọng là kernel phải có trình điều khiển thực sự hoạt động?
Jack

Thực tế là các dự án riêng biệt của họ là không liên quan. Trong thực tế, điều đó làm cho nó tồi tệ hơn vì bạn cần tìm một người có cả kiến ​​thức mô-đun hệ thống tập tin nhân kiến thức NTFS để có thể viết trình điều khiển hạt nhân.
Ignacio Vazquez-Abrams

1
Không, nó không liên quan. Hiện tại, kernel không có hỗ trợ ghi NTFS, khi đó rõ ràng là có thể. Thay vào đó, một giải pháp bên thứ 3 là cần thiết. Câu trả lời của bạn giống như nói tại sao phải phát triển Gnome, khi KDE thực hiện công việc tốt. Nó không hoàn toàn tương tự apt, vì cả gnome và KDE đều hoàn toàn hoạt động, nhưng bạn có được điểm ...
Jack

3
Bạn đang thiếu điểm. Có nhiều lợi thế khi có trình điều khiển NTFS hoạt động trong kernel, mà không phải phụ thuộc vào trình điều khiển không gian người dùng của bên thứ ba. Trong mọi trường hợp, câu trả lời cho câu hỏi của tôi không phải là "vì ntfs-3g hoạt động rất tốt". Nếu bạn có Project X và Project Y, cả hai đều có cùng một mục tiêu và Project Y có được mục tiêu đầu tiên, Projec X sẽ không từ bỏ. Trong thực tế, chúng ta thấy điều ngược lại với tất cả quá thường xuyên.
Jack

1
What would a kernel driver do that a FUSE driver wouldn't?: Giải phóng CPU cho các quy trình khác trên các hệ thống nhúng bằng cách không chốt 100% . Xem Ubuntu , Mageia , Ubuntu , ArchLinux , openSUSE , v.v.
Amit N Nikol

1

Tôi chỉ tự hỏi mình câu hỏi này ngày hôm nay, thực sự. Đây là sự hiểu biết thực sự mơ hồ và không chuyên gia của tôi về nó.

ntfs3g không thực sự là một trình điều khiển, nó là một ứng dụng. nó sử dụng FUSE (hệ thống tập tin trong không gian người dùng) cho một giao diện và là nền tảng chéo. vì vậy, trong khi trình điều khiển ntfs kernel có thể thực hiện các phương thức được sử dụng bởi ntfs3g (họ có thể không chắc chắn), thì nó sẽ hoạt động trong không gian người dùng, không phải là quyền tài phán của kernel.

... Đó thực sự chỉ là một kết luận dựa trên một câu tôi đọc. Làm thế nào mà âm thanh cho bất cứ ai thực sự giáo dục về chủ đề này? =)

Trên thực tế, tôi nghĩ rằng tôi sẽ viết blog về điều này một chút. = D


Có, phiên bản ntfs-3g rất slooww so với ntfs.sys gốc trên windows.
dùng2284570
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.