ngrep

package: ngrep

title: ngrep(8)

summary: network grep

text:
# ngrep(8)

## NAME
ngrep - network grep

## SYNOPSIS
ngrep <-hNXViwqpevxlDtTRM> <-IO pcap_dump > < -n num > < -d dev > < -A num > < -s snaplen > < -S limitlen > < -W normal|byline|single|none > < -c cols > < -P char > < -F file > < match expression > < bpf filter >

## DESCRIPTION
ngrep strives to provide most of GNU grep's common features, applying them to the network layer. ngrep is a pcap-aware tool that will allow you to specify extended regular expressions to match against data payloads of packets. It currently recognizes TCP, UDP and ICMP across Ethernet, PPP, SLIP, FDDI and null interfaces, and understands bpf filter logic in the same fashion as more common packet sniffing tools, such as tcpdump(8) and snoop(1).

## OPTIONS
-h

Display help/usage information.

-N

Show sub-protocol number along with single-character identifier (useful when observing raw or unknown protocols).

-X

Treat the match expression as a hexadecimal string. See the explanation of match expression below.

-V

Display version information.

-i

Ignore case for the regex expression.

-w

Match the regex expression as a word.

-q

Be quiet; don't output any information other than packet headers and their payloads (if relevant).

-p

Don't put the interface into promiscuous mode.

-e

Show empty packets. Normally empty packets are discarded because they have no payload to search. If specified, empty packets will be shown, regardless of the specified regex expression.

-v

Invert the match; only display packets that don't match.

-x

Dump packet contents as hexadecimal as well as ASCII.

-l

Make stdout line buffered.

-D

When reading pcap_dump files, replay them at their recorded time intervals (mimic realtime).

-t

Print a timestamp in the form of YYYY/MM/DD HH:MM:SS.UUUUUU everytime a packet is matched.

-T

Print a timestamp in the form of +S.UUUUUU, indicating the delta between packet matches. Specify a second time to indicate the delta since the first packet match.

-R

Do not try to drop privileges to the DROPPRIVS_USER. ngrep makes no effort to validate input from live or offline sources as it is focused more on performance and handling large amounts of data than protocol correctness, which is most often a fair assumption to make. However, sometimes it matters and thus as a rule ngrep will try to be defensive and drop any root privileges it might have.

There exist scenarios where this behaviour can become an obstacle, so this option is provided to end-users who want to disable this feature, but must do so with an understanding of the risks. Packets can be randomly malformed or even specifically designed to overflow sniffers and take control of them, and revoking root privileges is currently the only risk mitigation ngrep employs against such an attack. Use this option and turn it off at your own risk.

-c cols

Explicitly set the console width to ``cols''. Note that this is the console width, and not the full width of what ngrep prints out as payloads; depending on the output mode ngrep may print less than ``cols'' bytes per line (indentation).

-F file

Read in the bpf filter from the specified filename. This is a compatibility option for users familiar with tcpdump. Please note that specifying ``-F'' will override any bpf filter specified on the command-line.

-P char

Specify an alternate character to signify non-printable characters when displayed. The default is ``.''.

-W normal|byline|single|none

Specify an alternate manner for displaying packets, when not in hexadecimal mode. The ``byline'' mode honors embedded linefeeds, wrapping text only when a linefeed is encountered. The ``none'' mode doesn't wrap under any circumstance (entire payload is displayed on one line). The ``single'' mode is conceptually the same as ``none'', except that everything including IP and source/destination header information is all on one line. ``normal'' is the default mode and is only included for completeness. This option is incompatible with ``-x''.

-s snaplen

Set the bpf caplen to snaplen (default 65536).

-S limitlen

Set the upper limit on the size of packets that ngrep will look at. Useful for looking at only the first N bytes of packets without changing the BPF snaplen.

-I pcap_dump

Input file pcap_dump into ngrep. Works with any pcap-compatible dump file format. This option is useful for searching for a wide range of different patterns over the same packet stream.

-O pcap_dump

Output matched packets to a pcap-compatible dump file. This feature does not interfere with normal output to stdout.

-n num

Match only num packets total, then exit.

-d dev

By default ngrep will select a default interface to listen on. Use this option to force ngrep to listen on interface dev.

-A num

Dump num packets of trailing context after matching a packet.

match expression

A match expression is either an extended regular expression, or if the -X option is specified, a string signifying a hexadecimal value. An extended regular expression follows the rules as implemented by the GNU regex library. Hexadecimal expressions can optionally be preceded by `0x'. E.g., `DEADBEEF', `0xDEADBEEF'.

bpf filter

Selects a filter that specifies what packets will be dumped. If no bpf filter is given, all IP packets seen on the selected interface will be dumped. Otherwise, only packets for which bpf filter is `true' will be dumped.

The bpf filter consists of one or more primitives. Primitives usually consist of an id (name or number) preceded by one or more qualifiers. There are three different kinds of qualifier:

type

qualifiers say what kind of thing the id name or number refers to. Possible types are host, net and port. E.g., `host blort', `net 1.2.3', `port 80'. If there is no type qualifier, host is assumed.

dir

qualifiers specify a particular transfer direction to and/or from id. Possible directions are src, dst, src or dst and src and dst. E.g., `src foo', `dst net 1.2.3', `src or dst port ftp-data'. If there is no dir qualifier, src or dst is assumed. For `null' link layers (i.e. point to point protocols such as slip) the inbound and outbound qualifiers can be used to specify a desired direction.

proto

qualifiers are restricted to ip-only protocols. Possible protos are: tcp , udp and icmp. e.g., `udp src foo' or `tcp port 21'. If there is no proto qualifier, all protocols consistent with the type are assumed. E.g., `src foo' means `ip and ((tcp or udp) src foo)', `net bar' means `ip and (net bar)', and `port 53' means `ip and ((tcp or udp) port 53)'.

In addition to the above, there are some special `primitive' keywords that don't follow the pattern: gateway, broadcast, less, greater and arithmetic expressions. All of these are described below.

More complex filter expressions are built up by using the words and, or and not to combine primitives. E.g., `host blort and not port ftp and not port ftp-data'. To save typing, identical qualifier lists can be omitted. E.g., `tcp dst port ftp or ftp-data or domain' is exactly the same as `tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'.

Allowable primitives are:

dst host host

True if the IP destination field of the packet is host, which may be either an address or a name.

src host host

True if the IP source field of the packet is host.

host host

True if either the IP source or destination of the packet is host. Any of the above host expressions can be prepended with the keywords, ip, arp, or rarp as in:

```
ip host host
```

which is equivalent to:

ether dst ehost

True if the ethernet destination address is ehost. Ehost may be either a name from /etc/ethers or a number (see ethers(3N) for numeric format).

ether src ehost

True if the ethernet source address is ehost.

ether host ehost

True if either the ethernet source or destination address is ehost.

gateway host

True if the packet used host as a gateway. I.e., the ethernet source or destination address was host but neither the IP source nor the IP destination was host. Host must be a name and must be found in both /etc/hosts and /etc/ethers. (An equivalent expression is

```
ether host ehost and not host host
```

which can be used with either names or numbers for host / ehost.)

dst net net

True if the IP destination address of the packet has a network number of net. Net may be either a name from /etc/networks or a network number (see networks(4) for details).

src net net

True if the IP source address of the packet has a network number of net.

net net

True if either the IP source or destination address of the packet has a network number of net.

net net mask mask

True if the IP address matches net with the specific netmask. May be qualified with src or dst.

net net/len

True if the IP address matches net a netmask len bits wide. May be qualified with src or dst.

dst port port

True if the packet is ip/tcp or ip/udp and has a destination port value of port. The port can be a number or a name used in /etc/services (see tcp(4P) and udp(4P)). If a name is used, both the port number and protocol are checked. If a number or ambiguous name is used, only the port number is checked (e.g., dst port 513 will print both tcp/login traffic and udp/who traffic, and port domain will print both tcp/domain and udp/domain traffic).

src port port

True if the packet has a source port value of port.

port port

True if either the source or destination port of the packet is port. Any of the above port expressions can be prepended with the keywords, tcp or udp, as in:

```
tcp src port port
```

which matches only tcp packets whose source port is port.

less length

True if the packet has a length less than or equal to length. This is equivalent to:

```
len <= length.
```

greater length

True if the packet has a length greater than or equal to length. This is equivalent to:

```
len >= length.
```

ip proto protocol

True if the packet is an ip packet (see ip(4P)) of protocol type protocol. Protocol can be a number or one of the names tcp, udp or icmp. Note that the identifiers tcp and udp are also keywords and must be escaped via backslash (\), which is \\ in the C-shell.

ip broadcast

True if the packet is an IP broadcast packet. It checks for both the all-zeroes and all-ones broadcast conventions, and looks up the local subnet mask.

ip multicast

True if the packet is an IP multicast packet.

ip

Abbreviation for:

```
ether proto ip
```

tcp, udp, icmp

Abbreviations for:

```
ip proto p
```

where p is one of the above protocols.

expr relop expr

True if the relation holds, where relop is one of >, <, >=, <=, =, !=, and expr is an arithmetic expression composed of integer constants (expressed in standard C syntax), the normal binary operators [+, -, *, /, &, |], a length operator, and special packet data accessors. To access data inside the packet, use the following syntax:

```
proto [ expr : size ]
```

Proto is one of ip, tcp, udp or icmp, and indicates the protocol layer for the index operation. The byte offset, relative to the indicated protocol layer, is given by expr. Size is optional and indicates the number of bytes in the field of interest; it can be either one, two, or four, and defaults to one. The length operator, indicated by the keyword len, gives the length of the packet. For example, `ether[0] & 1 != 0' catches all multicast traffic. The expression `ip[0] & 0xf != 5' catches all IP packets with options. The expression `ip[6:2] & 0x1fff = 0' catches only unfragmented datagrams and frag zero of fragmented datagrams. This check is implicitly applied to the tcp and udp index operations. For instance, tcp[0] always means the first byte of the TCP header, and never means the first byte of an intervening fragment.

Primitives may be combined using:

A parenthesized group of primitives and operators (parentheses are special to the Shell and must be escaped).

Negation (`!' or `not').

