NTFS-3G

Treiber für das NTFS-Dateisystem für Linux und andere Betriebssysteme

NTFS-3G ist ein auf FUSE aufsetzender Treiber für das NTFS-Dateisystem für Linux und andere Betriebssysteme, auf denen FUSE verfügbar ist. Entwickelt und vertrieben wird NTFS-3G heute von Tuxera, deren CTO Szabolcs Szakacsits einen großen Teil zur Entwicklung des Treibers beigetragen hat. Das finnische Unternehmen bietet den Dateisystemtreiber in einem dualen Lizenzsystem neben der freien Version auch unter einer proprietären Lizenz für Unternehmen an.

NTFS-3G
Basisdaten

Entwickler Tuxera
Aktuelle Version 1.913[1]
(13. September 2007)
Betriebssystem FreeBSD, Haiku, Linux, macOS, NetBSD, OpenSolaris, QNX u. a.
Programmier­sprache C
Kategorie FUSE
Lizenz GNU GPL Version 2
oder proprietär
www.tuxera.com

NTFS-3G ermöglicht vollständigen Schreib- und Lesezugriff, derzeit mit Ausnahme von verschlüsselten Dateien sowie dem Erstellen und Ändern komprimierter Dateien. Zugriffs- und Eigentumsrechte können nur beim Einhängen des Dateisystems global für den Einhängepunkt gesetzt werden. Nach umfangreichen Tests gilt der Treiber als stabil.

Entwicklung

Bearbeiten

Bereits mit dem Linux-Kernel 2.1.74 von 1995 existierte ein Treiber für das NTFS-Dateisystem, der jedoch nur eingeschränkten Lesezugriff auf NTFS-Dateisysteme bot. Im Jahr 2000 startete Anton Altaparmakov das Linux-NTFS-Projekt auf SourceForge, das neben einer freien NTFS-Programmbibliothek und entsprechenden Dateisystem-Werkzeugen (wie fsck) auch einen Treiber für den Linux-Kernel vorsah. Dieser wurde 2002 im Entwicklerkernel 2.5.11 integriert und zusätzlich auf den damals stabilen Kernel 2.4.18 portiert. Er wurde erst 2024 mit Kernel 6.9 wieder entfernt,[2] nachdem 2021 ein verbesserter NTFS-Treiber von Paragon unter der Bezeichnung NTFS3 in Kernel 5.15 aufgenommen worden war.[3]

Die Dateisystem-Werkzeuge für das NTFS-Dateisystem sind im Paket ntfsprogs[4] untergebracht, das auch den FUSE-Dateisystem-Treiber ntfsmount enthält. FUSE steht für “File System in Userspace”, Dateisystem im Benutzer-Modus. Im unprivilegierten Modus läuft der Dateisystemtreiber zwar etwas langsamer, ist aber in vielen Belangen flexibler einsetzbar und dank der Verfügbarkeit von FUSE auf zahlreichen Plattformen auch einfacher portierbar.

Der Entwickler Szabolcs Szakacsits stellte schließlich 2006 einen im Beta-Stadium befindlichen FUSE-Treiber vor, der die von Linux-NTFS bekannten Einschränkungen nicht mehr aufweisen sollte.[5] Damit war es erstmals möglich, beliebige Dateioperationen von Linux aus auf einem NTFS-Dateisystem durchzuführen.[6] Nach erfolgreicher Weiterentwicklung wurde schließlich am 21. Februar 2007 die erste stabile Veröffentlichung als NTFS-3G Version 1.0 bekanntgegeben.[7]

Nach eigenen Angaben wurde das Unternehmen Tuxera Ltd im Jahr 2008 von Szabolcs Szakacsits gegründet, weil immer mehr Anfragen von bekannten Firmen bezüglich der Integration in deren Produkte diesen Schritt nötig machten.[8] Auf dessen Internetseite bietet das Unternehmen individuell abgestimmte Versionen als Tuxera NTFS for Embedded Systems an.[9]

Ende August 2009 wurde bekannt, dass Tuxera mit Microsoft eine Kooperation eingegangen ist, die auch ein Abkommen zum Geistigen Eigentum einschließt.[10] Da Microsoft damit auch Einblick in die Spezifikation von exFAT ermöglichte, konnte Tuxera neben NTFS auch den Treiber Tuxera exFAT for Embedded Systems entwickeln, der für kommerzielle Abnehmer angeboten wird.[9]

Eigenschaften

Bearbeiten

NTFS-3G wurde mittlerweile auf eine Vielzahl an Betriebssystemen portiert. Da der Treiber auf FUSE aufsetzt, läuft er auf nahezu allen Betriebssystemen, für die FUSE selbst auch verfügbar ist.

