Michael Bestas 43e4d6c160 Merge tag '2022.5.17' into lineage-19.1
* tag '2022.5.17':
  Configured for version 2022.5.17
  Hardened the checking of directory offset requested by a readdir
  Returned an error code when the --help or --version options are used
  Fixed operation on little endian data
  Fixed possible out-of-buffer condition in ntfsck
  Made sure there is no null character in an attribute name (bis)
  Made sure the client log data does not overflow from restart page
  Avoided allocating and reading an attribute beyond its full size
  Made sure there is no null character in an attribute name
  Used a default usn when the former one cannot be retrieved
  Updated the urls present in the ntfsprogs manuals
  Updated the urls present in ntfs-3g code
  Updated the ntfs-3g manual
  Updated the README
  Configured for version 2021.8.22
  Defined Github as the host for documentation
  Configured for version 2021.8.14
  Fixed the detection of the end of attribute list
  Renamed ntfs_index_entry_consistent() as ntfs_index_entry_inconsistent()
  Renamed ntfs_attr_consistent() as ntfs_attr_inconsistent()
  Redesigned the INDEX_ROOT consistency checks
  Made sure the requested compression block size is supported
  Reset the resident attribute offset when appending from none
  Rejected negative data length in an attribute list
  Rejected negative data length in readall()
  Added a check of the minimal length of some attributes
  Checked consistency of index blocks
  Avoided endless recursions when allocating the main bitmap
  Fixed checking the end of attrdef data
  Skipped errors for bad free clusters before they are computed
  Fixed the computation of the end of index entry
  Checked that indexes do not exceed the index block size
  Shown in log the inode of directory read error
  Restricted the attribute definition table size to 24 bits
  Hardened the check of locations of MFT and MFTMirr
  Added and grouped generic attribute checks
  Checked consistency of index entries
  Aborted mounting when cannot access standard information of MFT
  Checked expanded attribute does not overflow the space in use
  Checked attributes layout against length actually used
  Checked the MFTMirr lcn to be consistent with the boot sector
  Checked $MFT data to be ready before fetching an extent
  Checked the layout of attribute list entries
  Checked name limits while looking up for an external attribute
  Fixed consistency check of MFT attributes in ntfsfix
  Configured for version 2021.5.19
  Made sure an error code is issued for failed mounts
  Added a consistency check of attribute size in readall()
  Improved the consistency checks of standard information
  Cleaned the tail of compressed buffer before writing a full cluster
  Fixed initialization of a Posix ACL
  Added consistency check of MFT attributes in ntfsfix
  Added generic checks of MFT records in ntfsfix
  Hardened consistency checks of MFT records
  Rejected updates of uninitialized MFTMirr
  Added consistency checks of index root
  Added check of layout of attributes
  Improved check of upcase table length
  Add the official git repository location to the README file.
  Update outdated copyright notice.
  Update last two entries in README to match style of previous entries.
  Change http links in README to https for security.
  Update README to mention support for Windows 8 and 10 NTFS formats.
  ntfscp.c: Fix improper unsigned const endianness macro for signed type.
  Improved checking of the location of MFT
  Signalled support of UTIME_OMIT to external libfuse2
  configure.ac: Fix obsolete 2-argument AM_INIT_AUTOMAKE invocation.
  configure.ac: Respect 'with_fuse' user setting on non-Linux/Solaris.
  lowntfs-3g.c: Fix compile error when building with libfuse < 2.8.0.
  Fixed a constant string concatenation
  Fixed a minor endianness ajustment bug
  Checked the locations of MFT and MFTMirr at startup
  Enabled Recording the special files the same way as WSL
  Dropped rejecting having both EA and reparse data
  Supported use of WSL special file
  Relocated the mount point field in volume
  Defined ntfs_realloc() and ntfs_free()
  Built reparse symlinks from mount point recorded in volume
  Checked file type on OpenIndiana when deleting a file with a reparse point
  Inserted the reparse tag in the bad reparse symlink
  Enabled actions on directories in reparse plugins
  Fixed maintining the allocated size when updating sparse files
  Allowed customization of sbin for tool directory

Change-Id: Iea8f3f111e16c7465badf4863d06a3fc1a1bff1f
2022-06-27 22:41:07 +03:00
2009-10-03 08:00:54 +00:00
2022-05-17 08:34:26 +02:00
2009-10-04 01:54:39 +00:00
2021-08-25 08:50:03 +02:00

INTRODUCTION
============

The NTFS-3G driver is an open source, freely available read/write NTFS driver 
for Linux, FreeBSD, macOS, NetBSD, OpenIndiana, QNX and Haiku. It provides 
safe and fast handling of the Windows XP, Windows Server 2003, Windows 2000, 
Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows Server 2012,
Windows Server 2016, Windows 10 and Windows Server 2019 NTFS file systems.