Concatenation (`&&' or `and').

Alternation (`||' or `or').

Negation has highest precedence. Alternation and concatenation have equal precedence and associate left to right. Note that explicit and tokens, not juxtaposition, are now required for concatenation.

If an identifier is given without a keyword, the most recent keyword is assumed. For example,

```
not host vs and ace
```

is short for

```
not host vs and host ace
```

which should not be confused with

```
not ( host vs or ace )
```

Expression arguments can be passed to ngrep as either a single argument or as multiple arguments, whichever is more convenient. Generally, if the expression contains Shell metacharacters, it is easier to pass it as a single, quoted argument. Multiple arguments are concatenated with spaces before being parsed.

## DIAGNOSTICS
Errors from ngrep, libpcap, and the GNU regex library are all output to stderr.

## AUTHOR
Written by Jordan Ritter <jpr5@darkridge.com>.

## REPORTING BUGS
Please report bugs to the ngrep's Sourceforge Bug Tracker, located at

http://sourceforge.net/projects/ngrep/

Non-bug, non-feature-request general feedback should be sent to the author directly by email.

## NOTES
ALL YOUR BASE ARE BELONG TO US.


chcp

package: nilfs-utils

title: chcp(8)

summary: change mode of NILFS2 checkpoints

text:
# chcp(8)

## NAME
chcp - change mode of NILFS2 checkpoints

## SYNOPSIS
chcp [options] cp | ss [device] checkpoint-number ...

## DESCRIPTION
chcp is a utility to change the mode of the given checkpoints for the NILFS2 file system found in device. chcp changes checkpoints to snapshots, or vice versa. The target checkpoints are specified with one or more checkpoint numbers. When device is omitted, it tries to find a NILFS2 file system from /proc/mounts.

This command is valid only for mounted NILFS2 file systems, and will fail if the device has no active mounts.

## OPTIONS
-h, --help

Display help message and exit.

-V, --version

Display version and exit.

## AUTHOR
Koji Sato

## AVAILABILITY
chcp is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), lscp(1), mkcp(8), rmcp(8), nilfs-tune(8).


dumpseg

title: dumpseg(8)

summary: print segment information of NILFS2

text:
# dumpseg(8)

## NAME
dumpseg - print segment information of NILFS2

## SYNOPSIS
dumpseg [-hV]

dumpseg [device] segment-number ...

## DESCRIPTION
The dumpseg program is an analysis tool for on-disk logs of a NILFS2 file system found in device. It displays the configuration of every log stored in the segments specified by one or more segment-numbers. The term segment here means a contiguous lump of disk blocks giving an allocation unit of NILFS2 disk space. When device is omitted, it tries to find an active NILFS2 file system from /proc/mounts.

dumpseg is a tool for debugging rather than administration. To list a summary of segments, lssu(1) is available instead.

## OPTIONS
-h, --help

Display help message and exit.

-V, --version

Display version and exit.

## FIELD DESCRIPTION
dumpseg shows the configuration of each log with the following fields, where each field is printed in the style of ``field-name = value''.

creation time

Creation date and time of the log.

nfinfo

Number of file information summaries.

finfo

File information summary. This information starts with the following fields:

ino

Inode number of the file.

cno

Number of the checkpoint that the blocks included in the file belong to. For normal writings, this is equal to the latest checkpoint number. For the writings involved in garbage collection, this indicates a past checkpoint number.

nblocks

Number of blocks of the file written in the log. This number is a sum of the number of data blocks and B-tree node blocks. The contents of these blocks are written serially in the payload part of the log. Only modified or newly created blocks are written to each log.

ndatblk

Number of data blocks of the file written in the log.

Then, for each update block in the file, the following information will follow these headings.

vblocknr

Virtual block number. Not printed for data blocks of the Disk Address Translation file (DAT file).

blkoff

Block offset number. Not printed for B-tree node blocks except for the DAT file.

level

Level of B-tree node block. Printed only for the DAT file.

blocknr

Block address on the device. This is not an actual field in the summary but is calculated from the disk address of each log.

## AUTHOR
Koji Sato

## AVAILABILITY
dumpseg is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), lssu(1).


mkcp

title: mkcp(8)

summary: make a NILFS2 checkpoint

text:
# mkcp(8)

## NAME
mkcp - make a NILFS2 checkpoint

## SYNOPSIS
mkcp [options] [device]

## DESCRIPTION
mkcp is a utility for making a checkpoint or snapshot for the NILFS2 file system found in device. When device is omitted, it tries to find a NILFS2 file system from /proc/mounts.

This command is valid only for mounted NILFS2 file systems, and will fail if the device has no active mounts.

## OPTIONS
-s, --snapshot

Create a snapshot.

-p, --print

Print the checkpoint number when successfully created.

-h, --help

Display help message and exit.

-V, --version

Display version and exit.

## AUTHOR
Koji Sato

## AVAILABILITY
mkcp is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), lscp(1), chcp(8), rmcp(8), nilfs-tune(8).


title: mkfs.nilfs2(8)

summary: create a NILFS2 filesystem

text:
# mkfs.nilfs2(8)

## NAME
mkfs.nilfs2 - create a NILFS2 filesystem

## SYNOPSIS
mkfs -t nilfs2 [ -b block-size ] [ -B blocks-per-segment ] [ -c ] [ -f ] [ -K ] [ -L volume-label ] [ -m reserved-segments-percentage ] [ -n ] [ -O feature[,...] ] [ -h ] [ -q ] [ -v ] [ -V ] device

mkfs.nilfs2 [ -b block-size ] [ -B blocks-per-segment ] [ -c ] [ -f ] [ -K ] [ -L volume-label ] [ -m reserved-segments-percentage ] [ -n ] [ -O feature[,...] ] [ -h ] [ -q ] [ -v ] [ -V ] device

## DESCRIPTION
mkfs.nilfs2 is used to create a nilfs2 filesystem (usually in a disk partition). device is the special file corresponding to the device (e.g. /dev/sdXX). Usually mkfs.nilfs2 is invoked from the mkfs(8) front-end program.

The exit code returned by mkfs.nilfs2 is 0 on success and 1 on failure.

## OPTIONS
-b block-size

Specify the size of blocks in bytes. The valid block size is 1024, 2048, 4096, 8192 bytes, ..., and the maximum block size is restricted to the system page size. For most machines, it is 4096 bytes. The default block size is 4096 bytes.

-B blocks-per-segment

Specify the number of blocks in a segment, where the segment (also called full segment) is an allocation unit of disk space of NILFS. This parameter gives the size of segment and consequently determines how many segments are aligned in the specified device. The default number of blocks per segment is 2048 (= 8MB with 4KB blocks).

-c

Check the device for bad blocks before building the filesystem.

-f

Force overwrite when an existing filesystem is detected on the device. By default, mkfs.nilfs2 will not write to the device if it suspects that there is a filesystem on the device already.

-h

Display help message and exit.

-K

Keep, do not attempt to discard blocks at mkfs time (discarding blocks initially is useful on solid state drives and sparse / thinly-provisioned storage).

-L new-volume-label

Set the volume label for the filesystem to new-volume-label. The maximum length of the volume label is 80 bytes.

-m reserved-segments-percentage

Specify the percentage of the segments reserved for garbage collection. The default percentage is 5%.

-n

Cause mkfs.nilfs2 to not actually create a filesystem, but display what it would be do if it were to create a filesystem.

-O feature[,...]

Create a filesystem with the given features (filesystem options), overriding the default filesystem options. The filesystem feature set is comprised of a list of features, separated by commas, that are to be enabled. To disable a feature, simply prefix the feature name with a caret ('^') character. The pseudo-filesystem feature "none" will clear all filesystem features.

block_count

Enable block count per checkpoint.

-q

Quiet execution. Useful if mkfs.nilfs2 is run in a script.

-v

Verbose execution.

-V

Print the version number of mkfs.nilfs2 and exit.

## AUTHOR
This version of mkfs.nilfs2 has been written by Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>.

## AVAILABILITY
mkfs.nilfs2 is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), mkfs(8), badblocks(8).


title: mount.nilfs2(8)

summary: mount a NILFS2 file system

text:
# mount.nilfs2(8)

## NAME
mount.nilfs2 - mount a NILFS2 file system

## SYNOPSIS
mount -t nilfs2 [-finrvw] [-o options [,...]] device dir

mount -t nilfs2 [-finrvw] [-o options [,...]] device | dir

mount.nilfs2 [-fnrvw] [-o options [,...]] device dir

mount.nilfs2 [-V]

## DESCRIPTION
mount.nilfs2 serves to attach a NILFS2 file system on the specified directory dir. It is intended to be executed from mount(8), and will invoke the garbage collector nilfs_cleanerd(8) after an actual mount system call has succeeded. Conversely, umount.nilfs2(8) will shutdown the garbage collector before detaching the file system.

