source: postlfs/filesystems/ntfs-3g.xml@ 41d4fe23

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 41d4fe23 was b9567b04, checked in by Xi Ruoyao <xry111@…>, 12 months ago

postlfs: Remove non-exist User Notes link

Part of User Notes removal by
https://www.linuxfromscratch.org/~xry111/remove-nonexist-usernote.sh

  • Property mode set to 100644
File size: 17.0 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 </sect2>
119
120 <sect2 role="kernel" id="ntfs-3g-kernel">
121 <title>Kernel Configuration</title>
122
123 <para>
124 Enable the following options in the kernel configuration and recompile the
125 kernel if necessary:
126 </para>
127
128<screen><literal>File systems ---&gt;
129 &lt;*/M&gt; FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]</literal></screen>
130
131 <indexterm zone="ntfs-3g ntfs-3g-kernel">
132 <primary sortas="d-ntfs-3g">ntfs-3g</primary>
133 </indexterm>
134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of Ntfs-3g</title>
138
139<!--
140 <para>
141 First, adapt <application>Ntfs-3g</application> to the merged-/usr
142 changes:
143 </para>
144
145<screen><userinput remap="pre">sed -i 's|/sbin|$(rootsbindir)|' {ntfsprogs,src}/Makefile.in</userinput></screen>
146-->
147
148 <para>
149 Install <application>Ntfs-3g</application> by running the following
150 commands:
151 </para>
152
153<screen><userinput>./configure --prefix=/usr \
154 --disable-static \
155 --with-fuse=internal \
156 --docdir=/usr/share/doc/ntfs-3g-&ntfs-3g-version; &amp;&amp;
157make</userinput></screen>
158
159 <para>
160 This package does not come with a test suite.
161 </para>
162
163 <para>
164 Now, as the <systemitem class="username">root</systemitem> user:
165 </para>
166
167<screen role="root"><userinput>make install &amp;&amp;</userinput></screen>
168
169 <para>
170 It's recommended to use the in-kernel NTFS3 driver for mounting
171 NTFS filesystems, instead of ntfs-3g (see the note at the start of
172 this page). However, if you want to use ntfs-3g to mount the NTFS
173 filesystems anyway, create a symlink for the <command>mount</command>
174 command:
175 </para>
176
177<screen role="nodump"><userinput>ln -sv ../bin/ntfs-3g /usr/sbin/mount.ntfs &amp;&amp;
178ln -sv ntfs-3g.8 /usr/share/man/man8/mount.ntfs.8</userinput></screen>
179
180 </sect2>
181
182 <sect2 role="commands">
183 <title>Command Explanations</title>
184
185 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
186 href="../../xincludes/static-libraries.xml"/>
187<!--
188 <para>
189 <command>patch -Np1 -i ...</command>: This command applies a security
190 patch from upstream to fix ntfs-3g on systems that use setuid for the
191 executable.
192 </para>
193-->
194
195 <para>
196 <parameter>--with-fuse=internal</parameter>: This switch dynamically
197 forces <application>ntfs-3g</application> to use an internal copy of the
198 <application>fuse-2.x</application> library. This is required if you wish
199 to allow users to mount NTFS partitions.
200 </para>
201
202 <para>
203 <option>--disable-ntfsprogs</option>: Disables installation of various
204 utilities used to manipulate NTFS partitions.
205 </para>
206
207 <para>
208 <command>chmod -v 4755 /usr/bin/ntfs-3g</command>: Making mount.ntfs setuid
209 root allows non root users to mount NTFS partitions.
210 </para>
211
212 </sect2>
213
214 <sect2 role="configuration">
215 <title>Using Ntfs-3g</title>
216
217 <para>
218 To mount a Windows partition at boot time, put a line like this in
219 /etc/fstab:
220 </para>
221
222 <screen>/dev/sda1 /mnt/windows auto defaults 0 0</screen>
223
224 <para>
225 To allow users to mount a usb stick with an NTFS filesystem on it, put a
226 line similar to this (change sdc1 to whatever a usb stick would be on your
227 system) in /etc/fstab:
228 </para>
229
230 <screen>/dev/sdc1 /mnt/usb auto user,noauto,umask=0,utf8 0 0</screen>
231
232 <para>
233 In order for a user to be able to mount the usb stick, they will need
234 to be able to write to <filename class="directory">/mnt/usb</filename>,
235 so as the <systemitem class="username">root</systemitem> user:
236 </para>
237
238<screen role="nodump"><userinput>chmod -v 777 /mnt/usb</userinput></screen>
239
240 </sect2>
241
242 <sect2 role="content">
243 <title>Contents</title>
244
245 <segmentedlist>
246 <segtitle>Installed Programs</segtitle>
247 <segtitle>Installed Library</segtitle>
248 <segtitle>Installed Directories</segtitle>
249
250 <seglistitem>
251 <seg>
252 lowntfs-3g, mkfs.ntfs, mkntfs, mount.lowntfs-3g,
253 mount.ntfs, mount.ntfs-3g, ntfs-3g, ntfs-3g.probe,
254 ntfscat, ntfsclone, ntfscluster, ntfscmp, ntfscp, ntfsfix,
255 ntfsinfo, ntfslabel, ntfsls, ntfsresize and
256 ntfsundelete
257 </seg>
258 <seg>
259 libntfs-3g.so
260 </seg>
261 <seg>
262 /usr/include/ntfs-3g and
263 /usr/share/doc/ntfs-3g
264 </seg>
265 </seglistitem>
266 </segmentedlist>
267
268 <variablelist>
269 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
270 <?dbfo list-presentation="list"?>
271 <?dbhtml list-presentation="table"?>
272
273 <varlistentry id="lowntfs-3g">
274 <term><command>lowntfs-3g</command></term>
275 <listitem>
276 <para>
277 is similar to ntfs-3g but uses the Fuse low-level interface
278 </para>
279 <indexterm zone="ntfs-3g lowntfs-3g">
280 <primary sortas="b-lowntfs-3g">lowntfs-3g</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="mkfs.ntfs">
286 <term><command>mkfs.ntfs</command></term>
287 <listitem>
288 <para>
289 is a symlink to mkntfs
290 </para>
291 <indexterm zone="ntfs-3g mkfs.ntfs">
292 <primary sortas="b-mkfs.ntfs">mkfs.ntfs</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="mkntfs">
298 <term><command>mkntfs</command></term>
299 <listitem>
300 <para>
301 creates an NTFS file system
302 </para>
303 <indexterm zone="ntfs-3g mkntfs">
304 <primary sortas="b-mkntfs">mkntfs</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="mount.lowntfs-3g">
310 <term><command>mount.lowntfs-3g</command></term>
311 <listitem>
312 <para>
313 is a symlink to lowntfs-3g
314 </para>
315 <indexterm zone="ntfs-3g mount.lowntfs-3g">
316 <primary sortas="b-mount.lowntfs-3g">mount.lowntfs-3g</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="mount.ntfs">
322 <term><command>mount.ntfs</command></term>
323 <listitem>
324 <para>
325 mounts an NTFS filesystem
326 </para>
327 <indexterm zone="ntfs-3g mount.ntfs">
328 <primary sortas="b-mount.ntfs">mount.ntfs</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="mount.ntfs-3g">
334 <term><command>mount.ntfs-3g</command></term>
335 <listitem>
336 <para>
337 is a symbolic link to ntfs-3g
338 </para>
339 <indexterm zone="ntfs-3g mount.ntfs-3g">
340 <primary sortas="b-mount.ntfs-3g">mount.ntfs-3g</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 <varlistentry id="ntfs-3g-prog">
346 <term><command>ntfs-3g</command></term>
347 <listitem>
348 <para>
349 is an NTFS driver, which can create, remove, rename, move
350 files, directories, hard links, and streams. It can also read and write
351 files, including streams, sparse files and transparently compressed
352 files. It can also handle special files like symbolic links, devices, and
353 FIFOs; moreover it provides standard management of file ownership
354 and permissions, including POSIX ACLs
355 </para>
356 <indexterm zone="ntfs-3g ntfs-3g-prog">
357 <primary sortas="b-ntfs-3g">ntfs-3g</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="ntfs-3g.probe">
363 <term><command>ntfs-3g.probe</command></term>
364 <listitem>
365 <para>
366 tests if an NTFS volume is mountable read only or read-write, and
367 exits with a status value accordingly. The volume can be a block
368 device or image file
369 </para>
370 <indexterm zone="ntfs-3g ntfs-3g.probe">
371 <primary sortas="b-ntfs-3g.probe">ntfs-3g.probe</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376<!-- Not present in 2021.8.22
377 <varlistentry id="ntfs-3g.secaudit">
378 <term><command>ntfs-3g.secaudit</command></term>
379 <listitem>
380 <para>
381 audits NTFS Security Data
382 </para>
383 <indexterm zone="ntfs-3g ntfs-3g.secaudit">
384 <primary sortas="b-ntfs-3g.secaudit">ntfs-3g.secaudit</primary>
385 </indexterm>
386 </listitem>
387 </varlistentry>
388
389 <varlistentry id="ntfs-3g.usermap">
390 <term><command>ntfs-3g.usermap</command></term>
391 <listitem>
392 <para>
393 creates the file defining the mapping of Windows accounts to Linux
394 logins for users who owns files which should be visible from both
395 Windows and Linux
396 </para>
397 <indexterm zone="ntfs-3g ntfs-3g.usermap">
398 <primary sortas="b-ntfs-3g.usermap">ntfs-3g.usermap</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402-->
403
404 <varlistentry id="ntfscluster">
405 <term><command>ntfscluster</command></term>
406 <listitem>
407 <para>
408 identifies files in a specified region of an NTFS volume
409 </para>
410 <indexterm zone="ntfs-3g ntfscluster">
411 <primary sortas="b-ntfscluster">ntfscluster</primary>
412 </indexterm>
413 </listitem>
414 </varlistentry>
415
416 <varlistentry id="ntfscp">
417 <term><command>ntfscp</command></term>
418 <listitem>
419 <para>
420 copies a file to an NTFS volume
421 </para>
422 <indexterm zone="ntfs-3g ntfscp">
423 <primary sortas="b-ntfscp">ntfscp</primary>
424 </indexterm>
425 </listitem>
426 </varlistentry>
427
428 <varlistentry id="ntfsfix">
429 <term><command>ntfsfix</command></term>
430 <listitem>
431 <para>
432 fixes common errors and forces Windows to check an NTFS partition
433 </para>
434 <indexterm zone="ntfs-3g ntfsfix">
435 <primary sortas="b-ntfsfix">ntfsfix</primary>
436 </indexterm>
437 </listitem>
438 </varlistentry>
439
440 <varlistentry id="ntfsls">
441 <term><command>ntfsls</command></term>
442 <listitem>
443 <para>
444 lists directory contents on an NTFS filesystem
445 </para>
446 <indexterm zone="ntfs-3g ntfsls">
447 <primary sortas="b-ntfsls">ntfsls</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
451
452 <varlistentry id="ntfscat">
453 <term><command>ntfscat</command></term>
454 <listitem>
455 <para>
456 prints NTFS files and streams on the standard output
457 </para>
458 <indexterm zone="ntfs-3g ntfscat">
459 <primary sortas="b-ntfscat">ntfscat</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="ntfsclone">
465 <term><command>ntfsclone</command></term>
466 <listitem>
467 <para>
468 clones an NTFS filesystem
469 </para>
470 <indexterm zone="ntfs-3g ntfsclone">
471 <primary sortas="b-ntfsclone">ntfsclone</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 <varlistentry id="ntfscmp">
477 <term><command>ntfscmp</command></term>
478 <listitem>
479 <para>
480 compares two NTFS filesystems and shows the differences
481 </para>
482 <indexterm zone="ntfs-3g ntfscmp">
483 <primary sortas="b-ntfscmp">ntfscmp</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="ntfsinfo">
489 <term><command>ntfsinfo</command></term>
490 <listitem>
491 <para>
492 dumps a file's attributes
493 </para>
494 <indexterm zone="ntfs-3g ntfsinfo">
495 <primary sortas="b-ntfsinfo">ntfsinfo</primary>
496 </indexterm>
497 </listitem>
498 </varlistentry>
499
500 <varlistentry id="ntfslabel">
501 <term><command>ntfslabel</command></term>
502 <listitem>
503 <para>
504 displays or changes the label on an ntfs file system
505 </para>
506 <indexterm zone="ntfs-3g ntfslabel">
507 <primary sortas="b-ntfslabel">ntfslabel</primary>
508 </indexterm>
509 </listitem>
510 </varlistentry>
511
512 <varlistentry id="ntfsresize">
513 <term><command>ntfsresize</command></term>
514 <listitem>
515 <para>
516 resizes an NTFS filesystem without data loss
517 </para>
518 <indexterm zone="ntfs-3g ntfsresize">
519 <primary sortas="b-ntfsresize">ntfsresize</primary>
520 </indexterm>
521 </listitem>
522 </varlistentry>
523
524 <varlistentry id="ntfsundelete">
525 <term><command>ntfsundelete</command></term>
526 <listitem>
527 <para>
528 recovers a deleted file from an NTFS volume
529 </para>
530 <indexterm zone="ntfs-3g ntfsundelete">
531 <primary sortas="b-ntfsundelete">ntfsundelete</primary>
532 </indexterm>
533 </listitem>
534 </varlistentry>
535
536 <varlistentry id="libntfs-3g">
537 <term><filename class="libraryfile">libntfs-3g.so</filename></term>
538 <listitem>
539 <para>
540 contains the Ntfs-3g API functions
541 </para>
542 <indexterm zone="ntfs-3g libntfs-3g">
543 <primary sortas="c-libntfs-3g">libntfs-3g.so</primary>
544 </indexterm>
545 </listitem>
546 </varlistentry>
547 </variablelist>
548 </sect2>
549
550</sect1>
Note: See TracBrowser for help on using the repository browser.