The purpose of the project is to develop, quality assurance and support a 
trustable, featureful and high performance solution for hardware platforms 
and operating systems whose users need to reliably interoperate with NTFS. 
Besides this practical goal, the project also aims to explore the limits 
of the hybrid, kernel/user space filesystem driver approach, performance, 
reliability and feature richness per invested effort wise.

Besides the common file system features, NTFS-3G has support for file 
ownership and permissions, POSIX ACLs, junction points, extended attributes 
and creating internally compressed files (parameter files in the directory
.NTFS-3G may be required to enable them). The new compressed file formats
available in Windows 10 can also be read through a plugin. 

News, support answers, problem submission instructions, support and discussion 
forums, and other information are available on the project web site at

	https://github.com/tuxera/ntfs-3g/wiki

The project has been funded, supported and maintained since 2008 by Tuxera:

	https://tuxera.com


LICENSES
========

All the NTFS related components: the file system drivers, the ntfsprogs
utilities and the shared library libntfs-3g are distributed under the terms
of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. See the included file COPYING.

The fuse-lite library is distributed under the terms of the GNU LGPLv2.
See the included file COPYING.LIB.


QUICK INSTALLATION
==================

Most distributions have an up-to-date NTFS-3G package ready for use, and
the recommended way is to install it.

If you need some specific customization, you can compile and install from
the released source code. Make sure you have the basic development tools
and the kernel includes the FUSE kernel module. Then unpack the source
tarball and type:  

	./configure
	make
	make install      # or 'sudo make install' if you aren't root.

Please note that NTFS-3G doesn't require the FUSE user space package any
more.

The list of options for building specific configurations is displayed by
typing :

	./configure --help

Below are a few specific options to ./configure :
	--disable-ntfsprogs : do not build the ntfsprogs tools,
	--enable-extras : build more ntfsprogs tools,
	--disable-plugins : disable support for plugins
	--enable-posix-acls : enable support for Posix ACLs
	--enable-xattr-mappings : enable system extended attributes mappings
	--with-fuse=external : use external fuse (overriding Linux default)

There are also a few make targets for building parts :
	make libntfs : only build the libntfs-3g library
	make libs : only build libntfs-3g (and libfuse-lite, if relevant)
	make drivers : only build drivers and libraries, without ntfsprogs
	make ntfsprogs : only build ntfsprogs and libntfs-3g, without drivers


USAGE
=====

If there was no error during installation then the NTFS volume can be
read-write mounted for everybody the following way as the root user 
(unmount the volume if it was already mounted, and replace /dev/sda1 
and /mnt/windows, if needed):

	mount -t ntfs-3g /dev/sda1 /mnt/windows
or
	ntfs-3g /dev/sda1 /mnt/windows

Please see the ntfs-3g manual page for more options and examples.

You can also make NTFS to be mounted during boot by putting the below 
line at the END(!) of the /etc/fstab file:

	/dev/sda1 /mnt/windows ntfs-3g defaults 0 0


TESTING WITHOUT INSTALLING
=========================

Newer versions of ntfs-3g can be tested without installing anything and
without disturbing an existing installation. Just configure and make as
shown previously. This will create the scripts ntfs-3g and lowntfs-3g
in the src directory, which you may activate for testing:

	./configure
	make

then, as root:
	src/ntfs-3g [-o mount-options] /dev/sda1 /mnt/windows

And, to end the test, unmount the usual way:
	umount /dev/sda1


NTFS UTILITIES
==============

The ntfsprogs directory includes utilities for doing all required tasks to
NTFS partitions. In general, just run a utility without any command line
options to display the version number and usage syntax.

The following utilities are so far implemented:

ntfsfix - Attempt to fix an NTFS partition and force Windows to check NTFS.

mkntfs - Format a partition with the NTFS filesystem.  See man 8 mkntfs for
command line options.

ntfslabel - Display/change the label of an NTFS partition.  See man 8 ntfslabel
for details.

ntfsundelete - Recover deleted files from an NTFS volume.  See man 8
ntfsundelete for more details.

ntfsresize - Resize NTFS volumes.  See man 8 ntfsresize for details.

ntfsclone - Efficiently create/restore an image of an NTFS partition.  See
man 8 ntfsclone for details.

ntfscluster - Locate the owner of any given sector or cluster on an NTFS
partition.  See man 8 ntfscluster for details.

ntfsinfo - Show some information about an NTFS partition or one of the files
or directories within it.  See man 8 ntfsinfo for details.

ntfsrecover - Recover updates committed by Windows but interrupted before
being synced.

ntfsls - List information about files in a directory residing on an NTFS
partition.  See man 8 ntfsls for details.

ntfscat - Concatenate files and print their contents on the standard output.

ntfscp - Overwrite files on an NTFS partition.

ntfssecaudit - Audit the security metadata.

ntfsusermap - Assistance for building a user mapping file.
Description
android_external_ntfs-3g
Readme 8.2 MiB
Languages
C 95.8%
Roff 3.3%
M4 0.6%
Makefile 0.3%