The standard command line interface is the first form:

mount -t nilfs2 [options] device dir

This tells the kernel to attach the NILFS2 file system on device at the directory dir. With the second form, the mount program tries to find out a missing device or dir argument from the /etc/fstab table. The third form, which directly invokes mount.nilfs2, is also usable since mount.nilfs2 maintains by itself the system mount state such as the list of mounted file systems described in /etc/mtab. However, the first or the second form is usually recommended because some expansive options are not supported by the third form.

## OPTIONS
The full set of options used by an invocation of mount(8) is determined by extracting the options from the fstab table, then applying any options specified by the -o argument, and finally applying a -r or -w option, when present.

See mount(8) for the full set of options. Commonly used options are as follows:

-V

Output version.

-f

Fakes mounting the file system, meaning that the actual system call will be skipped. This option is used to add entries for devices that were mounted earlier with the -n option. It can also be used for invoking nilfs_cleanerd(8) skipped previously.

-i

Don't call mount.nilfs2. This disables garbage collection and handling of pseudo mount options.

-n

Mount without writing in /etc/mtab. This is necessary for example when /etc is on a read-only file system.

-r

Mount the file system read-only. A synonym is "-o ro".

-v

Verbose mode.

-w

Mount the file system read/write. This is the default. A synonym is "-o rw".

-o

Options are specified with a -o flag followed by a comma separated string of options. Some of these options are only useful when they appear in the /etc/fstab file. For standard filesystem options, see mount(8).

## NILFS2 SPECIFIC MOUNT OPTIONS
The following options apply only to the NILFS2 filesystem. They all follow the -o flag.

barrier / nobarrier

These options enable/disable (default is enabled) barrier writes for the block I/O to a lower device. The barrier write serves an important role to ensure consistency of filesystems after a system crash or power failure. NILFS2 uses this feature by default to assure the reliability. For devices not supporting the barrier write, it will be disabled automatically and a warning will be logged.

cp=checkpoint-number

Specify the checkpoint-number of the snapshot to be mounted. Checkpoints and snapshots are listed by lscp(1). Only the checkpoints marked as snapshot are mountable with this option. Note that the read-only mount option must be specified together.

errors=continue / errors=remount-ro / errors=panic

Define the behaviour when an error is encountered. (Either ignore errors and just mark the file system erroneous and continue, or remount the file system read-only, or panic and halt the system.) The default is remount-ro. In earlier kernels than Linux 2.6.35, continue was the default.

pp=protection-period

Specify the protection-period for the cleaner daemon (in seconds). nilfs_cleanerd never deletes recent checkpoints whose elapsed time from its creation is smaller than protection-period.

nogc

Disable garbage collection. The cleaner daemon will not be started. It can be be started manually, but in that case it must also be stopped manually before unmounting.

order=relaxed / order=strict

Specify order semantics for file data. Metadata is always written to follow the POSIX semantics about the order of filesystem operations.

relaxed

Apply relaxed order semantics that allows modified data blocks to be written to disk without making a checkpoint if no metadata update is going. This mode is equivalent to the ordered data mode of the ext3 filesystem except for the updates on data blocks still conserve atomicity. This will improve synchronous write performance for overwriting. This is the default mode.

strict

Apply strict in-order semantics that preserves sequence of all file operations including overwriting of data blocks. That means, it is guaranteed that no overtaking of events occurs in the recovered file system after a crash. Unlike journaling filesystems, NILFS2 does not write a same block twice to disk. So there is no significant performance degradation in comparison with the relaxed mode except for file overwriting.

norecovery

Disable recovery of the filesystem on mount. This disables every write access on the device for read-only mounts or snapshots. This option will fail for r/w mounts on an unclean volume.

discard / nodiscard

These options enable/disable (default is disabled) the use of discard/TRIM commands. The discard/TRIM commands are sent to the underlying block device when blocks are freed. This is useful for SSD devices and sparse/thinly-provisioned LUNs. (since 2.6.34).

## RETURN CODES
The return codes of mount.nilfs2 conform to those of mount(8); the following codes could be returned (the bits can be ORed):

0

success

1

incorrect invocation or permissions

2

system error (out of memory, cannot fork, no more loop devices)

4

internal bug

8

user interrupt

16

problems writing or locking /etc/mtab

32

mount failure

64

some mount succeeded

## AUTHOR
mount.nilfs2 is written by Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> for NILFS2, based on the mount program included in the util-linux package.

## AVAILABILITY
mount.nilfs2 is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), mount(8), umount.nilfs2(8), nilfs_cleanerd(8), lscp(1).


nilfs

title: nilfs(8)

text:
# nilfs(8)

## NAME
NILFS - the new implementation of a log-structured file system

## SYNOPSIS
Overview of the NILFS file system and the related tools.

## DESCRIPTION
NILFS is a log-structured file system developed for Linux. NILFS provides versioning capability of an entire file system and continuous snapshotting that allows users to restore files mistakenly overwritten or destroyed a while ago.

The current major version of NILFS is version 2, which is referred to as NILFS2. NILFS2 is equipped with an online garbage collector (also called cleaner) that reclaims disk space in the background with keeping multiple snapshots.

When data is written or any change is made to a NILFS2 file system, it automatically creates a checkpoint. A checkpoint represents a consistent state of the NILFS2 file system of a certain instant. It becomes mountable after being changed into a snapshot. A snapshot is the checkpoint marked not to be deleted by the cleaner. NILFS2 creates a number of checkpoints at regular intervals (unless there is no change) or with synchronous writings. There is no practical limit on the number of checkpoints and snapshots.

The following tools are available to manage the checkpoint and the snapshot:

lscp

lists checkpoints or snapshots

mkcp

makes a checkpoint or a snapshot

chcp

changes an existing checkpoint to a snapshot or vice versa

rmcp

invalidates specified checkpoint(s)

These tools give the versioning capability to NILFS2; a user can select significant versions among continuously created checkpoints and can change them to snapshots to be preserved for long periods.

Every checkpoint except for the snapshot will become unprotected from the cleaner after a given period of time. This period is controlled by the protection_period parameter defined in the /etc/nilfs_cleanerd.conf(5) file.

## MOUNT OPTIONS
Refer to the mount.nilfs2(8).

## EXAMPLES
mkfs -t nilfs2 /dev/sdb1

creates a NILFS2 file system on a block device `/dev/sdb1'.

mount -t nilfs2 /dev/sdb1 /nilfs

mounts the NILFS2 file system on a mount point `/nilfs' like an ordinary POSIX file system. This will invoke a cleaner process nilfs_cleanerd(8) through an external mount program (i.e. mount.nilfs2(8)).

lscp

lists checkpoints created in the file system as follows:

CNO DATE TIME MODE FLG BLKCNT ICNT

1 2014-01-18 20:49:54 cp - 4 2

2 2014-01-18 20:51:45 cp - 3990 11

3 2014-01-18 20:51:45 cp - 6058 3

4 2014-01-18 20:51:49 cp - 4807 6

5 2014-01-18 20:51:49 cp - 262 3

...

chcp ss 2

changes the checkpoint whose checkpoint-number is two to a snapshot. Then the checkpoint list will become as follows:

CNO DATE TIME MODE FLG BLKCNT ICNT

1 2014-01-18 20:49:54 cp - 4 2

2 2014-01-18 20:51:45 ss - 3990 11

3 2014-01-18 20:51:45 cp - 6058 3

4 2014-01-18 20:51:49 cp - 4807 6

5 2014-01-18 20:51:49 cp - 262 3

...

mount -t nilfs2 -r -o cp=2 /dev/sdb1 /snapshot

mounts the snapshot on another directory `/snapshot' as a read-only file system. Here the snapshot mount requires at least two options, a read-only option (-r or -o ro) and the cp option (-o cp=checkpoint-number). Note that a read/write mount and one or more snapshots are mountable independently, so the online backup is possible through the snapshot mounts.

\# mount -t nilfs2

/dev/sdb1 on /nilfs type nilfs2 (rw,gcpid=13296)

/dev/sdb1 on /snapshot type nilfs2 (ro,cp=2)

umount /nilfs

unmounts the NILFS2 file system mounted on `/nilfs' and will shutdown the nilfs_cleanerd(8) through an external umount program (umount.nilfs2(8)) for the read/write mount.

## AUTHORS
NILFS2 was developed by NILFS development team.

## SEE ALSO
mkfs.nilfs2(8), mount.nilfs2(8), umount.nilfs2(8), nilfs_cleanerd(8), nilfs_cleanerd.conf(5), nilfs-tune(8), nilfs-clean(8), nilfs-resize(8), lscp(1), mkcp(8), chcp(8), rmcp(8), lssu(1), dumpseg(8)

http://nilfs.sourceforge.net/


nilfs-clean

title: nilfs-clean(8)

text:
# nilfs-clean(8)

## NAME
nilfs-clean - run garbage collector on NILFS file system

## SYNOPSIS
nilfs-clean [options] [device]

## DESCRIPTION
The nilfs-clean program communicates with nilfs_cleanerd(8) program and controls execution of garbage collection (GC) on NILFS2 file systems. It can be used to manually run garbage collection of a file system mounted on device to increase the free space.

If a GC command is specified by one of the following options (i.e. ´-c´,´-s´,´-r´, and ´-l´ options), the command is sent to and performed on the nilfs_cleanerd(8) program. If no commands are specified, nilfs-clean just triggers a one-pass cleaning.

