mtree(5) | format of mtree dir hierarchy files |
libarchive-mtree, mtree(5) | format of mtree dir hierarchy files |
MTREE(5) | File Formats Manual | MTREE(5) |
mtree
— format of
mtree dir hierarchy files
The mtree
format is a textual format that
describes a collection of filesystem objects. Such files are typically used
to create or verify directory hierarchies.
An mtree
file consists of a series of
lines, each providing information about a single filesystem object. Leading
whitespace is always ignored.
When encoding file or pathnames, any backslash character or character outside of the 95 printable ASCII characters must be encoded as a a backslash followed by three octal digits. When reading mtree files, any appearance of a backslash followed by three octal digits should be converted into the corresponding character.
Each line is interpreted independently as one of the following types:
#
are ignored./
are special commands that
influence the interpretation of later lines./
characters, it is the name of a file in the current directory. Any
relative entry that describes a directory changes the current
directory./
character after the first character, it is the pathname of a file relative
to the starting directory. There can be multiple full entries describing
the same file.Some tools that process mtree
files may
require that multiple lines describing the same file occur consecutively. It
is not permitted for the same file to be mentioned using both a relative and
a full file specification.
Two special commands are currently defined:
/set
/unset
/set
command. It is followed on the same line by
one or more keywords separated by whitespace.After the filename, a full or relative entry consists of zero or more whitespace-separated keyword definitions. Each such definitions consists of a key from the following list immediately followed by an '=' sign and a value. Software programs reading mtree files should warn about unrecognized keywords.
Currently supported keywords are as follows:
cksum
contents
flags
ignore
gid
gname
md5
md5digest
md5
.sha1
sha1digest
sha1
.sha256
sha256digest
sha256
.ripemd160digest
rmd160
ripemd160digest
.rmd160digest
ripemd160digest
.mode
nlink
nochange
uid
uname
size
link
time
type
mtree-port: Utility for creating and verifying file hierarchies, https://github.com/archiecobbs/mtree-port.
The FreeBSD implementation of mtree does
not currently support the mtree
2.0 format. The
requirement for a “#mtree” signature line is new and not yet
widely implemented.
The mtree
utility appeared in
4.3BSD-Reno. The MD5 digest capability was added in
FreeBSD 2.1, in response to the widespread use of
programs which can spoof cksum(1). The
SHA-1 and RIPEMD160 digests were added in FreeBSD
4.0, as new attacks have demonstrated weaknesses in MD5. The SHA-256
digest was added in FreeBSD 6.0. Support for file
flags was added in FreeBSD 4.0, and mostly comes
from NetBSD. The “full” entry format
was added by NetBSD.
mtree
was ported to Linux by
Archie L. Cobbs
⟨archie@dellroad.org⟩
December 31, 2007 | x86_64 |