source: postlfs/filesystems/ntfs-3g.xml@ 83fbca4

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 83fbca4 was 3733ce5, checked in by Pierre Labastie <pierre.labastie@…>, 16 months ago

Update kernel config for ntfs3 (in ntfs-3g)

The layout has changed. Current as of linux-6.2

  • Property mode set to 100644
File size: 17.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ntfs-3g-download-http
8 "https://tuxera.com/opensource/ntfs-3g_ntfsprogs-&ntfs-3g-version;.tgz">
9 <!ENTITY ntfs-3g-download-ftp " ">
10 <!ENTITY ntfs-3g-md5sum "a038af61be7584b79f8922ff11244090">
11 <!ENTITY ntfs-3g-size "1.3 MB">
12 <!ENTITY ntfs-3g-buildsize "22 MB">
13 <!ENTITY ntfs-3g-time "0.2 SBU">
14]>
15
16<sect1 id="ntfs-3g" xreflabel="ntfs-3g-&ntfs-3g-version;">
17 <?dbhtml filename="ntfs-3g.html"?>
18
19
20 <title>ntfs-3g-&ntfs-3g-version;</title>
21
22 <indexterm zone="ntfs-3g">
23 <primary sortas="a-ntfs-3g">ntfs-3g</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to Ntfs-3g</title>
28
29 <note>
30 <para id='ntfs3-kernel'>
31 A new read-write driver for NTFS, called NTFS3, has been added
32 into the Linux kernel since the 5.15 release. The performance of NTFS3
33 is much better than ntfs-3g. To enable NTFS3, enable the following
34 options in the kernel configuration and recompile the kernel if
35 necessary:
36 </para>
37
38<screen><literal>File systems ---&gt;
39 DOS/FAT/EXFAT/NT Filesystems ---&gt;
40 &lt;*/M&gt; NTFS Read-Write file system support [CONFIG_NTFS3_FS]</literal></screen>
41
42 <indexterm zone="ntfs-3g ntfs3-kernel">
43 <primary sortas="d-ntfs3">NTFS read-write support in kernel</primary>
44 </indexterm>
45
46 <para>
47 To ensure the <command>mount</command> command uses NTFS3 for
48 ntfs partitions, create a wrapper script:
49 </para>
50
51<screen role="nodump"><userinput>cat &gt; /usr/sbin/mount.ntfs &lt;&lt; "EOF" &amp;&amp;
52<literal>#!/bin/sh
53exec mount -t ntfs3 "$@"</literal>
54EOF
55chmod -v 755 /usr/sbin/mount.ntfs</userinput></screen>
56
57 <para>
58 With the kernel support available, ntfs-3g is only needed if you
59 need the utilities from it (for example, to create NTFS
60 filesystems).
61 </para>
62 </note>
63
64 <para>
65 The <application>Ntfs-3g</application> package contains a stable,
66 read-write open source driver for NTFS partitions. NTFS partitions are
67 used by most Microsoft operating systems. Ntfs-3g allows you to mount
68 NTFS partitions in read-write mode from your Linux system. It uses the
69 FUSE kernel module to be able to implement NTFS support in userspace.
70 The package also contains various utilities useful for manipulating NTFS
71 partitions.
72 </para>
73
74 &lfs113_checked;
75
76 <bridgehead renderas="sect3">Package Information</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 Download (HTTP): <ulink url="&ntfs-3g-download-http;"/>
81 </para>
82 </listitem>
83 <listitem>
84 <para>
85 Download (FTP): <ulink url="&ntfs-3g-download-ftp;"/>
86 </para>
87 </listitem>
88 <listitem>
89 <para>
90 Download MD5 sum: &ntfs-3g-md5sum;
91 </para>
92 </listitem>
93 <listitem>
94 <para>
95 Download size: &ntfs-3g-size;
96 </para>
97 </listitem>
98 <listitem>
99 <para>
100 Estimated disk space required: &ntfs-3g-buildsize;
101 </para>
102 </listitem>
103 <listitem>
104 <para>
105 Estimated build time: &ntfs-3g-time;
106 </para>
107 </listitem>
108 </itemizedlist>
109
110 <bridgehead renderas="sect3">Ntfs-3g Dependencies</bridgehead>
111
112 <bridgehead renderas="sect4">Optional</bridgehead>
113 <para role="optional">
114 <ulink url="https://github.com/libfuse/libfuse">fuse 2.x</ulink>
115 (this disables user mounts)
116 </para>
117
118 <para condition="html" role="usernotes">
119 User Notes: <ulink url="&blfs-wiki;/ntfs-3g"/>
120 </para>
121 </sect2>
122
123 <sect2 role="kernel" id="ntfs-3g-kernel">
124 <title>Kernel Configuration</title>
125
126 <para>
127 Enable the following options in the kernel configuration and recompile the
128 kernel if necessary:
129 </para>
130
131<screen><literal>File systems ---&gt;
132 &lt;*/M&gt; FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]</literal></screen>
133
134 <indexterm zone="ntfs-3g ntfs-3g-kernel">
135 <primary sortas="d-ntfs-3g">ntfs-3g</primary>
136 </indexterm>
137 </sect2>
138
139 <sect2 role="installation">
140 <title>Installation of Ntfs-3g</title>
141
142<!--
143 <para>
144 First, adapt <application>Ntfs-3g</application> to the merged-/usr
145 changes:
146 </para>
147
148<screen><userinput remap="pre">sed -i 's|/sbin|$(rootsbindir)|' {ntfsprogs,src}/Makefile.in</userinput></screen>
149-->
150
151 <para>
152 Install <application>Ntfs-3g</application> by running the following
153 commands:
154 </para>
155
156<screen><userinput>./configure --prefix=/usr \
157 --disable-static \
158 --with-fuse=internal \
159 --docdir=/usr/share/doc/ntfs-3g-&ntfs-3g-version; &amp;&amp;
160make</userinput></screen>
161
162 <para>
163 This package does not come with a test suite.
164 </para>
165
166 <para>
167 Now, as the <systemitem class="username">root</systemitem> user:
168 </para>
169
170<screen role="root"><userinput>make install &amp;&amp;</userinput></screen>
171
172 <para>
173 It's recommended to use the in-kernel NTFS3 driver for mounting
174 NTFS filesystems, instead of ntfs-3g (see the note at the start of
175 this page). However, if you want to use ntfs-3g to mount the NTFS
176 filesystems anyway, create a symlink for the <command>mount</command>
177 command:
178 </para>
179
180<screen role="nodump"><userinput>ln -sv ../bin/ntfs-3g /usr/sbin/mount.ntfs &amp;&amp;
181ln -sv ntfs-3g.8 /usr/share/man/man8/mount.ntfs.8</userinput></screen>
182
183 </sect2>
184
185 <sect2 role="commands">
186 <title>Command Explanations</title>
187
188 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
189 href="../../xincludes/static-libraries.xml"/>
190<!--
191 <para>
192 <command>patch -Np1 -i ...</command>: This command applies a security
193 patch from upstream to fix ntfs-3g on systems that use setuid for the
194 executable.
195 </para>
196-->
197
198 <para>
199 <parameter>--with-fuse=internal</parameter>: This switch dynamically
200 forces <application>ntfs-3g</application> to use an internal copy of the
201 <application>fuse-2.x</application> library. This is required if you wish
202 to allow users to mount NTFS partitions.
203 </para>
204
205 <para>
206 <option>--disable-ntfsprogs</option>: Disables installation of various
207 utilities used to manipulate NTFS partitions.
208 </para>
209
210 <para>
211 <command>chmod -v 4755 /usr/bin/ntfs-3g</command>: Making mount.ntfs setuid
212 root allows non root users to mount NTFS partitions.
213 </para>
214
215 </sect2>
216
217 <sect2 role="configuration">
218 <title>Using Ntfs-3g</title>
219
220 <para>
221 To mount a Windows partition at boot time, put a line like this in
222 /etc/fstab:
223 </para>
224
225 <screen>/dev/sda1 /mnt/windows auto defaults 0 0</screen>
226
227 <para>
228 To allow users to mount a usb stick with an NTFS filesystem on it, put a
229 line similar to this (change sdc1 to whatever a usb stick would be on your
230 system) in /etc/fstab:
231 </para>
232
233 <screen>/dev/sdc1 /mnt/usb auto user,noauto,umask=0,utf8 0 0</screen>
234
235 <para>
236 In order for a user to be able to mount the usb stick, they will need
237 to be able to write to <filename class="directory">/mnt/usb</filename>,
238 so as the <systemitem class="username">root</systemitem> user:
239 </para>
240
241<screen role="nodump"><userinput>chmod -v 777 /mnt/usb</userinput></screen>
242
243 </sect2>
244
245 <sect2 role="content">
246 <title>Contents</title>
247
248 <segmentedlist>
249 <segtitle>Installed Programs</segtitle>
250 <segtitle>Installed Library</segtitle>
251 <segtitle>Installed Directories</segtitle>
252
253 <seglistitem>
254 <seg>
255 lowntfs-3g, mkfs.ntfs, mkntfs, mount.lowntfs-3g,
256 mount.ntfs, mount.ntfs-3g, ntfs-3g, ntfs-3g.probe,
257 ntfscat, ntfsclone, ntfscluster, ntfscmp, ntfscp, ntfsfix,
258 ntfsinfo, ntfslabel, ntfsls, ntfsresize and
259 ntfsundelete
260 </seg>
261 <seg>
262 libntfs-3g.so
263 </seg>
264 <seg>
265 /usr/include/ntfs-3g and
266 /usr/share/doc/ntfs-3g
267 </seg>
268 </seglistitem>
269 </segmentedlist>
270
271 <variablelist>
272 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
273 <?dbfo list-presentation="list"?>
274 <?dbhtml list-presentation="table"?>
275
276 <varlistentry id="lowntfs-3g">
277 <term><command>lowntfs-3g</command></term>
278 <listitem>
279 <para>
280 is similar to ntfs-3g but uses the Fuse low-level interface
281 </para>
282 <indexterm zone="ntfs-3g lowntfs-3g">
283 <primary sortas="b-lowntfs-3g">lowntfs-3g</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="mkfs.ntfs">
289 <term><command>mkfs.ntfs</command></term>
290 <listitem>
291 <para>
292 is a symlink to mkntfs
293 </para>
294 <indexterm zone="ntfs-3g mkfs.ntfs">
295 <primary sortas="b-mkfs.ntfs">mkfs.ntfs</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="mkntfs">
301 <term><command>mkntfs</command></term>
302 <listitem>
303 <para>
304 creates an NTFS file system
305 </para>
306 <indexterm zone="ntfs-3g mkntfs">
307 <primary sortas="b-mkntfs">mkntfs</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="mount.lowntfs-3g">
313 <term><command>mount.lowntfs-3g</command></term>
314 <listitem>
315 <para>
316 is a symlink to lowntfs-3g
317 </para>
318 <indexterm zone="ntfs-3g mount.lowntfs-3g">
319 <primary sortas="b-mount.lowntfs-3g">mount.lowntfs-3g</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 <varlistentry id="mount.ntfs">
325 <term><command>mount.ntfs</command></term>
326 <listitem>
327 <para>
328 mounts an NTFS filesystem
329 </para>
330 <indexterm zone="ntfs-3g mount.ntfs">
331 <primary sortas="b-mount.ntfs">mount.ntfs</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="mount.ntfs-3g">
337 <term><command>mount.ntfs-3g</command></term>
338 <listitem>
339 <para>
340 is a symbolic link to ntfs-3g
341 </para>
342 <indexterm zone="ntfs-3g mount.ntfs-3g">
343 <primary sortas="b-mount.ntfs-3g">mount.ntfs-3g</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="ntfs-3g-prog">
349 <term><command>ntfs-3g</command></term>
350 <listitem>
351 <para>
352 is an NTFS driver, which can create, remove, rename, move
353 files, directories, hard links, and streams. It can also read and write
354 files, including streams, sparse files and transparently compressed
355 files. It can also handle special files like symbolic links, devices, and
356 FIFOs; moreover it provides standard management of file ownership
357 and permissions, including POSIX ACLs
358 </para>
359 <indexterm zone="ntfs-3g ntfs-3g-prog">
360 <primary sortas="b-ntfs-3g">ntfs-3g</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="ntfs-3g.probe">
366 <term><command>ntfs-3g.probe</command></term>
367 <listitem>
368 <para>
369 tests if an NTFS volume is mountable read only or read-write, and
370 exits with a status value accordingly. The volume can be a block
371 device or image file
372 </para>
373 <indexterm zone="ntfs-3g ntfs-3g.probe">
374 <primary sortas="b-ntfs-3g.probe">ntfs-3g.probe</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379<!-- Not present in 2021.8.22
380 <varlistentry id="ntfs-3g.secaudit">
381 <term><command>ntfs-3g.secaudit</command></term>
382 <listitem>
383 <para>
384 audits NTFS Security Data
385 </para>
386 <indexterm zone="ntfs-3g ntfs-3g.secaudit">
387 <primary sortas="b-ntfs-3g.secaudit">ntfs-3g.secaudit</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="ntfs-3g.usermap">
393 <term><command>ntfs-3g.usermap</command></term>
394 <listitem>
395 <para>
396 creates the file defining the mapping of Windows accounts to Linux
397 logins for users who owns files which should be visible from both
398 Windows and Linux
399 </para>
400 <indexterm zone="ntfs-3g ntfs-3g.usermap">
401 <primary sortas="b-ntfs-3g.usermap">ntfs-3g.usermap</primary>
402 </indexterm>
403 </listitem>
404 </varlistentry>
405-->
406
407 <varlistentry id="ntfscluster">
408 <term><command>ntfscluster</command></term>
409 <listitem>
410 <para>
411 identifies files in a specified region of an NTFS volume
412 </para>
413 <indexterm zone="ntfs-3g ntfscluster">
414 <primary sortas="b-ntfscluster">ntfscluster</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419 <varlistentry id="ntfscp">
420 <term><command>ntfscp</command></term>
421 <listitem>
422 <para>
423 copies a file to an NTFS volume
424 </para>
425 <indexterm zone="ntfs-3g ntfscp">
426 <primary sortas="b-ntfscp">ntfscp</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="ntfsfix">
432 <term><command>ntfsfix</command></term>
433 <listitem>
434 <para>
435 fixes common errors and forces Windows to check an NTFS partition
436 </para>
437 <indexterm zone="ntfs-3g ntfsfix">
438 <primary sortas="b-ntfsfix">ntfsfix</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="ntfsls">
444 <term><command>ntfsls</command></term>
445 <listitem>
446 <para>
447 lists directory contents on an NTFS filesystem
448 </para>
449 <indexterm zone="ntfs-3g ntfsls">
450 <primary sortas="b-ntfsls">ntfsls</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 <varlistentry id="ntfscat">
456 <term><command>ntfscat</command></term>
457 <listitem>
458 <para>
459 prints NTFS files and streams on the standard output
460 </para>
461 <indexterm zone="ntfs-3g ntfscat">
462 <primary sortas="b-ntfscat">ntfscat</primary>
463 </indexterm>
464 </listitem>
465 </varlistentry>
466
467 <varlistentry id="ntfsclone">
468 <term><command>ntfsclone</command></term>
469 <listitem>
470 <para>
471 clones an NTFS filesystem
472 </para>
473 <indexterm zone="ntfs-3g ntfsclone">
474 <primary sortas="b-ntfsclone">ntfsclone</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="ntfscmp">
480 <term><command>ntfscmp</command></term>
481 <listitem>
482 <para>
483 compares two NTFS filesystems and shows the differences
484 </para>
485 <indexterm zone="ntfs-3g ntfscmp">
486 <primary sortas="b-ntfscmp">ntfscmp</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 <varlistentry id="ntfsinfo">
492 <term><command>ntfsinfo</command></term>
493 <listitem>
494 <para>
495 dumps a file's attributes
496 </para>
497 <indexterm zone="ntfs-3g ntfsinfo">
498 <primary sortas="b-ntfsinfo">ntfsinfo</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 <varlistentry id="ntfslabel">
504 <term><command>ntfslabel</command></term>
505 <listitem>
506 <para>
507 displays or changes the label on an ntfs file system
508 </para>
509 <indexterm zone="ntfs-3g ntfslabel">
510 <primary sortas="b-ntfslabel">ntfslabel</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
514
515 <varlistentry id="ntfsresize">
516 <term><command>ntfsresize</command></term>
517 <listitem>
518 <para>
519 resizes an NTFS filesystem without data loss
520 </para>
521 <indexterm zone="ntfs-3g ntfsresize">
522 <primary sortas="b-ntfsresize">ntfsresize</primary>
523 </indexterm>
524 </listitem>
525 </varlistentry>
526
527 <varlistentry id="ntfsundelete">
528 <term><command>ntfsundelete</command></term>
529 <listitem>
530 <para>
531 recovers a deleted file from an NTFS volume
532 </para>
533 <indexterm zone="ntfs-3g ntfsundelete">
534 <primary sortas="b-ntfsundelete">ntfsundelete</primary>
535 </indexterm>
536 </listitem>
537 </varlistentry>
538
539 <varlistentry id="libntfs-3g">
540 <term><filename class="libraryfile">libntfs-3g.so</filename></term>
541 <listitem>
542 <para>
543 contains the Ntfs-3g API functions
544 </para>
545 <indexterm zone="ntfs-3g libntfs-3g">
546 <primary sortas="c-libntfs-3g">libntfs-3g.so</primary>
547 </indexterm>
548 </listitem>
549 </varlistentry>
550 </variablelist>
551 </sect2>
552
553</sect1>
Note: See TracBrowser for help on using the repository browser.