When device is omitted, nilfs-clean selects an active NILFS2 file system in the system.

This command is valid only for mounted NILFS2 file systems, and will fail if the device has no active mounts.

## OPTIONS
-b, --break, --stop

Stop garbage collection.

-c, --reload[=conffile]

Request reloading config file to cleaner process. If an optional configuration file is given, the file is read by nilfs_cleanerd(8) program and cleaner configuration is reset to the information. If no argument is given, a configuration file selected by nilfs_cleanerd(8) will be reloaded.

-l, --status

Display cleaner status.

-h, --help

Display help message and exit.

-m, --min-reclaimable-blocks=COUNT[%]

Specify the minimum number of reclaimable blocks in a segment before it can be cleaned. If the argument is followed by a percent sign, it represents the ratio of blocks in a segment. This argument will only have an effect if the use_set_suinfo flag is set in the configuration file.

-p, --protection-period=interval

Set protection period for a cleaner run. The interval parameter is an integer value and specifies the minimum time that deleted or overrode data will be preserved in the file system. Smaller values will increase free space made by garbage collection. Optionally, the interval parameter may be suffixed by one of the following units designators: ´s´, ´m´, ´h´, ´d´,´w´,´M´, or ´Y´, for seconds, minutes, hours, days, weeks, months, or years, respectively.

-q, --quit

Shutdown cleaner daemon.

-r, --resume

Resume garbage collection.

-s, --suspend

Suspend garbage collection. Note that if users manually suspend garbage collection with this option, it will not restart automatically until user resumes the garbage collection.

-S, --speed=COUNT[/SECONDS]

Set garbage collection speed for a cleaner run.

-v, --verbose

Verbose mode.

-V, --version

Display version and exit.

## AUTHOR
Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>

## AVAILABILITY
nilfs-clean is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), nilfs_cleanerd(8).


nilfs-resize

title: nilfs-resize(8)

summary: resize NILFS file system volume size

text:
# nilfs-resize(8)

## NAME
nilfs-resize - resize NILFS file system volume size

## SYNOPSIS
nilfs-resize [options] device [size]

## DESCRIPTION
The nilfs-resize program will resize NILFS2 file systems. It can be used to enlarge or shrink a mounted file system located on device. This feature is only available on the kernel supporting on-line resizing. Resizing for unmounted file systems are not supported at present.

The size parameter specifies the requested new size of the filesystem. The size of the filesystem may never be larger than the size of the partition. Optionally, the size parameter may be suffixed by one of the following units designators: ´s´, ´K´, ´M´, ´G´, or ´T´, for 512 byte sectors, kilobytes, megabytes, gigabytes, or terabytes, respectively. If size parameter is not specified, it will default to the size of the partition.

This program does not manipulate the size of partitions. If you wish to enlarge a filesystem, you must make sure you can expand the size of the underlying partition first. This can be done using fdisk(8) by deleting the partition and recreating it with a larger size or using lvextend(8), if you are using the logical volume manager lvm(8)

If you wish to shrink a nilfs2 partition, first use nilfs-resize to shrink the size of filesystem. Then you may use fdisk(8) to shrink the size of the partition. When shrinking the size of the partition, make sure you do not make it smaller than the new size of the nilfs2 filesystem.

This command is valid only for mounted NILFS2 file systems, and will fail if the device has no active mounts.

## OPTIONS
-y, --yes, --assume-yes

Assume Yes to all queries and do not prompt.

-h, --help

Display help message and exit.

-v, --verbose

Verbose mode.

-V, --version

Display version and exit.

## AUTHOR
Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>

## AVAILABILITY
nilfs-resize is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), nilfs-tune(8), fdisk(8), lvextend(8), lvm(8).


nilfs-tune

title: nilfs-tune(8)

text:
# nilfs-tune(8)

## NAME
nilfs-tune - adjust tunable file system parameters on NILFS file system

## SYNOPSIS
nilfs-tune [options] device

## DESCRIPTION
nilfs-tune is a utility to modify tunable file system parameters on NILFS2 file system in device.

This command is valid for inactive NILFS2 file systems. Modifying active mounts may cause severe damage.

## OPTIONS
-f

Force to modify even the specified file system is mounted.

-i interval

Set the commit interval of segment.

-m block-max

Set the threshold of the data amount of the segment construction.

-l

List the contents of the file system superblock, including the current values of the parameters that can be set via this program.

-L volume-label

Set the volume label of the file system. NILFS2 file system labels can be at most 80 bytes long. If volume-label is longer than 80 bytes, nilfs-tune will truncate it. The volume label can be used mount(8) and /etc/fstab(5) (and possibly others) by specifying LABEL=volume-label instead of a block special device name like /dev/sda5.

-O [^]feature[,...]

Set or clear the indicated filesystem features (options) in the filesystem. More than one filesystem feature can be cleared or set by separating features with commas. Filesystem features prefixed with a caret character ('^') will be cleared in the filesystem's superblock; filesystem features without a prefix character will be added to the filesystem.

The following filesystem feature can be set or cleared using nilfs-tune:

block_count

Enable block count per checkpoint. After setting this option, fsck should be run on the filesystem to make the counts right, but no fsck tool is available yet, sorry.

-U UUID

Set the universally unique identifier (UUID) of the file system to UUID. The format of the UUID is a series of hex digits separated by hyphens, like this: "c1b9d5a2-f162-11cf-9ece-0020afc76f16".

-h

Display help message and exit.

## AUTHOR
Jiro SEKIBA <jir@unicus.jp>

## AVAILABILITY
nilfs-tune is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), lscp(1), chcp(8), mkcp(8), rmcp(8).


title: nilfs_cleanerd(8)

summary: NILFS2 garbage collector

text:
# nilfs_cleanerd(8)

## NAME
nilfs_cleanerd - NILFS2 garbage collector

## SYNOPSIS
nilfs_cleanerd [-hV]

nilfs_cleanerd [options] device [directory]

## DESCRIPTION
nilfs_cleanerd is a system daemon which reclaims disk space of a NILFS2 file system found in device.

The optional directory argument specifies the mount point where the daemon operates. It must be an r/w-mount.

This program can be invoked either automatically by mount.nilfs2(8) or manually by an administrator. However, users are recommended to invoke nilfs_cleanerd through mount.nilfs2(8) or mount(8) and shutdown it through umount.nilfs2(8) or umount(8) in order to avoid state inconsistencies among administration tools.

nilfs_cleanerd displays its process ID (pid) to standard output when it started.

## OPTIONS
-V, --version

Display version and exit.

-h, --help

Display help message and exit.

-c file, --conf=file

Specify configuration file.

-p interval, --protection-period=interval

Override protection period with the specified number of seconds.

## SIGNALS
nilfs_cleanerd reacts to a set of signals. You may send a signal to nilfs_cleanerd using the PID shown by the mount command (or in /etc/mtab):

\# mount -t nilfs2

/dev/sdb1 on /nilfs type nilfs2 (rw,gcpid=PID)

\# kill -SIGNAL PID

SIGHUP

This lets nilfs_cleanerd perform a re-initialization. The configuration file (default is /etc/nilfs_cleanerd.conf) will be reread.

SIGTERM

The nilfs_cleanerd will exit cleanly.

SIGUSR1, SIGUSR2

Reserved for future use. These let nilfs_cleanerd die at present.

## FILES
/etc/nilfs_cleanerd.conf

Configuration file for nilfs_cleanerd. See nilfs_cleanerd.conf(5) for details.

## AUTHOR
Koji Sato

## AVAILABILITY
nilfs_cleanerd is part of the nilfs-utils package and available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), mount.nilfs2(8), umount.nilfs2(8), nilfs_cleanerd.conf(5).


rmcp

title: rmcp(8)

summary: remove NILFS2 checkpoints

text:
# rmcp(8)

## NAME
rmcp - remove NILFS2 checkpoints

## SYNOPSIS
rmcp [options] [device] checkpoint-range ...

## DESCRIPTION
rmcp is a utility for removing checkpoints from the NILFS2 file system found in device. The checkpoints which user wants to remove are specified with one or more checkpoint-ranges. When device is omitted, rmcp tries to find a NILFS2 file system from /proc/mounts.

The checkpoint-range must be provided with one or two integers in one of the following way:

cno

single checkpoint number

start..end

every checkpoint number between start and end

..end

every checkpoint number equal or younger than end

start..

every checkpoint number equal or greater than start

This command is valid only for mounted NILFS2 file systems, and will fail if the device has no active mounts.

## OPTIONS
-f, --force

Ignore snapshots or nonexistent checkpoints.

-i, --interactive

Prompt before any removal.

-h, --help

Display help message and exit.

-V, --version

Display version and exit.

## AUTHOR
Koji Sato, Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>.

## AVAILABILITY
rmcp is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), lscp(1), mkcp(8), chcp(8), nilfs-tune(8).


title: umount.nilfs2(8)

summary: unmount NILFS2 file systems

text:
# umount.nilfs2(8)

## NAME
umount.nilfs2 - unmount NILFS2 file systems

## SYNOPSIS
umount [-t nilfs2] [-dfilnrv] device | dir [...]

umount.nilfs2 [-nrv] dir [...]

umount.nilfs2 [-V]

