Captive ist ein von Jan Kratochvil entwickeltes freies Programmpaket, mit dem es um 2005 erstmals möglich wurde, unter Linux auf das proprietäre Dateisystem NTFS sicher schreibend zuzugreifen. Dies erreichte Captive durch die Einbindung des originalen Treibers ntfs.sys von Windows XP.

Captive NTFS
Basisdaten

Entwickler Jan Kratochvil
Aktuelle Version 1.1.7
(26. Januar 2006)
Betriebssystem Linux
Programmiersprache C[1]
Kategorie Dateisystem
Lizenz GPL
deutschsprachig nein
Sonstiges Entwicklung eingestelltVorlage:Infobox Software/Wartung/Sonstiges
https://jankratochvil.net/project/captive/

Captive wird seit Januar 2006 nicht mehr weiterentwickelt und wird dank ausgereifter Alternativen auch nicht mehr benötigt.[2]

Hintergrund Bearbeiten

NTFS ist das Standard-Dateisystem der Microsoft-Betriebssysteme der NT-Reihe. Die Spezifikationen von NTFS sind nicht öffentlich zugänglich. Obwohl Linux-Entwickler seit 1995 versucht haben, NTFS-Treiber zu schreiben, dauerte es über zehn Jahre, bis dieses Unterfangen mit NTFS-3G erfolgreich verwirklicht wurde. Als dieses Ziel erreicht war, wurde die Entwicklung von Captive-NTFS folgerichtigerweise aufgegeben.

Vor- und Nachteile Bearbeiten

Captive NTFS stellte zum ersten Mal die Möglichkeit bereit, uneingeschränkt und sicher auf NTFS-Dateisysteme zuzugreifen. Es hatte jedoch einen äußerst hohen Bedarf an Arbeitsspeicher. Die Zugriffe wurden zudem durch die Emulation einer Windowsumgebung erheblich verlangsamt.

Für die Nutzung des Microsoft-Treibers, der nicht Teil von Captive war und nachgeladen werden musste, war wie beim normalen Einsatz von Windows eine Windows-Lizenz erforderlich.[3]

Implementierung Bearbeiten

Captive NTFS umging die Probleme des Linux-eigenen NTFS-Treibers, indem es den originalen Treiber ntfs.sys aus Microsoft Windows XP in einer Sandbox laufen ließ. Mit Hilfe von Komponenten des freien Windows NT-Nachbaus ReactOS entwickelte Jan Kratochvil eine Kompatibilitätsschicht, die dem Treiber eine Windows-Umgebung vortäuschte und ihn so nutzbar machte. Transparenter Zugriff auf das Dateisystem (also ein aus Sicht von Programmen und Benutzern unmittelbarer Zugriff, der sich nicht von dem auf native Dateisysteme unterscheidet) wurde ermöglicht, indem diese Software mit Hilfe des Userland-Dateisystems FUSE in den Kernel eingebunden wurde.[3]

Alternativen Bearbeiten

Im Laufe des Jahres 2005 hat das Linux-NTFS-Projekt eine weitgehende Unterstützung von NTFS erreicht. So können, mit bestimmten Einschränkungen, mittlerweile Dateien neu angelegt, gelöscht und in ihrer Größe verändert werden. Diese Funktionen werden allerdings nur nach und nach in den Linux-Kernel integriert.

Die weitergehenden Funktionen, die in den vom Linux-NTFS-Projekt herausgegebenen Bibliotheken implementiert sind, lassen sich über die Hilfsprogramme ntfsmount (Paket ntfstools) sowie NTFS-3G nutzen, die ihrerseits auf FUSE (Filesystem in Userspace) zurückgreifen, um Partitionen im Dateisystem verfügbar zu machen. NTFS-3G ist das neuere der beiden Programme und weist nur noch auf die unterschiedliche Architektur von Windows und Linux bezogene Einschränkungen auf.

Eine kommerzielle Alternative ist NTFS for Linux von Paragon Software.[4] 2021 stellte Paragon einen NTFS-Treiber quelloffenen unter die GPL. Als ntfs3[5] wurde der rund 27.000 Zeilen umfassende Quelltext in den Linux-Kernel aufgenommen und steht dort seit Kernel-Version 5.15 für interessierte Nutzer zur Verfügung.[6]

Einzelnachweise Bearbeiten

  1. The captive-ntfs Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 3. September 2018).
  2. Thomas Leichtenstern, Kristian Kißling: NTFS unter Linux verwenden. In: LinuxUser 02/2010. Abgerufen am 14. September 2023 (deutsch).
  3. a b Richard Russon: NTFS unter Linux - NTFS benutzen. In: Pro-Linux. 1. August 2005, abgerufen am 14. September 2023.
  4. Jan Kleinert: Paragon NTFS for Linux 3 gegen Captive 1.1.5. In: Linux-Magazin 11/2004. Abgerufen am 14. September 2023 (deutsch).
  5. NTFS3. In: The Linux Kernel documentation (Linux 5.15). The kernel development community, 2021, abgerufen am 14. September 2023 (englisch).
  6. Thorsten Leemhuis: Linux-Kernel: Potenterer Treiber fürs NTFS-Dateisystem integriert. In: Heise online. 6. September 2021. Abgerufen am 14. September 2023.