source: postlfs/filesystems/ntfs-3g.xml

trunk
Last change on this file was 5d0e7b8, checked in by Douglas R. Reno <renodr@…>, 2 months ago

A bunch of tags

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