## DESCRIPTION
umount.nilfs2 detaches the NILFS2 file system(s) mentioned from the file hierarchy. This is the umount helper for NILFS2 to shutdown the garbage collector nilfs_cleanerd(8) before detaching the file system. Usually it should be invoked through umount(8).

## OPTIONS
See umount(8) for the full set of options. Commonly used options with NILFS2 are as follows:

-V

Print version and exit.

-i

Don't call umount.nilfs2. Valid for umount(8).

-n

Unmount without writing in /etc/mtab. This option must be used carefully because mount.nilfs2 and umount.nilfs2 use the table to store the process ID of nilfs_cleanerd(8).

-r

In case unmounting fails, try to remount read-only.

-v

Verbose mode.

## THE LOOP DEVICE
umount.nilfs2 will free the loop device (if any) associated with the mount, in case it finds the option `loop=...' in /etc/mtab. The -d option, which also allows umount(8) to free the loop device without the `loop=...' option, is not supported.

## AUTHOR
umount.nilfs2 is written by Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> for NILFS2, based on the umount program included in the util-linux package.

## AVAILABILITY
umount.nilfs2 is part of the nilfs-utils package and is available from http://nilfs.sourceforge.net.

## SEE ALSO
nilfs(8), umount(8), mount.nilfs2(8), nilfs_cleanerd(8).


ninfod

package: ninfod

title: ninfod(8)

text:
# ninfod(8)

## NAME
ninfod - Respond to IPv6 Node Information Queries

## SYNOPSIS
ninfod [-dhv] [-p pidfile] [-u user] [-v]

## DESCRIPTION
Responds to IPv6 Node Information Queries (RFC4620) from clients. Queries can be sent by various implementations of ping command.

## OPTIONS
-d

Debug mode. Do not go background.

-h

Show help.

-v

Verbose mode.

-u user

Run as another user. user can either be username or user ID.

-p pidfile

File for process-id storage. user is required to be able to create the file.

-V

Print version and exit.

## SEE ALSO
ping(1).

## AUTHOR
ninfod was written by USAGI/WIDE Project.

## COPYING

```
Copyright (C) 2012 YOSHIFUJI Hideaki.
Copyright (C) 2002 USAGI/WIDE Project.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright

   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright

   notice, this list of conditions and the following disclaimer in the

   documentation and/or other materials provided with the distribution.
3. Neither the name of the project nor the names of its contributors

   may be used to endorse or promote products derived from this software

   without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS “AS IS” AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

```


nodm

package: nodm

title: nodm(8)

summary: X display manager for automatic logins

text:
# nodm(8)

## NAME
nodm - X display manager for automatic logins

## SYNOPSIS
nodm [options]

## DESCRIPTION
nodm is a minimal display manager that simply logs in as a given user and starts an X session, without asking for username or password.

On a normal computer, using nodm is a big security issue because it would give anyone access to the computer.

However, there are cases where automatic login is needed: for example in an embedded system such as a mobile phone, or in a kiosk setup, or in a control panel for industrial machinery. For those cases, nodm is simple to setup, lightweight, and it should do exactly the right thing.

## OPTIONS
--help

print this help message

--version

print nodm's version number

--session=cmd

run cmd instead of /usr/sbin/nodm (use for testing)

## AUTHOR
nodm is written and maintained by Enrico Zini <enrico@enricozini.org> and Joachim Breitner <nomeata@debian.org>.

## SEE ALSO
xinit(1), xdm(1), gdm(1), kdm(1).


nsd

package: nsd

title: nsd(8)

text:
# nsd(8)

## NAME
nsd - Name Server Daemon (NSD) version 4.15.0.

## SYNOPSIS
nsd [-4] [-6] [-a ip-address[@port]] [-c configfile] [-d] [-h] [-i identity] [-I nsid] [-l logfile] [-N server-count] [-n noncurrent-tcp-count] [-P pidfile] [-p port] [-s seconds] [-t chrootdir] [-u username] [-V level] [-v]

## DESCRIPTION
NSD is a complete implementation of an authoritative DNS nameserver. Upon startup, NSD will read the configuration file and put itself into the background and answers queries on port 53 or a different port specified with -p port option. By default, NSD will bind to all local interfaces available. Use the -a ip-address[@port] option to specify a single particular interface address to be bound. If this option is given more than once, NSD will bind its UDP and TCP sockets to all the specified ip-addresses separately. If IPv6 is enabled when NSD is compiled an IPv6 address can also be specified.

## OPTIONS
All the options can be specified in the configfile ( -c argument), except for the -v and -h options. If options are specified on the commandline, the options on the commandline take precedence over the options in the configfile.

Normally NSD should be started with the `nsd-control(8) start` command invoked from a /etc/rc.d/nsd.sh script or similar at the operating system startup.

-4

Only listen to IPv4 connections.

-6

Only listen to IPv6 connections.

-a ip-address[@port]

Listen to the specified ip-address. The ip-address must be specified in numeric format (using the standard IPv4 or IPv6 notation). Optionally, a port number can be given. This flag can be specified multiple times to listen to multiple IP addresses. If this flag is not specified, NSD listens to the wildcard interface.

-c configfile

Read specified configfile instead of the default /etc/nsd/nsd.conf. For format description see nsd.conf(5).

-d

Do not fork, stay in the foreground.

-h

Print help information and exit.

-i identity

Return the specified identity when asked for CH TXT ID.SERVER (This option is used to determine which server is answering the queries when they are anycast). The default is the name returned by gethostname(3).

-I nsid

Add the specified nsid to the EDNS section of the answer when queried with an NSID EDNS enabled packet. As a sequence of hex characters or with ascii_ prefix and then an ascii string.

-l logfile

Log messages to the specified logfile. The default is to log to stderr and syslog. If a zonesdir: is specified in the config file this path can be relative to that directory.

-N count

Start count NSD servers. The default is 1. Starting more than a single server is only useful on machines with multiple CPUs and/or network adapters.

-n number

The maximum number of concurrent TCP connection that can be handled by each server. The default is 100.

-P pidfile

Use the specified pidfile instead of the platform specific default, which is mostly /var/run/nsd.pid. If a zonesdir: is specified in the config file, this path can be relative to that directory.

-p port

Answer the queries on the specified port. Normally this is port 53.

-s seconds

Produce statistics dump every seconds seconds. This is equal to sending SIGUSR1 to the daemon periodically.

-t chroot

Specifies a directory to chroot to upon startup. This option requires you to ensure that appropriate syslogd(8) socket (e.g. chrootdir /dev/log) is available, otherwise NSD won't produce any log output.

-u username

Drop user and group privileges to those of username after binding the socket. The username must be one of: username, id, or id.gid. For example: nsd, 80, or 80.80.

-V level

This value specifies the verbosity level for (non-debug) logging. Default is 0.

-v

Print the version number of NSD to standard error and exit.

NSD reacts to the following signals:

SIGTERM

Stop answering queries, shutdown, and exit normally.

SIGHUP

Reopen logfile (assists rotation) and optionally update TSIG keys and zones.

SIGUSR1

Dump BIND8-style statistics into the log. Ignored otherwise.

## FILES
/var/run/nsd.pid

the process id of the name server.

/etc/nsd/nsd.conf

default NSD configuration file

## DIAGNOSTICS
NSD will log all the problems via the standard syslog(8) daemon facility, unless the -d option is specified.

## SEE ALSO
nsd.conf(5), nsd-checkconf(8), nsd-control(8)

## AUTHORS
NSD was written by NLnet Labs and RIPE NCC joint team. Please see CREDITS file in the distribution for further details.


nsd-checkconf

title: nsd-checkconf(8)

summary: NSD configuration file checker.

text:
# nsd-checkconf(8)

## NAME
nsd-checkconf - NSD configuration file checker.

## SYNOPSIS
nsd-checkconf [-v] [-f] [-h] [-o option] [-z zonename] [-p pattern] [-s keyname] [-t tlsauthname] configfile

## DESCRIPTION
nsd-checkconf reads a configuration file. It prints parse errors to standard error, and performs additional checks on the contents. The configfile format is described in nsd.conf(5).

The utility of this program is to check a config file for errors before using it in nsd(8). This program can also be used for shell scripts to access the nsd config file, using the -o and -z options.

## OPTIONS
-v

After reading print the options to standard output in configfile format. Without this option, only success or parse errors are reported.

-f

Print full pathname when used with files, like with -o pidfile. This includes the chroot in the way it is applied to the pidfile.

-h

Print usage help information and exit.

-o option

Return only this option from the config file. This option can be used in conjunction with the -z and the -p option, or without them to query the server: section. The special value zones prints out a list of configured zones. The special value patterns prints out a list of configured patterns. This option can be used to parse the config file from the shell. If the -z option is given, but the -o option is not given, nothing is printed.

-s keyname

Prints the key secret (base64 blob) configured for this key in the config file. Used to help shell scripts parse the config file.

-t tls-auth

Prints the authentication domain name configured for this tls-auth clause in the config file. Used to help shell scripts parse the config file.

-p pattern

Return the option specified with -o for the given pattern name.

-z zonename

Return the option specified with -o for zone 'zonename'. If this option is not given, the server section of the config file is used.

The -o, -s and -z option print configfile options to standard output.

## FILES
/etc/nsd/nsd.conf

default NSD configuration file

## SEE ALSO
nsd(8), nsd.conf(5), nsd-control(8)

## AUTHORS
NSD was written by NLnet Labs and RIPE NCC joint team. Please see CREDITS file in the distribution for further details.


nsd-checkzone