Die stabile Version bietet fast vollständigen Zugriff auf Dateien auf einem NTFS-Dateisystem. Sollten Schreibzugriffe auf das Dateisystem durchgeführt werden während es noch unter einem anderen Betriebssystem eingebunden ist (z. B. bei Verwendung des Ruhezustands oder der Schnellstart-Funktion von Windows 8 und neuer), besteht die Gefahr von Datenverlust, da das andere Betriebssystem unter Umständen Informationen zum Zustand aller eingebundenen Dateisysteme im Speicher behält. Aktuelle Versionen von NTFS-3G binden das Dateisystem deshalb standardmäßig nur schreibgeschützt ein, wenn ein Windows mit aktivem Schnellstart oder im Ruhezustand erkannt wird.[11]

Im Entwicklungszweig “Advanced Features”[12] werden experimentelle Funktionen in NTFS-3G getestet und unter Mithilfe der Benutzer verbessert und fehlerbereinigt. Erst wenn diese Funktionen als stabil gelten, werden sie für die stabile Version freigegeben.

Diese sind derzeit:[13]

  • Unterstützung von Zugriffs- und Eigentumsrechten nach den POSIX-Regeln, interoperabel mit Windows.
  • POSIX ACLs (Access Control Lists)
  • „Junction points“ und symbolische Links werden als symbolische Links dargestellt
  • Oft benötigte Daten werden in einem Cache gespeichert
  • Die Allokation von Speicherplatz für fragmentierte und Sparse-Dateien wurde verbessert
  • Der Zugriff auf Windows- und NTFS-spezifische Attribute wie „Versteckt“ oder „System“ ist über die sogenannten „extended attributes“ möglich.[14]
  • Beim Anlegen und Ändern von Dateien wird das Archiv-Bit gesetzt.[15]
  • Komprimierung: Sequentielles Schreiben auf komprimierte Dateien wird unterstützt.[16] (Ausnahme: Sparse-Dateien)
  • Die letzten Testversionen ermöglichen das Lesen und Setzen des 8.3-DOS-Dateinamens.[17]
  • Werkzeuge für die Übersetzung von Windows-Benutzern und -Benutzergruppen in POSIX-Benutzer und -Gruppen sowie für die Überprüfung der Integrität der Daten für Zugriffs- und Eigentumsrechte

Die Verwendung dieser erweiterten Funktionen ist auf der Webseite dieser Erweiterungen ausführlich dokumentiert.

Bearbeiten
  • NTFS-3G (englisch) – Seite des Opensource NTFS-Dateisystemtreibers (bei Tuxera)
  • Tuxera (englisch) – Webpräsenz von Tuxera Ltd

Einzelnachweise

Bearbeiten
  1. Release 1.913. 31. August 2021 (abgerufen am 6. Juli 2023).
  2. Boris Mayer: Linux-Kernel 6.9 veröffentlicht. In: golem.de. 13. Mai 2024, abgerufen am 14. Mai 2024: „Entfernt wurde auch das alte NTFS-Dateisystem, die Unterstützung von NTFS läuft nun standardmäßig über NTFS3.“
  3. Sebastian Grüner: Linux-Kernel bekommt neuen NTFS-Treiber. In: golem.de. 6. September 2021, abgerufen am 14. Mai 2024.
  4. linux-ntfs.org. the Linux-NTFS-Project, archiviert vom Original am 11. Februar 2009; abgerufen am 19. Juni 2011 (englisch, der Linux-NTFS-Treiber).
  5. Szakacsits Szabolcs: [announcement] ntfs-3g: open source read-write driver. Gmane, 14. Juli 2006, abgerufen am 19. Juni 2011 (englisch, Szabolcs Szakacsits stellt seine erste Beta-Version von NTFS-3G vor).
  6. Umfassender Schreibzugriff auf NTFS unter Linux. heise open, 17. Juli 2006, abgerufen am 19. Juni 2011.
  7. NTFS-Treiber für Linux entwächst Beta-Phase. heise open, 21. Februar 2007, abgerufen am 19. Juni 2011.
  8. Company. Brief history. Tuxera Inc., abgerufen am 19. Juni 2011 (englisch, über das Unternehmen).
  9. a b Products. Tuxera Inc., abgerufen am 19. Juni 2011 (englisch, kommerziell vermarktete proprietäre Dateisystemtreiber, inklusive NTFS und exFAT).
  10. NTFS-3G-Firma schließt IP-Abkommen mit Microsoft. heise online, 26. August 2009, abgerufen am 19. Juni 2011.
  11. Thorsten Leemhui: Linux und Windows 8: Schnellstart gefährdet Daten. In: heise.de. 9. Januar 2013, abgerufen am 3. Februar 2024.
  12. NTFS-3G Advanced. Tuxera Inc., abgerufen am 19. Juni 2011 (englisch, über die Advanced Features von NTFS-3G).
  13. Changelog for the Advanced Versions. Jean-Pierre André, abgerufen am 14. März 2018 (Änderungsprotokoll der Advanced Features von NTFS-3G).
  14. http://pagesperso-orange.fr/b.andre/extend-attr.html
  15. http://tuxera.com/forum/viewtopic.php?f=2&t=1248
  16. http://pagesperso-orange.fr/b.andre/compression.html
  17. http://tuxera.com/forum/viewtopic.php?f=2&t=1227