Driver NTFS del kernel vs NTFS-3G


18

Una domanda formulata più esauriente da quando ho perso l'accesso all'altra.

Vorrei chiedere che l'altro fosse cancellato, non questo, poiché non avrebbe dovuto essere migrato in primo luogo.

Al momento sono disponibili due driver NTFS per Linux.

Il driver NTFS incluso nel kernel e il driver NTFS-3G dello spazio utenti che utilizza FUSE.

A detta di tutti, NTFS-3G funziona perfettamente.

La mia domanda quindi è se il filesystem NTFS è stato correttamente decodificato, perché il team NTFS del kernel non ha implementato le modifiche nel suo driver? Al momento è ancora contrassegnato come sperimentale e ci sono buone probabilità che distrugga i tuoi dati.

Nota: questo non ha assolutamente nulla a che fare con le distribuzioni ...

Risposte:


24

Purtroppo questo è un problema comune con i progetti della comunità.

Una volta che la comunità ha identificato un problema significativo, i progetti si aprono per risolverlo. In questo caso, il problema è l'utilizzo di FS NTFS.

Linux-NTFS (driver del kernel FS), è stato creato per primo e dopo un po 'lo sviluppo si è bloccato. IMO una cattiva scelta, meritava la priorità e lo fa ancora. Questo driver è stato stabile, di sola lettura, da quando ho fatto Linux (oltre mezzo decennio). Questo risolve solo metà del problema, quindi la comunità ha guardato ovunque potesse.

Captive NTFS (Driver Wrapper for NTFS.SYS), era relativamente più facile da creare. Lo stesso codice esisteva già in altri progetti. Il motivo principale per cui la comunità ha guardato è perché NTFS.SYS non è software libero.

NTFS-3G (Fuse), è stato schiaffeggiato ed è perfettamente funzionante. Il progetto ha la forza commerciale trainante di Tuxera. Questo progetto risolve il problema originale dell'utilizzo di NTFS da Linux. Tuxera offre un driver kernel NTFS proprietario premium, che evidenzia perché la comunità deve completare Linux-NTFS.

Quindi, con il problema originale risolto, le proteste della comunità si sono calmate. Il che può essere sfortunato, poiché molte volte l'implementazione corretta non viene mai completata. Quando ci penso, Tuxera ha effettivamente protetto la sua implementazione proprietaria del kernel NTFS. La creazione di un driver FUSE inferiore ha raffreddato la spinta per un driver del kernel GPL dalle prestazioni solide.

Ora solo per chiarire, sono un grande sostenitore / appassionato di progetti di comunità. Mi capita anche di essere un critico, senza capacità di programmazione del kernel. FUSE ha molti meriti, in particolare per i driver speciali FS. I fatti duri e freddi sono ancora validi, i driver Kernel FS offrono prestazioni molto più forti. Scrivere i driver del kernel richiede molto più tempo / talento, quindi un'implementazione FUSE comparabile. Entrambi (Time from Talented community Programmers), sono sempre stati scarsi.

Spero che questo spieghi la situazione attuale, per quanto riguarda il supporto NTFS Linux.


1

È una questione di priorità. Scegliere di fare una cosa significa che qualcos'altro non verrà fatto. ntfd-3g funziona bene, quindi toccare il driver del kernel ha una priorità molto bassa.


2
Tranne che sono scritti da progetti completamente separati, e sicuramente è importante che il kernel abbia un driver che funziona davvero?
Jack,

Il fatto che siano progetti separati è irrilevante. In realtà, che lo rende peggio dal momento che è necessario trovare qualcuno che ha sia il kernel filesystem modulo conoscenza e la conoscenza NTFS in modo da essere in grado di scrivere il driver del kernel.
Ignacio Vazquez-Abrams,

1
No, non è irrilevante. Al momento il kernel non ha il supporto per la scrittura NTFS, quando è chiaramente possibile. Invece, è necessaria una soluzione di terze parti. La tua risposta è simile a dire perché preoccuparsi di sviluppare Gnome, quando KDE fa bene il lavoro. Non è un'analogia appropriata, poiché sia ​​gnome che KDE sono completamente funzionali, ma ottieni il punto ...
Jack,

3
Ti manca il punto. Ci sono molti vantaggi nell'avere un driver NTFS funzionante nel kernel, senza dover fare affidamento su un driver di spazio utente di terze parti. In ogni caso, la risposta alla mia domanda non è "perché ntfs-3g funziona molto bene". Se hai Project X e Project Y, entrambi hanno lo stesso obiettivo comune e Project Y ottiene il primo, Projec X non si arrenderà. In effetti, vediamo il contrario troppo spesso.
Jack,

1
What would a kernel driver do that a FUSE driver wouldn't?: Libera la CPU per altri processi su sistemi embedded non agganciandola al 100% . Vedi Ubuntu , Mageia , Ubuntu , ArchLinux , openSUSE ecc.
Amit Naidu,

1

oggi mi sono posto questa domanda, in realtà. ecco la mia comprensione davvero nebulosa e non esperta.

ntfs3g non è in realtà un driver, è un'applicazione. utilizza FUSE (filesystem nello spazio utente) per un'interfaccia ed è multipiattaforma. così, mentre il driver ntfs del kernel potrebbe implementare i metodi usati da ntfs3g (potrebbero? non sono sicuro), funzionerebbe nello spazio utente, che non è la giurisdizione del kernel.

... quella era letteralmente solo una conclusione basata su una frase che ho letto. come suona a chiunque sia effettivamente istruito sull'argomento? =)

in effetti, penso che sto andando a blog su questo piccolo. = D


Sì, la versione ntfs-3g è così slooww rispetto alla nativa ntfs.sys su Windows.
user2284570
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.