title: nsd-checkzone(8)

summary: NSD zone file syntax checker.

text:
# nsd-checkzone(8)

## NAME
nsd-checkzone - NSD zone file syntax checker.

## SYNOPSIS
nsd-checkzone [-h] zonename zonefile

## DESCRIPTION
nsd-checkzone reads a DNS zone file and checks it for errors. It prints errors to stderr. On failure it exits with nonzero exit status.

This is used to check files before feeding them to the nsd(8) daemon.

## OPTIONS
-h

Print usage help information and exit.

zonename

The name of the zone to check, eg. "example.com".

zonefile

The file to read, eg. "zones/example.com.zone.signed". Use "-" to read from stdin.

-p

Print the zone contents to stdout if the zone is ok. This prints the contents as it has been parsed, not literally a copy of the input, but as printed by the formatting routines in NSD, much like the nsd-control command write does.

-i <oldzonefile>

Create an IXFR from the differences between the old zone file and the new zone file. The argument to the -i option is the old zone file, the other zonefile argument passed is the new zonefile. The difference is computed between the two zonefiles by keeping one version of the zone in memory, and another version in a temporary file. The temporary file is located at the zonefile directory. This is also where the result is written, to a file with the zonefile name, ending with '.ixfr'. This is also where NSD reads it when IXFRs are configured for the zone.

The other existing ixfr files are renamed to become older IXFR contents for the zone, if any such files exist. If the output file already exists with the correct contents, no new file is created. The contents of the header of the output file are checked for that, if it already exists.

-n <ixfr number>

The number of IXFR versions to store, at most. Default 5. This is the number of files that is created with ixfr contents for the zone. Older stored IXFR versions are deleted when the number is exceeded.

-s <ixfr size>

The number of bytes of storage to use for IXFRs. Default is 1048576. If an IXFR is bigger it is not created, and if the sum of IXFR storage exceeds it, older IXFRs versions are deleted.

## SEE ALSO
nsd(8), nsd-checkconf(8)

## AUTHORS
NSD was written by NLnet Labs and RIPE NCC joint team. Please see CREDITS file in the distribution for further details.


nsd-control

title: nsd-control(8)

summary: NSD remote server control utility.

text:
# nsd-control(8)

## NAME
nsd-control, nsd-control-setup - NSD remote server control utility.

## SYNOPSIS
nsd-control [-c cfgfile] [-s server] command

## DESCRIPTION
nsd-control performs remote administration on the nsd(8) DNS server. It reads the configuration file, contacts the nsd server over SSL, sends the command and displays the result. Commands that require a reload are queued and the result indicates the command was accepted.

The available options are:

-h

Show the version and commandline option help.

-c cfgfile

The config file to read with settings. If not given the default config file /etc/nsd/nsd.conf is used.

-s server[@port]

IPv4 or IPv6 address of the server to contact. If not given, the address is read from the config file.

## COMMANDS
There are several commands that the server understands.

start

Start the server. Simply execs nsd(8). The nsd executable is not searched for in the PATH set in the environment. Instead the default location relative to the installation prefix specified at compile-time. The executable location can be overridden by setting NSD_PATH in the environment. It is started with the config file specified using -c or the default config file.

stop

Stop the server. The server daemon exits.

reload [<zone>]

Reload zonefiles and reopen logfile. Without argument reads changed zonefiles. With argument reads the zonefile for the given zone and loads it.

reconfig

Reload nsd.conf and apply changes to TSIG keys and configuration patterns, and apply the changes to add and remove zones that are mentioned in the config. Other changes are not applied, such as listening ip address and port and chroot, also per-zone statistics are not applied. The pattern updates means that the configuration options for zones (request-xfr, zonefile, notify, ...) are updated. Also new patterns are available for use with the addzone command.

repattern

Same as the reconfig option.

log_reopen

Reopen the logfile, for log rotate that wants to move the logfile away and create a new logfile. The log can also be reopened with kill -HUP (which also reloads all zonefiles).

status

Display server status. Exit code 3 if not running (the connection to the port is refused), 1 on error, 0 if running.

stats

Output a sequence of name=value lines with statistics information, requires NSD to be compiled with this option enabled.

stats_noreset

Same as stats, but does not zero the counters.

addzone <zone name> <pattern name>

Add a new zone to the running server. The zone is added to the zonelist file on disk, so it stays after a restart. The pattern name determines the options for the new zone. For secondary zones a zone transfer is immediately attempted. For zones with a zonefile, the zone file is attempted to be read in.

delzone <zone name>

Remove the zone from the running server. The zone is removed from the zonelist file on disk, from the nsd.db file and from the memory. If it had a zonefile, this remains (but may be outdated). Zones configured inside nsd.conf itself cannot be removed this way because the daemon does not write to the nsd.conf file, you need to add such zones to the zonelist file to be able to delete them with the delzone command.

changezone <zone name> <pattern name>

Change a zone to use the pattern for options. The zone is deleted and added in one operation, changing it to use the new pattern for the zone options. Zones configured in nsd.conf cannot be changed like this, instead edit the nsd.conf (or the included file in nsd.conf) and reconfig.

addzones

Add zones read from stdin of nsd-control. Input is read per line, with name space patternname on a line. For bulk additions.

delzones

Remove zones read from stdin of nsd-control. Input is one name per line. For bulk removals.

write [<zone>]

Write zonefiles to disk, or the given zonefile to disk. Zones that have changed (via AXFR or IXFR) are written, or if the zonefile has not been created yet then it is created. Directory components of the zonefile path are created if necessary. With argument that zone is written if it was modified, without argument, all modified zones are written.

notify [<zone>]

Send NOTIFY messages to secondary servers. Sends to the IP addresses configured in the 'notify:' lists for the primary zones hosted on this server. Usually NSD sends NOTIFY messages right away when a primary zone serial is updated. If a zone is given, notifies are sent for that zone. These secondary servers are supposed to initiate a zone transfer request later (to this server or another primary), this can be allowed via the 'provide-xfr:' acl list configuration. With argument that zone is processed, without argument, all zones are processed.

transfer [<zone>]

Attempt to update secondary zones that are hosted on this server by contacting the primaries. The primaries are configured via 'request-xfr:' lists. If a zone is given, that zone is updated. Usually NSD receives a NOTIFY from the primaries (configured via 'allow-notify:' acl list) that a new zone serial has to be transferred. For zones with no content, NSD may have backed off from asking often because the primaries did not respond, but this command will reset the backoff to its initial timeout, for frequent retries. With argument that zone is transferred, without argument, all zones are transferred.

force_transfer [<zone>]

Force update secondary zones that are hosted on this server. Even if the primary hosts the same serial number of the zone, a full AXFR is performed to fetch it. If you want to use IXFR and check that the serial number increases, use the 'transfer' command. With argument that zone is transferred, without argument, all zones are transferred.

zonestatus [<zone>]

Print state of the zone, the serial numbers and since when they have been acquired. Also prints the notify action (to which server), and zone transfer (and from which primary) if there is activity right now. The state of the zone is printed as: 'primary' (primary zones), 'ok' (secondary zone is up-to-date), 'expired' (secondary zone has expired), 'refreshing' (secondary zone has transfers active). The serial numbers printed are the 'served-serial' (currently active), the 'commit-serial' (is in reload), the 'notified-serial' (got notify, busy fetching the data). The serial numbers are only printed if such a serial number is available. With argument that zone is printed, without argument, all zones are printed.

serverpid

Prints the PID of the server process. This is used for statistics (and only works when NSD is compiled with statistics enabled). This pid is not for sending unix signals, use the pid from nsd.pid for that, that pid is also stable.

verbosity <number>

Change logging verbosity.

print_tsig [<key_name>]

print the secret and algorithm for the TSIG key with that name. Or list all the tsig keys with their name, secret and algorithm.

update_tsig <name> <secret>

Change existing TSIG key with name to the new secret. The secret is a base64 encoded string. The changes are only in-memory and are gone next restart, for lasting changes edit the nsd.conf file or a file included from it.

add_tsig <name> <secret> [algo]

Add a new TSIG key with the given name, secret and algorithm. Without algorithm a default (hmac-sha256) algorithm is used. The secret is a base64 encoded string. The changes are only in-memory and are gone next restart, for lasting changes edit the nsd.conf file or a file included from it.

assoc_tsig <zone> <key_name>

Associate the zone with the given tsig. The access control lists for notify, allow-notify, provide-xfr and request-xfr are adjusted to use the given key.

del_tsig <key_name>

Delete the TSIG key with the given name. Prints error if the key is still in use by some zone. The changes are only in-memory and are gone next restart, for lasting changes edit the nsd.conf file or a file included from it.

add_cookie_secret <secret>

Add or replace a cookie secret persistently. <secret> needs to be an 128 bit hex string. Cookie secrets can be either active or staging. Active cookie secrets are used to create DNS Cookies, but verification of a DNS Cookie succeeds with any of the active or staging cookie secrets. The state of the current cookie secrets can be printed with the print_cookie_secrets command.

When there are no cookie secrets configured yet, the <secret> is added as active. If there is already an active cookie secret, the <secret> is added as staging or replacing an existing staging secret.

To "roll" a cookie secret used in an anycast set. The new secret has to be added as staging secret to all nodes in the anycast set. When all nodes can verify DNS Cookies with the new secret, the new secret can be activated with the activate_cookie_secret command. After all nodes have the new secret active for at least one hour, the previous secret can be dropped with the drop_cookie_secret command.

