source: postlfs/filesystems/ntfs-3g.xml@ 6d237be

11.2 plabs/python-mods trunk xry111/soup3
Last change on this file since 6d237be was 6d237be, checked in by Xi Ruoyao <xry111@…>, 4 months ago

ntfs-3g: fix the command creating mount.ntfs for NTFS-3 kernel driver

We are creating the file, not appending.

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