Драйвер ядра NTFS проти NTFS-3G


18

Більш вичерпне фразове запитання, оскільки я втратив доступ до іншого.

Я б попросив видалити інший, а не цей, як це не слід було мігрувати в першу чергу.

В даний час для Linux доступні два драйвери NTFS.

Драйвер NTFS, що входить до ядра, і драйвер NTFS-3G користувача, який використовує FUSE.

За всіма даними, NTFS-3G працює чудово.

Моє питання тоді: якщо файлова система NTFS була успішно спроектована, чому команда NTFS ядра не здійснила зміни у своєму драйвері? На даний момент він все ще позначений як експериментальний, і є велика ймовірність, що він знищить ваші дані.

Примітка. Це абсолютно не пов'язане з дистрибуцією ...

Відповіді:


24

На жаль, це спільна проблема з громадськими проектами.

Після того, як громада виявить значну проблему, з'являються проекти для її вирішення. У цьому випадку проблема полягає у використанні NTFS FS.

Linux-NTFS (драйвер FS ядра), був створений спочатку, а через деякий час розвиток зупинився. ІМО поганий вибір, він заслужив пріоритет і все ще робить. Цей драйвер стабільний, лише для читання, поки я робив Linux (понад пів десятиліття). Це вирішує лише половину проблеми, тому громада шукала де завгодно.

Захоплений NTFS (Driver Wrapper для NTFS.SYS) було порівняно простіше створити. Скільки коду вже існувало в інших проектах. Основна причина, на яку спільнота зверталася, полягає в тому, що NTFS.SYS не є вільним програмним забезпеченням.

NTFS-3G (плавкий запобіжник), був плесканий разом і є повністю функціональним. Проект є рушійною комерційною силою Tuxera. Цей проект вирішує оригінальну проблему використання NTFS з Linux. Tuxera пропонує преміальний фірмовий драйвер ядра NTFS, який підкреслює, чому спільноті потрібно виконати Linux-NTFS.

Тож із вирішеною початковою проблемою охолодження громади охололо. Що може бути прикро, адже правильна реалізація ніколи не завершується. Коли я замислююся над цим, Tuxera фактично захистив свою власну реалізацію ядра NTFS. Створюючи неповноцінний драйвер FUSE, охолоджував натиск для надійного драйвера ядра GPL.

Тепер для уточнення я є прихильником / ентузіастом громадського проекту. Я просто також став критиком, не маючи можливості програмування ядра. FUSE має багато достоїнств, особливо для спеціальних водіїв FS. Факти холодного жорсткості все ще залишаються, драйвери Kernel FS забезпечують набагато більшу продуктивність. Написання драйверів ядра потребує набагато більше часу / таланту, а потім порівняльна реалізація FUSE. І те, і інше (час від талановитих програмістів громади), завжди не вистачало.

Я сподіваюся, що це пояснює ситуацію, що стосується підтримки Linux NTFS.


1

Це питання пріоритетне. Вибір однієї речі означає, що щось інше не буде зроблено. ntfd-3g працює добре, тому дотик до драйвера ядра є дуже низьким пріоритетом.


2
За винятком того, що вони написані повністю окремими проектами, і явно для ядра важливо мати драйвер, який насправді працює?
Джек

Те, що вони окремі проекти, не має значення. Насправді, це ще гірше, оскільки вам потрібно знайти когось, який має як знання модуля файлової системи ядра, так і знання NTFS, щоб мати можливість записати драйвер ядра.
Ігнасіо Васкес-Абрамс

1
Ні, це не має значення. На даний момент ядро ​​не має підтримки NTFS для запису, коли це очевидно можливо. Натомість потрібне сторонне рішення. Ваша відповідь схожа на те, що потрібно турбуватися над розробкою Gnome, коли KDE виконує цю роботу просто чудово. Це не дуже влучна аналогія, оскільки і gnome, і KDE є повністю функціональними, але ви розумієте ...
Джек

3
Ви пропускаєте суть. Існує безліч переваг того, що в ядрі працює робочий драйвер NTFS, не покладаючись на драйвер стороннього користувача. У будь-якому випадку, відповідь на моє запитання не "тому, що ntfs-3g працює дуже добре". Якщо у вас є проект X та проект Y, обидва мають однакову спільну мету, і проект Y отримує свої перші, Projec X не збирається здаватися. Насправді ми занадто часто бачимо навпаки .
Джек

1
What would a kernel driver do that a FUSE driver wouldn't?: Звільніть процесор для інших процесів вбудованих систем, не зав'язуючи його на 100% . Дивіться Ubuntu , Mageia , Ubuntu , ArchLinux , openSUSE тощо
Amit Naidu

1

Я просто задав собі це питання сьогодні, власне. ось моє дійсно туманне та неекспертне розуміння цього.

ntfs3g насправді не драйвер, це програма. вона використовує FUSE (файлову систему в просторі користувачів) для інтерфейсу і є платформою. тож, хоча драйвер ntfs ядра міг би реалізувати методи, які використовує ntfs3g (чи не знаю я, я не впевнений), він буде працювати в просторі користувачів, що не є юрисдикцією ядра.

... це був буквально лише висновок на основі одного речення, яке я прочитав. як це звучить для тих, хто насправді освічений з цього питання? =)

насправді, я думаю, що я збираюся вести щоденник на цьому маленькому. = D


Так, версія ntfs-3g настільки сложна в порівнянні з рідною ntfs.sys на Windows.
користувач2284570
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.