Persistence is accomplished by writing to a file which if configured with the cookie-secret-file option in the server section of the config file. The default value for that is: /var/db/nsd/cookiesecrets.txt .

drop_cookie_secret

Drop the staging cookie secret.

activate_cookie_secret

Make the current staging cookie secret active, and the current active cookie secret staging.

print_cookie_secrets

Show the current configured cookie secrets with their status.

## EXIT CODE
The nsd-control program exits with status code 1 on error, 0 on success.

## SET UP
The setup requires a self-signed certificate and private keys for both the server and client. The script nsd-control-setup generates these in the default run directory, or with -d in another directory. If you change the access control permissions on the key files you can decide who can use nsd-control, by default owner and group but not all users. The script preserves private keys present in the directory.

## STATISTIC COUNTERS
The stats command shows a number of statistic counters.

num.queries

number of queries received (the tls, tcp and udp queries added up).

serverX.queries

number of queries handled by the server process. The number of server processes is set with the config statement server-count.

time.boot

uptime in seconds since the server was started. With fractional seconds.

time.elapsed

time since the last stats report, in seconds. With fractional seconds. Can be zero if polled quickly and the previous stats command resets the counters, so that the next gets a fully zero, and zero elapsed time, report.

size.db.disk

size of nsd.db on disk, in bytes.

size.db.mem

size of the DNS database in memory, in bytes.

size.xfrd.mem

size of memory for zone transfers and notifies in xfrd process, excludes TSIG data, in bytes.

size.config.disk

size of zonelist file on disk, excludes the nsd.conf size, in bytes.

size.config.mem

size of config data in memory, kept twice in server and xfrd process, in bytes.

num.type.X

number of queries with this query type.

num.opcode.X

number of queries with this opcode.

num.class.X

number of queries with this query class.

num.rcode.X

number of answers that carried this return code.

num.edns

number of queries with EDNS OPT.

num.ednserr

number of queries which failed EDNS parse.

num.udp

number of queries over UDP ip4.

num.udp6

number of queries over UDP ip6.

num.tcp

number of connections over TCP ip4.

num.tcp6

number of connections over TCP ip6.

num.tls

number of connections over TLS ip4. TLS queries are not part of num.tcp.

num.tls6

number of connections over TLS ip6. TLS queries are not part of num.tcp6.

num.answer_wo_aa

number of answers with NOERROR rcode and without AA flag, this includes the referrals.

num.rxerr

number of queries for which the receive failed.

num.txerr

number of answers for which the transmit failed.

num.raxfr

number of AXFR requests from clients (that got served with reply).

num.rixfr

number of IXFR requests from clients (that got served with reply).

num.truncated

number of answers with TC flag set.

num.dropped

number of queries that were dropped because they failed sanity check.

zone.primary

number of primary zones served. These are zones with no 'request-xfr:' entries. Also output as 'zone.master' for backwards compatibility.

zone.secondary

number of secondary zones served. These are zones with 'request-xfr' entries. Also output as 'zone.slave' for backwards compatibility.

## FILES
/etc/nsd/nsd.conf

nsd configuration file.

/etc/nsd

directory with private keys (nsd_server.key and nsd_control.key) and self-signed certificates (nsd_server.pem and nsd_control.pem).

## SEE ALSO
nsd.conf(5), nsd(8), nsd-checkconf(8)


nslint

package: nslint

title: nslint(8)

text:
# nslint(8)

## NAME
nslint - perform consistency checks on dns files

## SYNOPSIS
nslint [ -d ] [ -c named.conf ] [ -C nslint.conf ]

nslint [ -d ] [ -b named.boot ] [ -B nslint.boot ]

## DESCRIPTION
Nslint reads the nameserver configuration files and performs a number of consistency checks on the dns records. If any problems are discovered, error messages are displayed on stderr and nslint exits with a non-zero status.

Here is a partial list of errors nslint detects:

Records that are malformed.

Names that contain dots but are missing a trailing dot.

PTR records with names that are missing a trailing dot.

Names that contain illegal characters (rfc1034).

A records without matching PTR records

PTR records without matching A records

Names with more than one address on the same subnet.

Addresses in use by more than one name.

Names with CNAME and other records (rfc1033).

Unknown service and/or protocol keywords in WKS records.

Missing semicolons and quotes.

## OPTIONS
-b

Specify an alternate named.boot file. The default is /etc/named.boot.

-c

Specify an alternate named.conf file. The default is /etc/named.conf.

-B

Specify an alternate nslint.boot file. The default is nslint.boot in the last directory line processed in named.boot (or the current working directory). This file is processed like a second named.boot. The most common use is to tell nslint about A records that match PTR records that point outside the domains listed in named.boot.

-C

Specify an alternate nslint.conf file. The default is nslint.conf in the last directory line processed in named.conf (or the current working directory). This file is processed like a second named.conf.

-d

Raise the debugging level. Debugging information is displayed on stdout.

Nslint knows how to read BIND 8 and 9's named.conf configuration file and also older BIND's named.boot file. If both files exist, nslint will prefer named.conf (on the theory that you forgot to delete named.boot when you upgraded BIND).

## ADVANCED CONFIGURATION
There are some cases where it is necessary to use the advanced configuration features of nslint. Advanced configuration is done with the nslint.conf file. (You can also use nslint.boot which has a syntax similar to named.boot but is not described here.)

The most common is when a site has a demilitarized zone (DMZ). The problem here is that the DMZ network will have PTR records for hosts outside its domain. For example lets say we have 128.0.rev with:

```
1.1     604800  in      ptr     gateway.lbl.gov.
2.1     604800  in      ptr     gateway.es.net.
```

Obviously we will define an A record for gateway.lbl.gov pointing to 128.0.1.1 but we will get errors because there is no A record defined for gateway.es.net. The solution is to create a nslint.conf file (in the same directory as the other dns files) with:

```
zone "es.net" {
```

```
type master;
file "nslint.es.net";
```

```
};
```

And then create the file nslint.es.net with:

```
gateway 1       in      a       128.0.1.2
```

Another problem occurs when there is a CNAME that points to a host outside the local domains. Let's say we have info.lbl.gov pointing to larry.es.net:

```
info    604800  in      cname   larry.es.net.
```

In this case we would need:

```
zone "es.net" {
```

```
type master;
file "nslint.es.net";
```

```
};
```

in nslint.boot and:

```
larry   1       in      txt     "place holder"
```

nslint.es.net.

One last problem when a pseudo host is setup to allow two more more actual hosts provide a service. For, let's say that lbl.gov contains:

```
server  604800  in      a       128.0.6.6
server  604800  in      a       128.0.6.94
;
tom     604800  in      a       128.0.6.6
tom     604800  in      mx 0    lbl.gov.
;
jerry   604800  in      a       128.0.6.94
jerry   604800  in      mx 0    lbl.gov.
```

In this case nslint would complain about missing PTR records and ip addresses in use by more than one host. To suppress these warnings, add you would the lines:

```
zone "lbl.gov" {
```

```
type master;
file "nslint.lbl.gov";
```

```
};
```

```
zone "0.128.in-addr.arpa" {
```

```
type master;
file "nslint.128.0.rev";
```

```
};
```

to nslint.conf and create nslint.lbl.gov with:

```
server  1       in      allowdupa       128.0.6.6
server  1       in      allowdupa       128.0.6.94
```

and create nslint.128.0.rev with:

```
6.6     604800  in      ptr     server.lbl.gov.
94.6    604800  in      ptr     server.lbl.gov.
```

In this example, the allowdupa keyword tells nslint that it's ok for 128.0.6.6 and 128.0.6.94 to be shared by server.lbl.gov, tom.lbl.gov, and jerry.lbl.gov.

Another nslint feature helps detect hosts that have mistakenly had two ip addresses assigned on the same subnet. This can happen when two different people request an ip address for the same hostname or when someone forgets an address has been assigned and requests a new number.

To detect such A records, add a nslint section to your nslint.conf containing something similar to:

```
nslint {
```

```
network "128.0.6/22";
```

```
};
```

or:

```
nslint {
```

```
network "128.0.6 255.255.252.0";
```

```
};
```

These two examples are are equivalent ways of saying the same thing; that subnet 128.0.6 has a 22 bit wide subnet mask.

Using information from the above network statement, nslint would would flag the following A records as being in error:

```
server  1       in      a       128.0.6.48
server  1       in      a       128.0.7.16
```

Note that if you specify any network lines in your nslint.conf file, nslint requires you to include lines for all networks; otherwise you might forget to add network lines for new networks.

Sometimes you have a zone that nslint just can't deal with. A good example is a dynamic dns zone. To handle this, you can add the following to nslint.com:

```
nslint {
```

```
ignorezone "dhcp.lbl.gov";
```

```
};
```

This will suppress "name referenced without other records" warnings.

## FILES

```
/etc/named.conf - default named configuration file
/etc/named.boot - old style named configuration file
nslint.conf - default nslint configuration file
nslint.boot - old style nslint configuration file
```

## SEE ALSO
named(8), rfc1033, rfc1034

## AUTHOR
Craig Leres of the Lawrence Berkeley National Laboratory, University of California, Berkeley, CA.

The current version is available via anonymous ftp:

ftp://ftp.ee.lbl.gov/nslint.tar.gz

## BUGS
Please send bug reports to nslint@ee.lbl.gov.

Not everyone is guaranteed to agree with all the checks done.


nslcd

package: nss-ldapd

title: nslcd(8)

summary: local LDAP name service daemon

text:
# nslcd(8)

## NAME
nslcd - local LDAP name service daemon

## SYNOPSIS

nslcd

[options]

## DESCRIPTION
nslcd is a daemon that will do LDAP queries for local processes that want to do user, group and other naming lookups (NSS) or do user authentication, authorisation or password modification (PAM).

nslcd is configured through a configuration file (see nslcd.conf(5)).

See the included README for information on configuring the LDAP server.

## OPTIONS
nslcd accepts the following options:

-c, --check

Check if the daemon is running. This causes nslcd to return 0 if the daemon is already running and 1 if it is not.

-d, --debug

Enable debugging mode. nslcd will not put itself in the background and sends verbose debugging info to stderr. nslcd will handle connections as usual. This option is for debugging purposes only. Specify this option multiple times to also include more detailed logging from the LDAP library.

-n, --nofork

Do not fork or daemonise and run nslcd in the foreground.

--help

Display short help and exit.

-V, --version

Output version information and exit.

## SIGNALS
SIGTERM/SIGINT

Cancel any running queries and exit.

SIGUSR1

Cause nslcd to retry any failing connections to the LDAP server, regardless of the reconnect_sleeptime and reconnect_retrytime options.

## FILES
/etc/nslcd.conf - the configuration file (see nslcd.conf(5))

## SEE ALSO
nslcd.conf(5)

## AUTHOR
This manual was written by Arthur de Jong <arthur@arthurdejong.org>.


title: pam_ldap(8)

text:
# pam_ldap(8)

## NAME
pam_ldap - PAM module for LDAP-based authentication

## SYNOPSIS

pam_ldap.so

[...]

## DESCRIPTION
This is a PAM module that uses an LDAP server to verify user access rights and credentials.

## OPTIONS
use_first_pass

Specifies that the PAM module should use the first password provided in the authentication stack and not prompt the user for a password.

try_first_pass

Specifies that the PAM module should use the first password provided in the authentication stack and if that fails prompt the user for a password.

nullok

Specifying this option allows users to log in with a blank password. Normally logins without a password are denied.

ignore_unknown_user

Specifies that the PAM module should return PAM_IGNORE for users that are not present in the LDAP directory. This causes the PAM framework to ignore this module.

ignore_authinfo_unavail

Specifies that the PAM module should return PAM_IGNORE if it cannot contact the LDAP server. This causes the PAM framework to ignore this module.

no_warn

Specifies that warning messages should not be propagated to the PAM application.

use_authtok

This causes the PAM module to use the earlier provided password when changing the password. The module will not prompt the user for a new password (it is analogous to use_first_pass).

debug

This option causes the PAM module to log debugging information to syslog(3).

minimum_uid=UID

This option causes the PAM module to ignore the user if the user id is lower than the specified value. This can be used to bypass LDAP checks for system users (e.g. by setting it to 1000).

## MODULE SERVICES PROVIDED
All services are provided by this module but currently sessions changes are not implemented in the nslcd daemon.

## FILES
/etc/pam.conf

the main PAM configuration file

/etc/nslcd.conf

The configuration file for the nslcd daemon (see nslcd.conf(5))

## SEE ALSO
pam.conf(5), nslcd(8), nslcd.conf(5)

## AUTHOR
This manual was written by Arthur de Jong <arthur@arthurdejong.org>.


mkntfs

title: mkntfs(8)

summary: create an NTFS file system

text:
# mkntfs(8)

## NAME
mkntfs - create an NTFS file system

## SYNOPSIS
mkntfs [options] device [number-of-sectors]

mkntfs [ -C ] [ -c cluster-size ] [ -F ] [ -f ] [ -H heads ] [ -h ] [ -I ] [ -L volume-label ] [ -l ] [ -n ] [ -p part-start-sect ] [ -Q ] [ -q ] [ -S sectors-per-track ] [ -s sector-size ] [ -T ] [ -U ] [ -V ] [ -v ] [ -z mft-zone-multiplier ] [ --debug ] device [ number-of-sectors ]

## DESCRIPTION
mkntfs is used to create an NTFS file system on a device (usually a disk partition) or file. device is the special file corresponding to the device (e.g /dev/hdXX). number-of-sectors is the number of sectors on the device. If omitted, mkntfs automagically figures the file system size.

## OPTIONS
Below is a summary of all the options that mkntfs accepts. Nearly all options have two equivalent names. The short name is preceded by - and the long name is preceded by --. Any single letter options, that don't take an argument, can be combined into a single command, e.g. -fv is equivalent to -f -v. Long named options can be abbreviated to any unique prefix of their name.

### Basic options
-f, --fast, -Q, --quick

Perform quick (fast) format. This will skip both zeroing of the volume and bad sector checking.

-L, --label STRING

Set the volume label for the filesystem.

-C, --enable-compression

Enable compression on the volume.

-n, --no-action

Causes mkntfs to not actually create a filesystem, but display what it would do if it were to create a filesystem. All steps of the format are carried out except the actual writing to the device.

### Advanced options
-c, --cluster-size BYTES

Specify the size of clusters in bytes. Valid cluster size values are powers of two, with at least 256, and at most 2097152 bytes (2MB) per cluster. If omitted, mkntfs uses 4096 bytes as the default cluster size. Note that the default cluster size is set to be at least equal to the sector size as a cluster cannot be smaller than a sector. Also, note that values greater than 4096 have the side effect that compression is disabled on the volume (due to limitations in the NTFS compression algorithm currently in use by Windows).

-s, --sector-size BYTES

Specify the size of sectors in bytes. Valid sector size values are 256, 512, 1024, 2048 and 4096 bytes per sector. If omitted, mkntfs attempts to determine the sector-size automatically and if that fails a default of 512 bytes per sector is used.

-p, --partition-start SECTOR

Specify the partition start sector. The maximum is 4294967295 (2^32-1). If omitted, mkntfs attempts to determine part-start-sect automatically and if that fails or the value is oversized, a default of 0 is used. The partition is usable despite a wrong value, however note that a correct part-start-sect is required for Windows to be able to boot from the created volume.

-H, --heads NUM

Specify the number of heads. The maximum is 65535 (0xffff). If omitted, mkntfs attempts to determine the number of heads automatically and if that fails a default of 0 is used. Note that heads is required for Windows to be able to boot from the created volume.

-S, --sectors-per-track NUM

Specify the number of sectors per track. The maximum is 65535 (0xffff). If omitted, mkntfs attempts to determine the number of sectors-per-track automatically and if that fails a default of 0 is used. Note that sectors-per-track is required for Windows to be able to boot from the created volume.

-z, --mft-zone-multiplier NUM

Set the MFT zone multiplier, which determines the size of the MFT zone to use on the volume. The MFT zone is the area at the beginning of the volume reserved for the master file table (MFT), which stores the on disk inodes (MFT records). It is noteworthy that small files are stored entirely within the inode; thus, if you expect to use the volume for storing large numbers of very small files, it is useful to set the zone multiplier to a higher value. Note, that the MFT zone is resized on the fly as required during operation of the NTFS driver but choosing a good value will reduce fragmentation. Valid values are 1, 2, 3 and 4. The values have the following meaning: MFT zone

MFT zone size

multiplier

(% of volume size)

1

12.5% (default)

2

25.0%

3

37.5%

4

50.0%

-T, --zero-time

Fake the time to be 00:00:00 UTC, Jan 1, 1970 instead of the current system time. This is only really useful for debugging purposes.

-U, --with-uuid

Generate a random volume UUID.

-I, --no-indexing

Disable content indexing on the volume. (This is only meaningful on Windows 2000 and later. Windows NT 4.0 and earlier ignore this as they do not implement content indexing at all.)

-F, --force

Force mkntfs to run, even if the specified device is not a block special device, or appears to be mounted.

### Output options
-q, --quiet

Quiet execution; only errors are written to stderr, no output to stdout occurs at all. Useful if mkntfs is run in a script.

-v, --verbose

Verbose execution.

--debug

Really verbose execution; includes the verbose output from the -v option as well as additional output useful for debugging mkntfs.

### Help options
-V, --version

Print the version number of mkntfs and exit.

-l, --license

Print the licensing information of mkntfs and exit.

-h, --help

Show a list of options with a brief description of each one.

## KNOWN ISSUES
When applying chkdsk to a file system, it sometimes throws a warning "Correcting errors in the uppercase file." The uppercase file is created while formatting and it defines the mapping of lower case characters to upper case ones, as needed to sort file names in directories. The warning means that the uppercase file defined on the file system is not the same as the one used by the Windows OS on which chkdsk is running, and this may happen because newer versions of Windows take into account new characters defined by the Unicode consortium.

Currently, mkntfs creates the uppercase table so that no warning is thrown by Windows Vista, Windows 7 or Windows 8. A warning may be thrown by other Windows versions, or if chkdsk is applied in succession on different Windows versions.

## BUGS
If you find a bug please send an email describing the problem to the development team:

ntfs-3g-devel@lists.sf.net

## AUTHORS
mkntfs was written by Anton Altaparmakov, Richard Russon, Erik Sornes and Szabolcs Szakacsits. It was ported to ntfs-3g by Erik Larsson and Jean-Pierre Andre.

## AVAILABILITY
mkntfs is part of the ntfs-3g package and is available from:

http://www.tuxera.com/community/

## SEE ALSO
badblocks(8), ntfsprogs(8)