tcplay

package: tcplay

title: tcplay(8)

summary: tool to manage TrueCrypt volumes

text:
# tcplay(8)

## NAME
tcplay — tool to manage TrueCrypt volumes

## SYNOPSIS
tcplay

-c -d device [-g] [-z] [-w] [-a pbkdf_hash] [-b cipher] [-f keyfile_hidden] [-k keyfile] [-x pbkdf_hash] [-y cipher]

tcplay

-i -d device [-e] [-p] [-f keyfile_hidden] [-k keyfile] [-s system_device] [--fde] [--use-backup] [--use-hdr-file hdr_file] [--use-hidden-hdr-file hdr_file]

tcplay

-j mapping

tcplay

-m mapping -d device [-e] [-p] [-f keyfile_hidden] [-k keyfile] [-s system_device] [-t] [--fde] [--use-backup] [--use-hdr-file hdr_file] [--use-hidden-hdr-file hdr_file]

tcplay

--modify -d device [-k keyfile] [--new-keyfile new_keyfile] [--new-pbkdf-prf pbkdf_hash] [-s system_device] [--fde] [--use-backup] [--use-hdr-file hdr_file] [--use-hidden-hdr-file hdr_file] [--save-hdr-backup hdr_file] [-w]

tcplay

--modify -d device [-k keyfile] --restore-from-backup-hdr [-w]

tcplay

-u mapping

tcplay

-h | -v

## DESCRIPTION
The tcplay utility provides full support for creating and opening/mapping TrueCrypt-compatible volumes. It supports the following commands, each with a set of options detailed further below:

-c, --create

Create a new encrypted TrueCrypt volume on the device specified by --device.

-h, --help

Print help message and exit.

-i, --info

Print out information about the encrypted device specified by --device.

-j mapping, --info-mapped=mapping

Print out information about the mapped tcplay volume specified by mapping. Information such as key CRC and the PBKDF2 PRF is not available via this command.

--modify

Modify the volume header. This mode allows changing passphrase, keyfiles, PBKDF2 PRF as well as restoring from a backup header.

-m mapping, --map=mapping

Map the encrypted TrueCrypt volume on the device specified by --device as a dm(4) mapping called mapping. The mapping argument should not contain any spaces or special characters.

-u mapping, --unmap=mapping

Removes (unmaps) the dm(4) mapping specified by mapping as well as any related cascade mappings. If you mapped a volume using full disk encryption and created mapping for individual partitions using kpartx(8), you must remove these prior to unmapping the volume.

-v, --version

Print version message and exit.

Options common to all commands are:

-d device, --device=device

Specifies the disk device on which the TrueCrypt volume resides/will reside. This option is mandatory for all commands.

-f keyfile_hidden, --keyfile-hidden=keyfile_hidden

Specifies a keyfile to use in addition to the passphrase when either creating a hidden volume or when protecting a hidden volume while mapping or querying the outer volume. If you only intend to map a hidden volume, the --keyfile option has to be used. This option can appear multiple times; if so, multiple keyfiles will be used. This option is not valid in the --modify mode.

-k keyfile, --keyfile=keyfile

Specifies a keyfile to use in addition to the passphrase. This option can appear multiple times; if so, multiple keyfiles will be used.

Additional options for the --create command are:

-a pbkdf_hash, --pbkdf-prf=pbkdf_hash

Specifies which hash algorithm to use for the PBKDF2 password derivation. To see which algorithms are supported, specify --pbkdf-prf=help.

-b cipher, --cipher=cipher

Specifies which cipher algorithm or cascade of ciphers to use to encrypt the new volume. To see which algorithms are supported, specify --cipher=help.

-g, --hidden

Specifies that the newly created volume will contain a hidden volume. The keyfiles applied to the passphrase for the hidden volume are those specified by --keyfile-hidden. The user will be prompted for the size of the hidden volume interactively.

-w, --weak-keys

Use urandom(4) for key material instead of a strong entropy source. This is in general a really bad idea and should only be used for testing.

-x pbkdf_hash, --pbkdf-prf-hidden=pbkdf_hash

Specifies which hash algorithm to use for the PBKDF2 password derivation for the hidden volume. Only valid in conjunction with --hidden. If no algorithm is specified, the same as for the outer volume will be used. To see which algorithms are supported, specify --pbkdf-prf-hidden=help.

-y cipher, --cipher-hidden=cipher

Specifies which cipher algorithm or cascade of ciphers to use to encrypt the hidden volume on the new TrueCrypt volume. Only valid in conjunction with --hidden. If no cipher is specified, the same as for the outer volume will be used. To see which algorithms are supported, specify --cipher-hidden=help.

-z, --insecure-erase

Skips the secure erase of the disk. Use this option carefully as it is a security risk!

Additional options for the --info, --map and --modify commands are:

-e, --protect-hidden

Specifies that an outer volume will be queried or mapped, but its reported size will be adjusted accordingly to the size of the hidden volume contained in it. Both the hidden volume and outer volume passphrase and keyfiles will be required. This option only applies to the --info and --map commands.

-p, --prompt-passphrase

This option causes tcplay to prompt for a passphrase immediately, even if a keyfile is provided. Normally, if a keyfile is supplied, tcplay will first attempt to unlock the volume using only the keyfile, and only prompt for a passphrase if that first unlocking attempt fails. However, since a failed unlocking attempt can take a non-trivial amount of time, specifying this option can reduce the total unlocking time if both a keyfile and passphrase are required. This option only makes sense if -k or -f are used.

-s system_device, --system-encryption=system_device

This option is required if you are attempting to access a device that uses system encryption, for example an encrypted Windows system partition. It does not apply to disks using full disk encryption. The --device option will point at the actual encrypted partition, while the system_device argument will point to the parent device (i.e. underlying physical disk) of the encrypted partition.

--fde

This option is intended to be used with disks using full disk encryption (FDE). When a disk has been encrypted using TrueCrypt's FDE, the complete disk is encrypted except for the first 63 sectors. The --device option should point to the whole disk device, not to any particular partition. The resultant mapping will cover the whole disk, and will not appear as separate partitions. To access individual partitions after mapping, kpartx(8) can be used.

--use-backup

This option is intended to be used when the primary headers of a volume have been corrupted. This option will force tcplay to use the backup headers, which are located at the end of the device, to access the volume.

Additional options only for the --map command are:

-t, --allow-trim

This option enables TRIM (discard) support on the mapped volume.

Additional options only for the --modify command are:

--new-pbkdf-prf=pbkdf_hash

Specifies which hash algorithm to use for the PBKDF2 password derivation on reencrypting the volume header. If this option is not specified, the reencrypted header will use the current PRF. To see which algorithms are supported, specify --pbkdf-prf=help.

--new-keyfile=keyfile

Specifies a keyfile to use in addition to the new passphrase on reencrypting the volume header. This option can appear multiple times; if so, multiple keyfiles will be used.

--restore-from-backup-hdr

If this option is specified, neither --new-pbkdf-prf nor --new-keyfile should be specified. This option implies --use-backup. Use this option to restore the volume headers from the backup header.

Sending a SIGINFO or SIGUSR1 signal to a running tcplay process makes it print progress on slower tasks such as gathering entropy or wiping the volume.

## NOTES
TrueCrypt limits passphrases to 64 characters (including the terminating null character). To be compatible with it, tcplay does the same. All passphrases (excluding keyfiles) are trimmed to 64 characters. Similarly, keyfiles are limited to a size of 1 MB, but up to 256 keyfiles can be used.

## PLAUSIBLE DENIABILITY
tcplay offers plausible deniability. Hidden volumes are created within an outer volume. Which volume is accessed solely depends on the passphrase and keyfile(s) used. If the passphrase and keyfiles for the outer volume are specified, no information about the existance of the hidden volume is exposed. Without knowledge of the passphrase and keyfile(s) of the hidden volume its existence remains unexposed. The hidden volume can be protected when mapping the outer volume by using the --protect-hidden option and specifying the passphrase and keyfiles for both the outer and hidden volumes.

## VERACRYPT SUPPORT
tcplay offers both legacy TrueCrypt as well as VeraCrypt support. When creating a new volume, the selected PBKDF2 PRF determines whether the volume will use the TrueCrypt or VeraCrypt format. The formats are identical other than the rounds of the key derivation functions as well as the volume signature and minver fields in the header. Converting volumes from one format or another using tcplay is simply a matter of using the --modify option specifying a PBKDF2 PRF hash matching the intended target format with the --new-pbkdf-prf argument.

PBKDF2 PRFs suffixed with -VC are VeraCrypt PRFs, whilst all others are legacy TrueCrypt PRFs. By default, new volumes are created with a VeraCrypt PRF to offer better security.

NOTE: Failed unlocking attempts even for legacy TrueCrypt volumes now take significantly longer than before, as tcplay will cycle through all PRFs, including the VeraCrypt PRFs with much higher number of PRF iterations. Successful attempts should still take the same amount of time as before, as the legacy PRF settings are tried first. One notable exception is if both a keyfile and a passphrase is required. Normally, tcplay would first attempt an unlock attempt with just the keyfile, and only prompt for a passphrase after that attempt failed. If it is known in advance that both a keyfile and passphrase are required to unlock a volume, the -p option to --info and --map can more than halve the time required to unlock the volume.

## EXAMPLES
Create a new TrueCrypt volume on /dev/vn0 using the cipher cascade of AES and Twofish and the Whirlpool hash algorithm for PBKDF2 password derivation and two keyfiles, one.key and two.key:

tcplay --create --device=/dev/vn0 --cipher=TWOFISH-256-XTS,AES-256-XTS --pbkdf-prf=whirlpool --keyfile=one.key --keyfile=two.key

Map the outer volume on the TrueCrypt volume on /dev/vn0 as truecrypt1, but protect the hidden volume, using the keyfile hidden.key, from being overwritten:

tcplay --map=truecrypt1 --device=/dev/vn0 --protect-hidden --keyfile-hidden=hidden.key

Map the hidden volume on the TrueCrypt volume on /dev/vn0 as truecrypt2, using the keyfile hidden.key:

tcplay --map=truecrypt2 --device=/dev/vn0 --keyfile=hidden.key

Map and mount the volume in the file secvol on Linux:

losetup /dev/loop1 secvol

tcplay --map=secv --device=/dev/loop1

mount /dev/mapper/secv /mnt

Similarly on DragonFly:

vnconfig vn1 secvol

tcplay --map=secv --device=/dev/vn1

mount /dev/mapper/secv /mnt

Unmapping the volume truecrypt2 on both Linux and DragonFly after unmounting:

dmsetup remove truecrypt2

Or alternatively:

tcplay --unmap=truecrypt2

A hidden volume whose existance can be plausibly denied and its outer volume can for example be created with

tcplay --create --hidden --device=/dev/loop0 --cipher=TWOFISH-256-XTS,AES-256-XTS --pbkdf-prf=whirlpool --keyfile=one.key --cipher-hidden=AES-256-XTS --pbkdf-prf-hidden=whirlpool --keyfile-hidden=hidden.key

tcplay will prompt the user for the passphrase for both the outer and hidden volume as well as the size of the hidden volume inside the outer volume. The hidden volume will be created inside the area spanned by the outer volume. The hidden volume can optionally use a different cipher and prf function as specified by the --cipher-hidden and --pbkdf-prf-hidden options. Which volume is later accessed depends only on which passphrase and keyfile(s) are being used, so that the existance of the hidden volume remains unknown without knowledge of the passphrase and keyfile it is protected by since it is located within the outer volume. To map the outer volume without potentially damaging the hidden volume, the passphrase and keyfile(s) of the hidden volume must be known and provided alongside the --protect-hidden option.

A disk encrypted using full disk encryption can be mapped using

tcplay --map=tcplay_sdb --device=/dev/sdb --fde

To access individual partitions on the now mapped disk, the following command will generate mappings for each individual partition on the encrypted disk:

kpartx --av /dev/mapper/tcplay_sdb

To restore the main volume header from the backup header, the following command can be used:

tcplay --modify --device=/dev/sdb --restore-from-backup-hdr

As with most other commands, which header is saved (used as source) depends on the passphrase and keyfiles used.

To save a backup copy of a header, the following command can be used:

tcplay --modify --device=/dev/sdb --save-hdr-backup=/tmp/sdb_backup_header.hdr

As with most other commands, which header is saved (used as source) depends on the passphrase and keyfiles used.

To restore a header from a backup header file, the following command can be used:

tcplay --modify -use-hdr-file=/tmp/sdb_backup_header.hdr

Similarly, to restore a hidden header from a backup header file:

tcplay --modify -use-hidden-hdr-file=/tmp/sdb_backup_hidden_header.hdr

Which header is used as the source of the operation will still depend on the passphrase and keyfiles used. Even if you use the --use-hidden-hdr-file option, if you specify the passphrase and keyfiles for the main header, the main header will be used instead.

## SEE ALSO
crypttab(5), cryptsetup(8), dmsetup(8), kpartx(8)

## HISTORY
The tcplay utility appeared in DragonFly 2.11.

## AUTHORS
Alex Hornung


tdbbackup

package: tdb-utils

title: tdbbackup(8)

text:
# tdbbackup(8)

## NAME
tdbbackup - tool for backing up and for validating the integrity of samba .tdb files

## SYNOPSIS
tdbbackup [-s suffix] [-v] [-h] [-n hashsize] [-l]

## DESCRIPTION
This tool is part of the samba(1) suite.

tdbbackup is a tool that may be used to backup samba .tdb files. This tool may also be used to verify the integrity of the .tdb files prior to samba startup or during normal operation. If it finds file damage and it finds a prior backup the backup file will be restored.

## OPTIONS
-h

Get help information.

-s suffix

The -s option allows the administrator to specify a file backup extension. This way it is possible to keep a history of tdb backup files by using a new suffix for each backup.

-v

The -v will check the database for damages (corrupt data) which if detected causes the backup to be restored.

-n hashsize

The -n option sets the hash size for the new backup tdb.

-l

This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex(). Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e.g. databases which were created with mutex locking.

## COMMANDS
GENERAL INFORMATION

The tdbbackup utility can safely be run at any time. It was designed so that it can be used at any time to validate the integrity of tdb files, even during Samba operation. Typical usage for the command will be:

tdbbackup [-s suffix] *.tdb

Before restarting samba the following command may be run to validate .tdb files:

tdbbackup -v [-s suffix] *.tdb

Samba .tdb files are stored in various locations, be sure to run backup all .tdb file on the system. Important files includes:

•secrets.tdb - usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba.

•passdb.tdb - usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba.

•*.tdb located in the /usr/local/samba/var directory or on some systems in the /var/cache or /var/lib/samba directories.

## VERSION
This man page is correct for version 3 of the Samba suite.

## AUTHOR
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The tdbbackup man page was written by John H Terpstra.

branch: sisyphus


tdbdump

title: tdbdump(8)

text:
# tdbdump(8)

## NAME
tdbdump - tool for printing the contents of a TDB file

## SYNOPSIS
tdbdump [-k keyname] [-e] [-h] [-x] {filename}

## DESCRIPTION
This tool is part of the samba(1) suite.

tdbdump is a very simple utility that 'dumps' the contents of a TDB (Trivial DataBase) file to standard output in a human-readable format.

This tool can be used when debugging problems with TDB files. It is intended for those who are somewhat familiar with Samba internals.

## OPTIONS
-h

Get help information.

-k keyname

The -k option restricts dumping to a single key, if found.

-e

The -e tries to dump out from a corrupt database. Naturally, such a dump is unreliable, at best.

-x

The -x changes the output data to a hex dump, from the default mix of ASCII and hex dump.

## VERSION
This man page is correct for version 3 of the Samba suite.

## AUTHOR
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The tdbdump man page was written by Jelmer Vernooij.


tdbrestore

title: tdbrestore(8)

text:
# tdbrestore(8)

## NAME
tdbrestore - tool for creating a TDB file out of a tdbdump output

## SYNOPSIS
tdbrestore {tdbfilename}

## DESCRIPTION
This tool is part of the samba(1) suite.

tdbrestore is a very simple utility that 'restores' the contents of dump file into TDB (Trivial DataBase) file. The dump file is obtained from the tdbdump command.

This tool wait on the standard input for the content of the dump and will write the tdb in the tdbfilename parameter.

This tool can be used for unpacking the content of tdb as backup mean.

## VERSION
This man page is correct for version 3 of the Samba suite.

## AUTHOR
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. This tool was initially written by Volker Lendecke based on an idea by Simon McVittie.

The tdbrestore man page was written by Matthieu Patou.


tdbtool

title: tdbtool(8)

summary: manipulate the contents TDB files

text:
# tdbtool(8)

## NAME
tdbtool - manipulate the contents TDB files

## SYNOPSIS
tdbtool

tdbtool [-l] TDBFILE [COMMANDS...]

## DESCRIPTION
This tool is part of the samba(1) suite.

tdbtool a tool for displaying and altering the contents of Samba TDB (Trivial DataBase) files. Each of the commands listed below can be entered interactively or provided on the command line.

## OPTIONS
-l

This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex(). Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e.g. databases which were created with mutex locking.

## COMMANDS
create TDBFILE

Create a new database named TDBFILE.

open TDBFILE

Open an existing database named TDBFILE.

erase

Erase the current database.

dump

Dump the current database as strings.

cdump

Dump the current database as connection records.

keys

Dump the current database keys as strings.

hexkeys

Dump the current database keys as hex values.

info

Print summary information about the current database.

insert KEY DATA

Insert a record into the current database.

move KEY TDBFILE

Move a record from the current database into TDBFILE.

store KEY DATA

Store (replace) a record in the current database.

storehex KEY DATA

Store (replace) a record in the current database where key and data are in hex format.

show KEY

Show a record by key.

delete KEY

Delete a record by key.

list

Print the current database hash table and free list.

free

Print the current database and free list.

! COMMAND

Execute the given system command.

first

Print the first record in the current database.

next

Print the next record in the current database.

check

Check the integrity of the current database.

repack

Repack a database using a temporary file to remove fragmentation.

quit

Exit tdbtool.

## CAVEATS
The contents of the Samba TDB files are private to the implementation and should not be altered with tdbtool.

## VERSION
This man page is correct for version 3.6 of the Samba suite.

## AUTHOR
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.


teamd

package: teamd

title: teamd(8)

summary: team network device control daemon

text:
# teamd(8)

## NAME
teamd — team network device control daemon

## SYNOPSIS
teamd -k [-p pid_file] [-g]

teamd -e [-p pid_file] [-g]

teamd -c config_text [-p pid_file] [-gdrD] [-Z address]

teamd -f config_file [-p pid_file] [-gdrD] [-Z address]

teamd -h|-V

## DESCRIPTION
teamd is a daemon to control a given team network device, during runtime, as a puppeteer controls a puppet. It uses libteam to communicate with the kernel team device instance via Netlink sockets. The behaviour depends on the selected runner and its configuration. This daemon is part of the libteam project.

## OPTIONS
-h, --help

Print help text to console and exit.

-V, --version

Print version information to console and exit.

-d, --daemonize

Daemonize after startup.

-k, --kill

Kill running daemon instance.

-e, --check

Return 0 if a daemon is already running.

-f filename, --config-file filename

Load the specified configuration file.

-c text, --config text

Use given JSON format configuration string. If this option is present then -f option will be ignored.

-p filename, --pid-file filename

Use the specified PID file.

-g, --debug

Turns on debugging messages. Repeating the option increases verbosity.

-l, --log-output

Force teamd log output to stdout, stderr or syslog.

-r, --force-recreate

Force team device recreation in case it already exists.

-o, --take-over

Take over the device if it already exists.

-N, --no-quit-destroy

This option also ensures that the team device is not removed after teamd finishes.

-t devicename, --team-dev devicename

Use the specified team device name (overrides "device" key in the configuration).

-n, --no-ports

Start without ports, even if they are listed in the configuration.

-D, --dbus-enable

Enable D-Bus interface.

-Z address, --zmq-enable address

Enable ZMQ interface. Possible address formats are "tcp://ip:port", "ipc://path" and others. Detailed description of ZMQ library is in page http://zguide.zeromq.org/page:all.

-U, --usock-enable

Enable UNIX domain socket interface. This is enabled by default.

-u, --usock-disable

Disable UNIX domain socket interface.

## SEE ALSO
teamdctl(8), teamd.conf(5), teamnl(8), bond2team(1)

## AUTHOR
Jiri Pirko is the original author and current maintainer of libteam.


teamdctl

title: teamdctl(8)

summary: team daemon control tool

text:
# teamdctl(8)

## NAME
teamdctl — team daemon control tool

## SYNOPSIS
teamdctl [options] team_device command [command_args...]

teamdctl -h

## DESCRIPTION
teamdctl is a tool that allows a user to interact with a running teamd instance. It defaults to using Unix Domain Sockets, but will fall back to using the D-Bus API, to ensure reliable operation in all environments.

## OPTIONS
-h, --help

Print help text to console and exit.

-v, --verbosity

Increase output verbosity.

-o, --oneline

Force output to one line if possible.

-D, --force-dbus

Force to use D-Bus interface.

-Z address, --force-zmq address

Force to use ZMQ interface. Possible address formats are "tcp://ip:port", "ipc://path" and others. Detailed description of ZMQ library is in page http://zguide.zeromq.org/page:all.

-U, --force-usock

Force to use UNIX domain socket interface. This is the default behavior.

## COMMAND
config dump

Dumps teamd JSON config.

config dump noports

Dumps teamd JSON configuration without "ports" section included.

config dump actual

Dumps teamd actual JSON configuration. It includes ports which are currently present.

state dump | state

Dumps teamd JSON state document.

state view

Prints out state of teamd parsed from JSON state document.

state item get state_item_path

Finds state item in JSON state document and returns its value. If PORTIFNAME in state_item_path has any sensitive character, use double quotation marks to escape it, like: ports."eth1.1".link_watches.up. To process state_item_path of 'state item set' is the same as here.

state item set state_item_path value

Finds state item in JSON state document and sets its value by value parameter. This is available only for a limited number of paths:

setup.debug_level — User can set debug level. Higher level is more verbose.

ports.PORTIFNAME.runner.aggregator.selected — This is available for lacp runner. User can manually select the aggregator.

runner.active_port — This is available for activebackup runner. User can manually select the active port.

port add portdev

Takes port device name as argument. Adds port device into team.

port remove portdev

Takes port device name as argument. Removes port device from team.

port present portdev

Takes port device name as argument. Checks if the port device is present in team.

port config update portdev portconfig-string

Takes port device name as the first argument and JSON format configuration string as the second argument. Updates port device configuration.

port config dump portdev

Takes port device name as the first argument. Dumps port device JSON configuration to standard output.

## SEE ALSO
teamd(8), teamnl(8), teamd.conf(5)

## AUTHOR
Jiri Pirko is the original author and current maintainer of libteam.


telepathy-idle

package: telepathy-idle

title: telepathy-idle(8)

summary: Telepathy connection manager for IRC

text:
# telepathy-idle(8)

## NAME
telepathy-idle - Telepathy connection manager for IRC

## SYNOPSIS
/usr/lib/telepathy-idle

## DESCRIPTION
Idle implements the Telepathy D-Bus specification for Internet Relay Chat, allowing Telepathy clients like empathy(1) to connect to IRC servers.

It is a D-Bus service which runs on the session bus, and should usually be started automatically by D-Bus activation. However, it might be useful to start it manually for debugging.

## OPTIONS
There are no command-line options.

## ENVIRONMENT
IDLE_LOGFILE=filename

If set, debug output will go to the given file rather than to stderr. If + is prepended to the filename (e.g. IDLE_LOGFILE=+idle.log), debug output will be appended to the file; otherwise, any existing file will be replaced.

IDLE_DEBUG=type

May be set to "all" for full debug output, or various undocumented options (which may change from release to release) to filter the output.

## SEE ALSO
http://telepathy.freedesktop.org/, empathy(1)


telepathy-rakia

package: telepathy-rakia-devel

title: telepathy-rakia(8)

summary: Telepathy connection manager for SIP

text:
# telepathy-rakia(8)

## NAME
telepathy-rakia - Telepathy connection manager for SIP

## SYNOPSIS
/usr/lib/telepathy-rakia

## DESCRIPTION
telepathy-rakia implements the Telepathy D-Bus specification for the Session Initiation Protocol, allowing Telepathy clients like empathy(1) to connect to Voice over IP providers that implement SIP.

It is a D-Bus service which runs on the session bus, and should usually be started automatically by D-Bus activation. However, it might be useful to start it manually for debugging.

## OPTIONS
There are no command-line options.

## ENVIRONMENT
RAKIA_DEBUG=type

May be set to "all" for full debug output, or various undocumented options (which may change from release to release) to filter the output.

RAKIA_LOGFILE=filename

May be set to the name of a file to overwrite with log messages. The filename may be prefixed with + to append messages to an existing file instead of overwriting it.

RAKIA_PERSIST

May be set to any value to avoid telepathy-rakia's usual automatic exit when there have been no connections for a few seconds.

TPORT_LOG

May be set to any value to print all parsed SIP messages at the transport layer (this functionality is provided by the underlying Sofia-SIP library, which also offers various more specialized debugging options).

## SEE ALSO
http://telepathy.freedesktop.org/, empathy(1)


telnetd

package: telnet-server

title: telnetd(8)

summary: DARPA

text:
# telnetd(8)

## NAME
telnetd — DARPA TELNET protocol server

## SYNOPSIS
telnetd

[-BUhkln] [-D debugmode] [-S tos] [-L /bin/login] [-y]

## DESCRIPTION
The telnetd command is a server which supports the DARPA standard TELNET virtual terminal protocol. Telnetd is normally invoked by the internet server (see inetd(8)) for requests to connect to the TELNET port as indicated by the /etc/services file (see services(5)).

The telnetd command accepts the following options:

-B

Ignored.

-D debugmode

This option may be used for debugging purposes. This allows telnetd to print out debugging information to the connection, allowing the user to see what telnetd is doing. There are several possible values for debugmode: options

Prints information about the negotiation of TELNET options.

report

Prints the options information, plus some additional information about what processing is going on.

netdata

Displays the data stream received by telnetd.

ptydata

Displays data written to the pty.

exercise

Has not been implemented yet.

-h

Disables the printing of host-specific information before login has been completed.

-l

Ignored.

-n

Disable TCP keep-alives. Normally telnetd enables the TCP keep-alive mechanism to probe connections that have been idle for some period of time to determine if the client is still there, so that idle connections from machines that have crashed or can no longer be reached may be cleaned up.

-S tos

-U

This option causes telnetd to refuse connections from addresses that cannot be mapped back into a symbolic name via the getnameinfo(3) routine.

-L pathname

Specify pathname to an alternative login program.

-y

Makes telnetd not warn when a user is trying to login with cleartext passwords.

Telnetd operates by allocating a pseudo-terminal device (see pty(4)) for a client, then creating a login process which has the slave side of the pseudo-terminal as stdin, stdout and stderr. Telnetd manipulates the master side of the pseudo-terminal, implementing the TELNET protocol and passing characters between the remote client and the login process.

When a TELNET session is started up, telnetd sends TELNET options to the client side indicating a willingness to do the following TELNET options, which are described in more detail below:

```
DO TERMINAL TYPE
DO TSPEED
DO XDISPLOC
DO NEW-ENVIRON
DO ENVIRON
WILL SUPPRESS GO AHEAD
DO ECHO
DO LINEMODE
DO NAWS
WILL STATUS
DO LFLOW
DO TIMING-MARK
```

The pseudo-terminal allocated to the client is configured to operate in “cooked” mode, and with XTABS and CRMOD enabled (see tty(4)).

Telnetd has support for enabling locally the following TELNET options:

WILL ECHO

When the LINEMODE option is enabled, a WILL ECHO or WONT ECHO will be sent to the client to indicate the current state of terminal echoing. When terminal echo is not desired, a WILL ECHO is sent to indicate that telnetd will take care of echoing any data that needs to be echoed to the terminal, and then nothing is echoed. When terminal echo is desired, a WONT ECHO is sent to indicate that telnetd will not be doing any terminal echoing, so the client should do any terminal echoing that is needed.

WILL BINARY

Indicates that the client is willing to send a 8 bits of data, rather than the normal 7 bits of the Network Virtual Terminal.

WILL SGA

Indicates that it will not be sending IAC GA, go ahead, commands.

WILL STATUS

Indicates a willingness to send the client, upon request, of the current status of all TELNET options.

WILL TIMING-MARK

Whenever a DO TIMING-MARK command is received, it is always responded to with a WILL TIMING-MARK

WILL LOGOUT

When a DO LOGOUT is received, a WILL LOGOUT is sent in response, and the TELNET session is shut down.

WILL ENCRYPT

Only sent if telnetd Kerberos is enabled, and indicates a willingness to decrypt the data stream.

Telnetd has support for enabling remotely the following TELNET options:

DO BINARY

Sent to indicate that telnetd is willing to receive an 8 bit data stream.

DO LFLOW

Requests that the client handle flow control characters remotely.

DO ECHO

This is not really supported, but is sent to identify a 4.2BSD telnet(1) client, which will improperly respond with WILL ECHO. If a WILL ECHO is received, a DONT ECHO will be sent in response.

DO TERMINAL-TYPE

Indicates a desire to be able to request the name of the type of terminal that is attached to the client side of the connection.

DO SGA

Indicates that it does not need to receive IAC GA, the go ahead command.

DO NAWS

Requests that the client inform the server when the window (display) size changes.

DO TERMINAL-SPEED

Indicates a desire to be able to request information about the speed of the serial line to which the client is attached.

DO XDISPLOC

Indicates a desire to be able to request the name of the X windows display that is associated with the telnet client.

DO NEW-ENVIRON

Indicates a desire to be able to request environment variable information, as described in RFC 1572.

DO ENVIRON

Indicates a desire to be able to request environment variable information, as described in RFC 1408.

DO LINEMODE

Only sent if telnetd is compiled with support for linemode, and requests that the client do line by line processing.

DO TIMING-MARK

Only sent if telnetd is compiled with support for both linemode and kludge linemode, and the client responded with WONT LINEMODE. If the client responds with WILL TM, the it is assumed that the client supports kludge linemode. Note that the [-k] option can be used to disable this.

## FILES
/etc/issue.net

/etc/services

## SEE ALSO
login(1), telnet(1)

## STANDARDS
RFC-854

TELNET PROTOCOL SPECIFICATION

RFC-855

TELNET OPTION SPECIFICATIONS

RFC-856

TELNET BINARY TRANSMISSION

RFC-857

TELNET ECHO OPTION

RFC-858

TELNET SUPPRESS GO AHEAD OPTION

RFC-859

TELNET STATUS OPTION

RFC-860

TELNET TIMING MARK OPTION

RFC-861

TELNET EXTENDED OPTIONS - LIST OPTION

RFC-885

TELNET END OF RECORD OPTION

RFC-1073

Telnet Window Size Option

RFC-1079

Telnet Terminal Speed Option

RFC-1091

Telnet Terminal-Type Option

RFC-1096

Telnet X Display Location Option

RFC-1123

Requirements for Internet Hosts -- Application and Support

RFC-1184

Telnet Linemode Option

RFC-1372

Telnet Remote Flow Control Option

RFC-1416

Telnet Authentication Option

RFC-1411

Telnet Authentication: Kerberos Version 4

RFC-1412

Telnet Authentication: SPX

RFC-1571

Telnet Environment Option Interoperability Issues

RFC-1572

Telnet Environment Option

## BUGS
Some TELNET commands are only partially implemented.

Because of bugs in the original 4.2 BSD telnet(1), telnetd performs some dubious protocol exchanges to try to discover if the remote client is, in fact, a 4.2 BSD telnet(1).

Binary mode has no common interpretation except between similar operating systems (Unix in this case).

The terminal type name received from the remote client is converted to lower case.

Telnetd never sends TELNET IAC GA (go ahead) commands.


fidentify

package: testdisk

title: fidentify(8)

text:
# fidentify(8)

## NAME
fidentify - Determine file type using PhotoRec database

## SYNOPSIS
fidentify [--check] [directory|file]

fidentify --version

## DESCRIPTION

fidentify identify the file type, the "extension", by using the same database than PhotoRec.

When a file or directory is specified, fidentify will output the type of file, or files under the specified directory.

If given no arguments, fidentify will output type of files under current directory.

fidentify is similar to file(1).

## OPTIONS
--check

check the file format like PhotoRec does by default

## SEE ALSO
photorec(8), testdisk(8), file(1)

## AUTHOR
PhotoRec 7.2, Data Recovery Utility, February 2024

Christophe GRENIER <grenier@cgsecurity.org>

https://www.cgsecurity.org


testdisk

title: testdisk(8)

summary: Scan and repair disk partitions

text:
# testdisk(8)

## NAME
testdisk - Scan and repair disk partitions

## SYNOPSIS
testdisk [/log] [/debug] [/dump] [device|image.dd|image.e01]

testdisk /version

testdisk /list [/log]

## DESCRIPTION

TestDisk checks and recovers lost partitions

It works with :

- BeFS (BeOS)

- BSD disklabel (FreeBSD/OpenBSD/NetBSD)

- CramFS, Compressed File System

- DOS/Windows FAT12, FAT16 and FAT32

- HFS and HFS+, Hierarchical File System

- JFS, IBM's Journaled File System

- Linux ext2/ext3/ext4

- Linux Raid

RAID 1: mirroring

RAID 4: striped array with parity device

RAID 5: striped array with distributed parity information

RAID 6: striped array with distributed dual redundancy information

- Linux Swap (versions 1 and 2)

- LVM and LVM2, Linux Logical Volume Manager

- Mac partition map

- Novell Storage Services NSS

- NTFS (Windows NT/2K/XP/2003/Vista/...)

- ReiserFS 3.5, 3.6 and 4

- Sun Solaris i386 disklabel

- Unix File System UFS and UFS2 (Sun/BSD/...)

- XFS, SGI's Journaled File System

It can undelete files from

- DOS/Windows FAT12, FAT16 and FAT32

- Linux ext2

- NTFS (Windows NT/2K/XP/2003/Vista/...)

For more information on how to use, please visit the wiki pages on www.cgsecurity.org

## OPTIONS
/log

create a testdisk.log file

/debug

add debug information

/dump

dump raw sectors

/list

display current partitions

## SEE ALSO
fdisk(8), photorec(8).

## AUTHOR
TestDisk 7.2, Data Recovery Utility, February 2024

Christophe GRENIER <grenier@cgsecurity.org>

https://www.cgsecurity.org


in.tftpd

package: tftpd

title: in.tftpd(8)

summary: Trivial File Transfer Protocol server

text:
# in.tftpd(8)

## NAME
tftpd - Trivial File Transfer Protocol server

## SYNOPSIS
in.tftpd [options...] directory...

## DESCRIPTION
tftpd is a server for the Trivial File Transfer Protocol. The TFTP protocol is extensively used to support remote booting of diskless devices. The server is normally started by inetd, but can also run standalone.

## OPTIONS
--ipv4, -4

Connect with IPv4 only, even if IPv6 support was compiled in.

--ipv6, -6

Connect with IPv6 only, if compiled in.

-l, --listen

Run the server in standalone (listen) mode, rather than run from inetd. In listen mode, the --timeout option is ignored, and the --address option can be used to specify a specific local address or port to listen to.

--foreground, -L

Similar to --listen but do not detach from the foreground process. Implies --listen.

--pid, -P

Create pid file /var/run/tftpd.pid in standalone (listen) mode.

--address [address][:port], -a [address][:port]

Specify a specific address and port to listen to when called with the --listen or --foreground option. The default is to listen to the tftp port specified in /etc/services on all local addresses. Please note: Numeric IPv6 adresses must be enclosed in square brackets to avoid ambiguity with the optional port information.

--create, -c

Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allowing anyone to read or write them, unless the --permissive or --umask options are specified.

--secure, -s

Change root directory on startup. This means the remote host does not need to pass along the directory as part of the transfer, and may add security. When --secure is specified, exactly one directory should be specified on the command line. The use of this option is recommended for security as well as compatibility with some boot ROMs which cannot be easily made to include a directory name in its request.

--user username, -u username

Specify the username which tftpd will run as; the default is "nobody". The user ID, group ID, and (if possible on the platform) the supplementary group IDs will be set to the ones specified in the system permission database for this username.

--umask umask, -U umask

Sets the umask for newly created files to the specified value. The default is zero (anyone can read or write) if the --permissive option is not specified, or inherited from the invoking process if --permissive is specified.

--permissive, -p

Perform no additional permissions checks above the normal system-provided access controls for the user specified via the --user option.

--timeout timeout, -t timeout

When run from inetd this specifies how long, in seconds, to wait for a second connection before terminating the server. inetd will then respawn the server when another request comes in. The default is 900 (15 minutes.)

--retransmit timeout, -T timeout

Determine the default timeout, in microseconds, before the first packet is retransmitted. This can be modified by the client if the timeout or utimeout option is negotiated. The default is 1000000 (1 second.)

--mapfile remap-file, -m remap-file

Specify the use of filename remapping. The remap-file is a file containing the remapping rules. See the section on filename remapping below. This option may not be compiled in, see the output of in.tftpd -V to verify whether or not it is available.

--verbose, -v

Increase the logging verbosity of tftpd. This flag can be specified multiple times for even higher verbosity.

--verbosity value

Set the verbosity value to value.

--refuse tftp-option, -r tftp-option

Indicate that a specific RFC 2347 TFTP option should never be accepted.

--blocksize max-block-size, -B max-block-size

Specifies the maximum permitted block size. The permitted range for this parameter is from 512 to 65464. Some embedded clients request large block sizes and yet do not handle fragmented packets correctly; for these clients, it is recommended to set this value to the smallest MTU on your network minus 32 bytes (20 bytes for IP, 8 for UDP, and 4 for TFTP; less if you use IP options on your network.) For example, on a standard Ethernet (MTU 1500) a value of 1468 is reasonable.

--port-range port:port, -R port:port

Force the server port number (the Transaction ID) to be in the specified range of port numbers.

--version, -V

Print the version number and configuration to standard output, then exit gracefully.

## RFC 2347 OPTION NEGOTIATION
This version of tftpd supports RFC 2347 option negotation. Currently implemented options are:

blksize (RFC 2348)

Set the transfer block size to anything less than or equal to the specified option. This version of tftpd can support any block size up to the theoretical maximum of 65464 bytes.

blksize2 (nonstandard)

Set the transfer block size to anything less than or equal to the specified option, but restrict the possible responses to powers of 2. The maximum is 32768 bytes (the largest power of 2 less than or equal to 65464.)

tsize (RFC 2349)

Report the size of the file that is about to be transferred. This version of tftpd only supports the tsize option for binary (octet) mode transfers.

timeout (RFC 2349)

Set the time before the server retransmits a packet, in seconds.

utimeout (nonstandard)

Set the time before the server retransmits a packet, in microseconds.

rollover (nonstandard)

Set the block number to resume at after a block number rollover. The default and recommended value is zero.

The --refuse option can be used to disable specific options; this may be necessary to work around bugs in specific TFTP client implementations. For example, some TFTP clients have been found to request the blksize option, but crash with an error if they actually get the option accepted by the server.

## FILENAME REMAPPING
The --mapfile option specifies a file which contains filename remapping rules. Each non-comment line (comments begin with hash marks, #) contains an operation, specified below; a regex, a regular expression in the style of egrep; and optionally a replacement pattern. The operation indicated by operation is performed if the regex matches all or part of the filename. Rules are processed from the top down, and by default, all rules are processed even if there is a match.

The operation can be any combination of the following letters:

r

Replace the substring matched by regex by the replacement pattern. The replacement pattern may contain escape sequences; see below.

g

Repeat this rule until it no longer matches. This is always used with r.

i

Match the regex case-insensitively. By default it is case sensitive.

e

If this rule matches, end rule processing after executing the rule.

s

If this rule matches, start rule processing over from the very first rule after executing this rule.

a

If this rule matches, refuse the request and send an access denied error to the client.

G

This rule applies to GET (RRQ) requests only.

P

This rule applies to PUT (WRQ) requests only.

~

Inverse the sense of this rule, i.e. execute the operation only if the regex doesn't match. Cannot used together with r.

The following escape sequences are recognized as part of the replacement pattern:

\0

The entire string matched by the regex.

\1 to \9

The strings matched by each of the first nine parenthesized subexpressions, \( ... \), of the regex pattern.

\i

The IP address of the requesting host, in dotted-quad notation (e.g. 192.0.2.169).

\x

The IP address of the requesting host, in hexadecimal notation (e.g. C00002A9).

\\

Literal backslash.

\whitespace

Literal whitespace.

\#

Literal hash mark.

\U

Turns all subsequent letters to upper case.

\L

Turns all subsequent letters to lower case.

\E

Cancels the effect of \U or \L.

If the mapping file is changed, you need to send SIGHUP to any outstanding tftpd process.

## SECURITY
The use of TFTP services does not require an account or password on the server system. Due to the lack of authentication information, tftpd will allow only publicly readable files (o+r) to be accessed, unless the --permissive option is specified. Files may be written only if they already exist and are publicly writable, unless the --create option is specified. Note that this extends the concept of ``public'' to include all users on all hosts that can be reached through the network; this may not be appropriate on all systems, and its implications should be considered before enabling TFTP service. Typically, some kind of firewall or packet-filter solution should be employed. If appropriately compiled (see the output of in.tftpd --version) tftpd will query the hosts_access(5) database for access control information. This may be slow; sites requiring maximum performance may want to compile without this option and rely on firewalling or kernel-based packet filters instead.

The server should be set to run as the user with the lowest possible privilege; please see the --user flag. It is probably a good idea to set up a specific user account for tftpd, rather than letting it run as "nobody", to guard against privilege leaks between applications.

Access to files can, and should, be restricted by invoking tftpd with a list of directories by including pathnames as server program arguments on the command line. In this case access is restricted to files whole names are prefixed by one of the given directories. If possible, it is recommended that the --secure flag is used to set up a chroot() environment for the server to run in once a connection has been set up.

Finally, the filename remapping (--mapfile flag) support can be used to provide a limited amount of additional access control.

## CONFORMING TO
RFC 1123, Requirements for Internet Hosts - Application and Support.

RFC 1350, The TFTP Protocol (revision 2).

RFC 2347, TFTP Option Extension.

RFC 2348, TFTP Blocksize Option.

RFC 2349, TFTP Timeout Interval and Transfer Size Options.

## AUTHOR
This version of tftpd is maintained by H. Peter Anvin <hpa@zytor.com>. It was derived from, but has substantially diverged from, an OpenBSD source base, with added patches by Markus Gutschke and Gero Kulhman.

## SEE ALSO
tftp(1), egrep(1), umask(2), hosts_access(5), regex(7), inetd(8).


thermald

package: thermald

title: thermald(8)

summary: start Linux thermal daemon

text:
# thermald(8)

## NAME
thermald - start Linux thermal daemon

## SYNOPSIS
thermald [ OPTIONS ]

## DESCRIPTION
thermald is a Linux daemon used to prevent the overheating of platforms. This daemon monitors temperature and applies compensation using available cooling methods.

By default, it monitors CPU temperature using available CPU digital temperature sensors and maintains CPU temperature under control, before HW takes aggressive correction action.

Thermal daemon looks for thermal sensors and thermal cooling drivers in the Linux thermal sysfs (/sys/class/thermal) and builds a list of sensors and cooling drivers. Each of the thermal sensors can optionally be binded to a cooling driver by the in kernel drivers. In this case the Linux kernel thermal core can directly take actions based on the temperature trip points, for each sensor and associated cooling device. For example a trip temperature X in a sensor can be associates a cooling driver Y. So when the sensor temperature = X, the cooling driver "Y" is activated.

Thermal daemon allows one to change this relationship or add new one via a thermal configuration file (thermal-conf.xml). This file is automatically created (thermal-conf.xml.auto) and used, if the platform has ACPI thermal relationship table. If not this needs to be manually configured.

For manual configuration refer to the manual page of the thermal-conf.xml.

In some newer platforms the auto creation of the config file is done by a companion tool "dptfxtract". This tool can be downloaded from "https://github.com/intel/dptfxtract". It is suggested as parts of the install process, run dptfxtract.

There can be multiple configuration files. User can select a configuration file via -config-file option to override the default selection. The default selection picks one of the file in the following order:

- /etc/thermald/thermal-conf.xml.auto

- /var/run/thermald/thermal-conf.xml.auto

- /etc/thermald/thermal-conf.xml

(*Assuming configure prefix=/ is used during build.)

There is another companion tool "ThermalMonitor", which presents a graphical front end. This allows the monitoring of sensors and changing of thermal trips to give the user more control. The source code of "ThermalMonitor" is a part of the thermald github source, in the tools folder.

## OPTIONS
-h, --help

Show help options.

--version

Print thermald version and exit.

--no-daemon

Don't become a daemon: Default is daemon mode.

--loglevel=info

log severity: info level and up.

--loglevel=debug

log severity: debug level and up: Max logging.

--poll-interval

Poll interval in seconds: Poll for zone temperature changes. To disable polling, set to zero. Polling can only be disabled, if available temperature sensors can notify temperature change asynchronously.

--dbus-enable

Enable Dbus.

--exclusive-control

Act as exclusive thermal controller. This will use user-space governor for thermal sysfs and take over control.

--ignore-cpuid-check

Ignore cpuid check for supported CPU models.

--config-file

Specify thermal-conf.xml path and ignore default thermal-conf.xml.

--ignore-default-control

Ignore default CPU temperature control. Strictly follow thermal-conf.xml or thermal-conf.xml.auto.

--workaround-enabled

Enable special workarounds for RAPL MMIO power limit and TCC offset every 30 seconds. This helps to disable RAPL MMIO when not used and adjust TCC offset in certain Lenovo laptops.

--disable-active-power

Disable active power management. This will not set active power limits using RAPL MMIO. This may result in constrained performance, if the system boots up with lower power limits.

--adaptive

Use DPTF adaptive tables when present. This will ignore thermald config via xml files.

--test-mode

Force use adaptive mode and exit if not supported, instead of restarting in non adaptive mode. This option is primarily for developers.

--systemd

Assume that thermald is started by systemd. This will prevent running as daemon irrespective of --no-daemon option.

--ignore-critical-trip

If the configuration defined a critical temperature point, which is too low, this option will avoid shutting down the system on reaching this temperature limit.

## SEE ALSO
thermal-conf.xml(5)


package: thin-provisioning-tools

title: cache_check(8)

text:
# cache_check(8)

## NAME
cache_check - validates cache metadata on a device or file.

## SYNOPSIS

```
cache_check [options] {device|file}
```

## DESCRIPTION
cache_check checks cache metadata created by the device-mapper cache target on a device or file.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Output version information and exit.

-q, --quiet

Suppress output messages, return only exit code.

--super-block-only

Only check the superblock.

--skip-hints

Skip checking of the policy hint values metadata.

--skip-discards

Skip checking of the discard bits in the metadata.

--clear-needs-check-flag

Clears the 'needs_check' flag in the superblock.

```
    The kernel may set a flag to force the pool to be checked before it's next

    activated.  Set this switch to clear the flag if the check is successful.

    If the metadata check failed, the flag is not cleared and a cache_repair run

    is needed to fix any issues. After cache_repair succeeded, you may run

    cache_check again.
```

## EXAMPLE
Analyses and repairs cache metadata on logical volume /dev/vg/metadata:

```
    $ cache_check /dev/vg/metadata
```

The device may not be actively used by the target when running.

## DIAGNOSTICS
cache_check returns an exit code of 0 for success or 1 for error.

## SEE ALSO
cache_dump(8), cache_repair(8), cache_restore(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: cache_dump(8)

text:
# cache_dump(8)

## NAME
cache_dump - dump cache metadata from device or file to standard output.

## SYNOPSIS

```
cache_dump [options] {device|file}
```

## DESCRIPTION
cache_dump dumps binary cache metadata created by the device-mapper cache target on a device or file to standard output for analysis or postprocessing in XML format. XML formatted metadata can be fed into cache_restore in order to put it back onto a metadata device (to process by the device-mapper target), or file.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-r, --repair

Repair the metadata whilst dumping it.

-o {xml file}

Specify an output file for the xml, rather than printing to stdout.

## EXAMPLES
Dumps the cache metadata on logical volume /dev/vg/metadata to standard output in XML format:

```
    $ cache_dump /dev/vg/metadata
```

Dumps the cache metadata on logical volume /dev/vg/metadata whilst repairing it to standard output in XML format:

```
    $ cache_dump --repair /dev/vg/metadata
```

## DIAGNOSTICS
cache_dump returns an exit code of 0 for success or 1 for error.

## SEE ALSO
cache_check(8), cache_repair(8), cache_restore(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: cache_metadata_size(8)

text:
# cache_metadata_size(8)

## NAME
cache_metadata_size - Estimate the size of the metadata device needed for a given configuration.

## SYNOPSIS

```
cache_metadata_size [options]
```

## DESCRIPTION
cache_metadata_size estimates the size of the metadata. Either --nr-blocks, or --block-size and --device-size must be specified.

## OPTIONS
--nr-blocks {natural}

Specify the number of cache blocks.

--block-size {sectors}

Specify the size of each cache block in 512 byte sectors.

--device-size {sectors}

Specify total size of the fast device used in the cache. In 512 byte sectors.

--max-hint-width {nr bytes}

Specify hint width.

```
    Cache policies use a per block 'hint' to record extra info (for instance

    hit counts).  At the moment all policies use a 4 byte hint

    width.  If you want to use a different hint width specify it with this

    switch.
```

## EXAMPLE
$ cache_metadata_size --nr-blocks 10240

$ cache_metadata_size --block-size 128 --device-size 1024000

## SEE ALSO
cache_dump(8), cache_repair(8), cache_restore(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <heinzm@redhat.com>


title: cache_repair(8)

text:
# cache_repair(8)

## NAME
cache_repair - repair cache binary metadata from device/file to device/file.

## SYNOPSIS

```
cache_repair [options] -i {device|file} -o {device|file}
```

## DESCRIPTION
cache_repair reads binary cache metadata created by the respective device-mapper target from one device or file, repairs it and writes it to another device or file. If written to a metadata device, the metadata can be processed by the device-mapper target.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-i, --input {device|file}

Input file or device containing binary metadata.

-o, --output {device|file}

Output file or device for repaired binary metadata.

```
    If a file is then it must be preallocated, and large enough to hold the

    metadata.
```

## EXAMPLE
Reads the binary cache metadata from file metadata, repairs it and writes it to logical volume /dev/vg/metadata for further processing by the respective device-mapper target:

```
    $ cache_repair -i metadata -o /dev/vg/metadata
```

## DIAGNOSTICS
cache_repair returns an exit code of 0 for success or 1 for error.

## SEE ALSO
cache_dump(8), cache_check(8), cache_restore(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: cache_restore(8)

text:
# cache_restore(8)

## NAME
cache_restore - restore cache metadata file to device or file.

## SYNOPSIS

```
cache_restore [options] -i {xml file} -o {device|file}
```

## DESCRIPTION
cache_restore restores cache metadata created by the respective device-mapper target dumped into an XML formatted (see cache_dump(8)) file, which optionally can be preprocessed before the restore to another device or file. If restored to a metadata device, the metadata can be processed by the device-mapper target.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-q, --quiet

Don't print any output. Check the exit code to test for success.

-i, --input {xml file}

Input xml.

-o, --output {device|file}

Output file or device for restored binary metadata.

```
    If a file is used thin it must be preallocated, and large enough to hold

    the metadata.
```

--metadata-version {1|2}

Choose a metadata version.

## DEBUGGING OPTIONS
--debug-override-metadata-version {integer}

Override the version stored in the metadata.

--omit-clean-shutdown

Don't set the clean shutdown flag.

## EXAMPLE
Restores the XML formatted cache metadata on file metadata to logical volume /dev/vg/metadata for further processing by the respective device-mapper target:

```
    $ cache_restore -i metadata -o /dev/vg/metadata
```

## DIAGNOSTICS
cache_restore returns an exit code of 0 for success or 1 for error.

## SEE ALSO
cache_dump(8), cache_check(8), cache_repair(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: cache_writeback(8)

text:
# cache_writeback(8)

## NAME
cache_writeback - writeback dirty blocks to the origin device.

## SYNOPSIS

```
cache_writeback [options] --metadata-device {device|file} --origin-device {device|file} --fast-device {device|file}
```

## DESCRIPTION
cache_writeback is an offline tool that writes back dirty data to the data device (origin). Intended for use in recovery scenarios when the SSD is giving IO errors.

This tool cannot be run on a live cache.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

--metadata-device {device|file}

Location of cache metadata.

--origin-device {device|file}

Slow device being cached.

--fast-device {device|file}

Fast device containing the data that needs to be written back.

--no-metadata-update

Do not update the metadata to clear the dirty flags.

```
    You may want to use this flag if you're decommissioning the cache.
```

--buffer-size-meg {size}

Specify the size for the data cache, in megabytes.

```
    Defaults to 64 MiB, a larger size may improve performance.
```

--list-failed-blocks

List any blocks that failed the writeback process.

## SEE ALSO
cache_dump(8), cache_check(8), cache_repair(8), cache_restore(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: era_check(8)

text:
# era_check(8)

## NAME
era_check - validate era metadata on device or file.

## SYNOPSIS

```
era_check [options] {device|file}
```

## DESCRIPTION
era_check checks era metadata created by the device-mapper era target on a device or file.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-q, --quiet

Suppress output messages, return only exit code.

--super-block-only

Only check the superblock is present.

## EXAMPLE
Analyse thin provisioning metadata on logical volume /dev/vg/metadata:

```
    $ era_check /dev/vg/metadata
```

The device may not be actively used by the target when running.

## DIAGNOSTICS
era_check returns an exit code of 0 for success or 1 for error.

## SEE ALSO
era_dump(8), era_restore(8), era_invalidate(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: era_dump(8)

text:
# era_dump(8)

## NAME
era_dump - dump era metadata from device or file to standard output.

## SYNOPSIS

```
era_dump [options] {device|file}
```

## DESCRIPTION
era_dump dumps binary era metadata created by the device-mapper era target on a device or file to standard output for analysis or postprocessing in XML format. XML formatted metadata can be fed into era_restore (see era_restore(8)) in order to put it back onto a metadata device (to process by the device-mapper target) or file.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

--repair

Repair the metadata whilst dumping it.

--logical

Fold any unprocessed write sets into the final era array.

```
    You probably want to do this if you're intending to process the results as

    it simplifies the XML.
```

-o {xml file}

Specify a file for the output rather than writing to stdout.

## EXAMPLES
Dumps era metadata on logical volume /dev/vg/metadata to standard output in XML format:

```
    $ era_dump /dev/vg/metadata
```

## DIAGNOSTICS
era_dump returns an exit code of 0 for success or 1 for error.

## SEE ALSO
era_check(8), era_restore(8), era_invalidate(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: era_invalidate(8)

text:
# era_invalidate(8)

## NAME
era_invalidate - Provide a list of blocks that have changed since a particular era.

## SYNOPSIS

```
era_invalidate [options] {device|file}
```

## DESCRIPTION
era_invalidate examines era metadata and lists blocks that may have changed since a given era.

This tool cannot be run on live metadata unless the --metadata-snap option is used.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-o {output file}

Write output to a file rather than stdout.

--metadata-snapshot

Use the metadata snapshot rather than the current superblock.

--written-since {era nr}

Blocks written since the given era will be listed.

## EXAMPLE
List the blocks that may have been written since the beginning of era 13 on the metadata device /dev/vg/metadata:

```
    $ era_invalidate --written-since 13 /dev/vg/metadata
```

The device may not be actively used by the target when running.

## DIAGNOSTICS
era_invalidate returns an exit code of 0 for success or 1 for error (eg, metadata corruption).

## SEE ALSO
era_check(8), era_dump(8), era_restore(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: era_restore(8)

text:
# era_restore(8)

## NAME
era_restore - restore era metadata file to device or file.

## SYNOPSIS

```
era_restore [options] -i {xml file} -o {device|file}
```

## DESCRIPTION
era_restore restores era metadata created by the respective device-mapper target dumped into an XML formatted (see era_dump(8)) file, which optionally can be preprocessed before the restore to another device or file. If restored to a metadata device, the metadata can be processed by the device-mapper target.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-q, --quiet

Don't print any output. Check the exit code to test for success.

-i, --input {xml file}

Specify input file containing xml metadata.

-o, --output {device|file}

Output device or file for restored binary metadata.

```
    If a file is used, then it must be preallocated, and large enough to hold

    the metadata.
```

## EXAMPLE
Restores the XML formatted era metadata on file metadata to logical volume /dev/vg/metadata for further processing by the respective device-mapper target:

```
    $ era_restore -i metadata -o /dev/vg/metadata
```

## DIAGNOSTICS
era_restore returns an exit code of 0 for success or 1 for error.

## SEE ALSO
era_dump(8), era_check(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: thin_check(8)

text:
# thin_check(8)

## NAME
thin_check - validates thin provisioning metadata on a device or file

## SYNOPSIS

```
thin_check [options] {device|file}
```

## DESCRIPTION
thin_check checks thin provisioning metadata created by the device-mapper thin provisioning target on a device or file.

The tool cannot be run on live metadata unless the --metadata-snapshot option is used.

## OPTIONS
-q, --quiet

Suppress output messages, return only exit code.

-h, --help

Print help and exit.

-V, --version

Output version information and exit.

--super-block-only

Only check the superblock.

--skip-mappings

Skip checking of the block mappings which make up the bulk of the metadata.

--ignore-non-fatal-errors

Will only return a non-zero exit code if it finds a fatal error.

```
    An example of a nonfatal error is an incorrect data block reference count

    causing a block to be considered allocated when it in fact isn't.  Ignoring

    errors for a long time is not advised, you really should be using

    thin_repair to fix them.
```

--clear-needs-check-flag

Clears the 'needs_check' flag in the superblock.

```
    The kernel may set a flag to force the pool to be checked before it's next

    activated.  Set this switch to clear the flag if the check is successful.

    If the metadata check failed, the flag is not cleared and a thin_repair run

    is needed to fix any issues. After thin_repair succeeded, you may run

    thin_check again.
```

--metadata-snapshot, -m

Check the metadata snapshot.

```
    This will check the devices tree and mappings in a metadata snapshot.

    The snap does not contain space maps, so these will not be checked.  This

    may be used on live metadata.
```

--auto-repair

Automatically repair any trivial issues found with the metadata.

```
    Currently only fixes metadata leaks.
```

--override-mapping-root <block>

Specify a mapping root to use.

```
    Don't use this.  This overrides what's specified in the superblock.  Only

    use this if you really understand the metadata format and are trying to

    recover damaged metadata.
```

## EXAMPLE
Analyses thin provisioning metadata on logical volume /dev/vg/metadata:

```
    $ thin_check /dev/vg/metadata
```

The device must not be actively used by the target when running.

## DIAGNOSTICS
thin_check returns an exit code of 0 for success or 1 for error.

## SEE ALSO
thin_dump(8), thin_repair(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <heinzm@redhat.com>


title: thin_delta(8)

text:
# thin_delta(8)

## NAME
thin_delta - Print the differences in the mappings between two thin devices.

## SYNOPSIS

```
thin_delta [options] {device|file}
```

## DESCRIPTION
thin_delta allows you to compare the mappings in two thin volumes (snapshots allow common blocks between thin volumes).

This tool cannot be run on live metadata unless the --metadata-snap option is used.

## OPTIONS
--thin1, --snap1 {natural}

The numeric identifier for the first thin volume to diff.

--thin2, --snap2 {natural}

The numeric identifier for the second thin volume to diff.

--metadata-snap [block nr]

Use a metadata snapshot.

```
    If you want to get information out of a live pool then you will need to

    take a metadata snapshot and use this switch.  In order for the information

    to be meaningful, you need to ensure the thin volumes you're examining are

    not changing (ie, do not activate those thins).
```

--verbose

Provide extra information on the mappings.

-h, --help

Print help and exit.

-V, --version

Output version information and exit.

## SEE ALSO
thin_dump(8), thin_repair(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <heinzm@redhat.com>


title: thin_dump(8)

text:
# thin_dump(8)

## NAME
thin_dump - dump thin provisioning metadata from device or file to standard output.

## SYNOPSIS

```
thin_dump [options] {device|file}
```

## DESCRIPTION
thin_dump dumps binary thin provisioning metadata (optionally from alternate block; see option --metadata-snap) created by the device-mapper thin provisioning target on a device or file to standard output for analysis or postprocessing in either XML or human readable format. XML formatted metadata can be fed into thin_restore (see thin_restore(8)) in order to put it back onto a metadata device (to process by the device-mapper target) or file.

This tool cannot be run on live metadata unless the --metadata-snap option is used.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-f, --format {xml|human_readable}

Choose output format.

-r, --repair

Repair the metadata whilst dumping it.

-m, --metadata-snap[=<block nr>]

Dump metadata snapshot.

```
    If block is not provided, access the default metadata snapshot created by

    the thin provisioning device-mapper target, else try the one at block nr.

    See the thin provisioning target documentation on how to create or release

    a metadata snapshot and retrieve the block number from the kernel.
```

--dev-id {natural}

Dump the specified device.

```
    This option may be specified multiple times to select more than one thin

    device.
```

--transaction-id {natural}

Override the transaction id given in the input xml.

--data-block-size {sectors}

Override the data block size given in the input xml.

--nr-data-blocks {natural}

Override the nr data blocks given in the input xml.

--skip-mappings

Do not dump the mappings.

-o {xml file}

Specify a file for the output rather than writing to stdout.

## EXAMPLES
Dumps the thin provisioning metadata on logical volume /dev/vg/metadata to standard output in human readable format:

```
    $ thin_dump -f human_readable /dev/vg/metadata
```

Dumps the thin provisioning metadata on logical volume /dev/vg/metadata to standard output in XML format:

```
    $ thin_dump /dev/vg/metadata
```

Dumps the thin provisioning metadata snapshot on logical volume /dev/vg/metadata to standard output in human readable format (not processable by thin_restore(8)):

```
    $ thin_dump --format human_readable --metadata-snap /dev/vg/metadata
```

## DIAGNOSTICS
thin_dump returns an exit code of 0 for success or 1 for error.

## SEE ALSO
thin_check(8), thin_repair(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: thin_ls(8)

text:
# thin_ls(8)

## NAME
thin_ls - List thin volumes within a pool.

## SYNOPSIS

```
thin_ls [options] {device|file}
```

## DESCRIPTION
thin_ls displays information about thin volumes in a pool. Pass the metadata device on the command line, not the pool device.

This tool cannot be run on live metadata unless the --metadata-snap option is used.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-o, --format

Give a comma separated list of fields to be output.

```
    Valid fields are:

      DEV, MAPPED_BLOCKS, EXCLUSIVE_BLOCKS, SHARED_BLOCKS, HIGHEST_BLOCK,

      MAPPED_SECTORS, EXCLUSIVE_SECTORS, SHARED_SECTORS, HIGHEST_SECTOR,

      MAPPED_BYTES, EXCLUSIVE_BYTES, SHARED_BYTES, HIGHEST_BYTE, MAPPED,

      EXCLUSIVE, SHARED, HIGHEST_MAPPED, TRANSACTION, CREATE_TIME, SNAP_TIME
```

--no-headers

Don't output headers.

-m, --metadata-snap

Use metadata snapshot.

```
    If you want to get information out of a live pool then you will need to

    take a metadata snapshot and use this switch.
```

## SEE ALSO
thin_dump(8), thin_repair(8), thin_restore(8), thin_rmap(8), thin_trim(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: thin_metadata_pack(8)

text:
# thin_metadata_pack(8)

## NAME
thin_metadata_pack - pack thin provisioning binary metadata.

## SYNOPSIS

```
thin_metadata_pack [options] -i {device|file} -o {device|file}
```

## DESCRIPTION
thin_metadata_pack and thin_metadata_unpack are used to compress binary metadata. Useful for support.

thin_metadata_pack compresses the metadata, omitting any metadata blocks that are unused.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-i, --input {device|file}

Input file or device with binary data.

-o, --output {device|file}

Output file or device for binary data.

## SEE ALSO
thin_dump(8), thin_check(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: thin_metadata_size(8)

text:
# thin_metadata_size(8)

## NAME
thin_metadata_size - thin provisioning metadata device/file size calculator.

## SYNOPSIS

```
thin_metadata_size [options]
```

## DESCRIPTION
thin_metadata_size calculates the size of the thin provisioning metadata based on the block size of the thin provisioned devices, the size of the thin provisioning pool and the maximum number of all thin provisioned devices and snapshots. Because thin provisioning pools are holding widely variable contents, this tool is needed to provide sensible initial default size.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-b, --block-size {BLOCKSIZE[bskKmMgGtTpPeEzZyY]}

Set block size.

```
    Block size of thin provisioned devices in units of bytes, sectors,

    kibibytes, kilobytes, ... respectively. Default is in sectors without a

    block size unit specifier. Size/number option arguments can be followed by

    unit specifiers in short one character and long form (eg. -b1m or

    -b1mebibytes).
```

-s, --pool-size {POOLSIZE[bskKmMgGtTpPeEzZyY]}

Set pool size.

```
    Thin provisioning pool size in units of bytes, sectors, kibibytes,

    kilobytes, ... respectively. Default is in sectors without a pool size

    unit specifier.
```

-m, --max-thins {count[bskKmMgGtTpPeEzZyY]}

Set max thins.

```
    Maximum sum of all thin provisioned devices and snapshots. Unit identifier

    supported to allow for convenient entry of large quantities, eg. 1000000 =

    1M. Default is absolute quantity without a number unit specifier.
```

-u, --unit {bskKmMgGtTpPeEzZyY}

```
    Output unit specifier in units of bytes, sectors, kibibytes, kilobytes, ...

    respectively. Default is in sectors without an output unit specifier.
```

-n, --numeric-only {short|long}

Limit output to just the size number.

## EXAMPLES
Calculates the thin provisioning metadata device size for block size 64 kibibytes, pool size 1 tebibytes and maximum number of thin provisioned devices and snapshots of 1000 in units of sectors with long output:

```
    $ thin_metadata_size -b64k -s1t -m1000
```

Or (using the long options instead) for block size 1 gibibyte, pool size 1 petabyte and maximum number of thin provisioned devices and snapshots of 1 million with numeric-only output in units of gigabytes:

```
    $ thin_metadata_size --block-size=1g --pool-size=1P --max-thins=1M --unit=G --numeric-only
```

Same as before (1g, 1P, 1M, numeric-only) but with unit specifier character appended:

```
    $ thin_metadata_size --block-size=1gibi --pool-size=1petabytes --max-thins=1mega --unit=G --numeric-only=short
```

Or with unit specifier string appended:

```
    $ thin_metadata_size --block-size=1gibi --pool-size=1petabytes --max-thins=1mega --unit=G -nlong
```

## DIAGNOSTICS
thin_metadata_size returns an exit code of 0 for success or 1 for error.

## SEE ALSO
thin_dump(8), thin_check(8), thin_repair(8), thin_restore(8), thin_rmap(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: thin_metadata_unpack(8)

text:
# thin_metadata_unpack(8)

## NAME
thin_metadata_unpack - unpack thin provisioning binary metadata.

## SYNOPSIS

```
thin_metadata_unpack [options] -i {device|file} -o {device|file}
```

## DESCRIPTION
thin_metadata_pack and thin_metadata_unpack are used to compress binary metadata. Useful for support.

thin_metadata_unpack expands metadata that has previously been packed with thin_metadata_pack. It outputs a binary file that the rest of the thin tools can use.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-i, --input {device|file}

Input file or device with binary data.

-o, --output {device|file}

Output file or device for binary data.

## SEE ALSO
thin_dump(8), thin_check(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: thin_migrate(8)

text:
# thin_migrate(8)

## NAME
thin_migrate

## SYNOPSIS

```
thin_migrate [options] --source-dev {device} --dest-dev {device}
thin_migrate [options] --source-dev {device} --dest-file {file}
```

## DESCRIPTION
thin_migrate copies provisioned data blocks from a thin device to another device or file. It is designed for cloning a read-only snapshot or thin volume within a live thin-pool. A metadata snapshot is required to read the data mappings.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

--source-dev {device}

The input read-only thin device to copy.

--dest-dev {device}

The output device as the copy destination.

--dest-file {file}

The output file as the copy destination.

-q, --quit

Suppress output messages, return only exit code.

--buffer-size-meg {size}

Specify the size of the data buffers, in megabytes.

## EXAMPLE
Assuming that there's a thin snapshot 'vg/snap' to copy, we must first set the snapshot to read-only:

```
    $ lvchange vg/snap --permission r
```

Next, create a metadata snapshot for running thin_migrate:

```
    $ dmsetup message vg-mythinpool-tpool 0 reserve_metadata_snap
```

Once the metadata snapshot is created, copy the snapshot into another linear or thin volume. The destination volume must have the same size as the source device.

```
    $ thin_migrate --src-device /dev/vg/snap --dest-device /dev/vg2/dest
```

Alternatively, copy the snapshot into a file. thin_migrate can optionally create the destination file if it is not present, or the size of the file will be truncated to match that of the source device.

```
    $ thin_migrate --src-device /dev/vg/snap --dest-file dest.bin
```

Finally, release the metadata snapshot after thin_migrate finishes its job:

```
    $ dmsetup message vg-mythinpool-tpool 0 release_metadata_snap
```

## DIAGNOSTICS
thin_migrate returns an exit code of 0 for success or 1 for error.

## AUTHOR
Joe Thornber <ejt@redhat.com>


title: thin_repair(8)

text:
# thin_repair(8)

## NAME
thin_repair - repair thin provisioning binary metadata.

## SYNOPSIS

```
thin_repair [options] -i {device|file} -o {device|file}
```

## DESCRIPTION
thin_repair reads binary thin provisioning metadata created by the respective device-mapper target from one device or file, repairs it and writes it to different device or file. If written to a metadata device, the metadata can be processed by the device-mapper target.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-i, --input {device|file}

Input file or device with binary data.

-o, --output {device|file}

Output file or device for binary data.

```
    If a file is used for output, then it must be preallocated, and large

    enough to hold the metadata.
```

--transaction-id {natural}

Override the transaction id given in the input xml.

--data-block-size {natural}

Override the data block size given in the input xml.

--nr-data-blocks {natural}

Override the nr data blocks given in the input xml.

## EXAMPLE
Reads the binary thin provisioning metadata from file metadata, repairs it and writes it to logical volume /dev/vg/metadata for further processing by the respective device-mapper target:

```
    $ thin_repair -i metadata -o /dev/vg/metadata
```

## DIAGNOSTICS
thin_repair returns an exit code of 0 for success or 1 for error.

## SEE ALSO
thin_dump(8), thin_check(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: thin_restore(8)

text:
# thin_restore(8)

## NAME
thin_restore - restore thin provisioning metadata file to device or file.

## SYNOPSIS

```
thin_restore [options] -i {xml file} -o {device|file}
```

## DESCRIPTION
thin_restore restores thin provisioning metadata created by the respective device-mapper target dumped into an XML formatted (see thin_dump(8)) file, which optionally can be preprocessed before the restore to another device or file. If restored to a metadata device, the metadata can be processed by the device-mapper target.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

-q, --quiet

Suppress output messages, return only exit code.

-i, --input {xml file}

Input file containing XML metadata.

-o, --output {device|file}

Output file or device for restored binary metadata.

```
    If a file is used for output, then it must be preallocated, and large

    enough to hold the metadata.
```

--transaction-id {natural}

Override the transaction id given in the input xml.

--data-block-size {natural}

Override the data block size given in the input xml.

--nr-data-blocks {natural}

Override the nr data blocks given in the input xml.

## EXAMPLE
Restores the XML formatted thin provisioning metadata on file metadata to logical volume /dev/vg/metadata for further processing by the respective device-mapper target:

```
    $ thin_restore -i metadata -o /dev/vg/metadata
```

## DIAGNOSTICS
thin_restore returns an exit code of 0 for success or 1 for error.

## SEE ALSO
thin_dump(8), thin_check(8), thin_repair(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: thin_rmap(8)

text:
# thin_rmap(8)

## NAME
thin_rmap - output reverse map of a thin provisioned region of blocks from metadata device or file.

## SYNOPSIS

```
thin_rmap [options] {device|file}
```

## DESCRIPTION
thin_rmap outputs the reverse mapping stored in the metadata on a device or file between a region of thin provisioned pool blocks and the associated thin provisioned devices.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

--region {block range}

Specify range of blocks on the data device.

```
    At least one region must be specified.  Multiple regions may be specified.

    The range takes the format <begin>..<one past the end>.  For example,

    "5..45" specifies data blocks 5 to 44 inclusive, but not 45.
```

## EXAMPLES
$ thin_rmap --region 5..45 /dev/pool-metadata

## DIAGNOSTICS
thin_rmap returns an exit code of 0 for success or 1 for error.

## SEE ALSO
thin_check(8), thin_dump(8), thin_repair(8), thin_restore(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>, Heinz Mauelshagen <HeinzM@RedHat.com>


title: thin_trim(8)

text:
# thin_trim(8)

## NAME
thin_trim - Issue discard requests for free pool space (offline tool).

## SYNOPSIS

```
thin_trim [options] --metadata-dev {device|file} --data-dev {device|file}
```

## DESCRIPTION
thin_trim sends discard requests to the pool device for unprovisioned areas.

This tool cannot be run on live metadata.

## OPTIONS
-h, --help

Print help and exit.

-V, --version

Print version information and exit.

## SEE ALSO
thin_dump(8), thin_repair(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)

## AUTHOR
Joe Thornber <ejt@redhat.com>


vncsession

package: tigervnc-server

title: vncsession(8)

summary: start a VNC server

text:
# vncsession(8)

## NAME
vncsession - start a VNC server

## SYNOPSIS
vncsession [-D] <username> <:display#>

## DESCRIPTION
vncsession is used to start a VNC (Virtual Network Computing) desktop. vncsession performs all the necessary steps to create a new user session, run Xvnc with appropriate options and starts a window manager on the VNC desktop.

vncsession is rarely called directly and is normally started by the system service manager.

## -D OPTION
vncsession by default forks and detaches. If the -D option is used, it does not fork and detach. This option is provided for use with system service managers that require services to run in the foreground. This option is not intended for debugging in a login shell from a terminal or for running vncsession from a terminal as an ordinary user.

## FILES
Several VNC-related files are found in the directory $HOME/.config/tigervnc:

/etc/tigervnc/vncserver-config-defaults

The optional system-wide equivalent of $HOME/.config/tigervnc/config. If this file exists and defines options to be passed to Xvnc, they will be used as defaults for users. The user's $HOME/.config/tigervnc/config overrides settings configured in this file. The overall configuration file load order is: this file, $HOME/.config/tigervnc/config, and then /etc/tigervnc/vncserver-config-mandatory. None are required to exist.

/etc/tigervnc/vncserver-config-mandatory

The optional system-wide equivalent of $HOME/.config/tigervnc/config. If this file exists and defines options to be passed to Xvnc, they will override any of the same options defined in a user's $HOME/.config/tigervnc/config. This file offers a mechanism to establish some basic form of system-wide policy. WARNING! There is nothing stopping users from constructing their own vncsession-like script that calls Xvnc directly to bypass any options defined in /etc/tigervnc/vncserver-config-mandatory. The overall configuration file load order is: /etc/tigervnc/vncserver-config-defaults, $HOME/.config/tigervnc/config, and then this file. None are required to exist.

$XDG_CONFIG_HOME/tigervnc/config

$HOME/.config/tigervnc/config

An optional server config file wherein options to be passed to Xvnc are listed to avoid hard-coding them to the physical invocation. List options in this file one per line. For those requiring an argument, simply separate the option from the argument with an equal sign, for example: "geometry=2000x1200" or "securitytypes=vncauth,tlsvnc". Options without an argument are simply listed as a single word, for example: "localhost" or "alwaysshared". The special option session can be used to control which session type will be started. This should match one of the files in /usr/share/xsessions. E.g. if there is a file called "gnome.desktop", then "session=gnome" would be set to use that session type.

$XDG_CONFIG_HOME/tigervnc/passwd

$HOME/.config/tigervnc/passwd

The VNC password file.

$XDG_STATE_HOME/tigervnc/Bhost:Bdisplay#.log

$HOME/.local/state/tigervnc/Bhost:Bdisplay#.log

The log file for Xvnc and the session.

## SEE ALSO
vncviewer(1), vncpasswd(1), vncconfig(1), Xvnc(1)

https://www.tigervnc.org

## AUTHOR
Tristan Richardson, RealVNC Ltd., D. R. Commander and others.

VNC was originally developed by the RealVNC team while at Olivetti Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people have since participated in development, testing and support. This manual is part of the TigerVNC software suite.


timeoutd

package: timeoutd

title: timeoutd(8)

text:
# timeoutd(8)

## NAME
timeoutd - Enforce idle and session time restrictions

## SYNOPSIS
/usr/sbin/timeoutd [ user tty ]

## DESCRIPTION
timeoutd enforces the time restrictions specified in /etc/timeoutd/timeouts. When invoked in daemon mode (without any parameters) timeoutd backgrounds itself, then scans /var/run/utmp every minute and checks /etc/timeoutd/timeouts for an entry which matches that user, based on:

- The current day and time

- The tty that the user is currently logged in on

- The user's login ID

- Any primary or secondary groups the user is in

If a match is found, the limits specified for that entry are enforced by sending a SIGHUP (Hangup signal) to the user's login process, followed after 5 seconds by a SIGKILL (Sure kill signal) to ensure the user is logged out.

Where possible, timeoutd will send a warning to the user every minute for 5 minutes (or other time specified in /etc/timeoutd/timeouts) before logging them out. Warnings are not sent for exceeded idle limits, as this would count as activity on the terminal.

Timeoutd currently allows limits to be set on idle time as well as amount of time logged in per session and per day.

When calculating idle time, any activity on the terminal, either incoming (such as typing) or outgoing (such as information displayed on the screen) is counted as activity. This is to prevent log-offs during file transfers.

Under Linux, timeoutd detects when a serial line is in SLIP mode and disables idle time limit checking (as the last read/write times for the tty are not updated).

Debug information, error messages and notification of users who have been timed out are all recorded via syslog (facility=DAEMON).

timeoutd can also be invoked by login to check whether a user is allowed to login at that time, or whether they have exceeded their daily time limit. When invoked in this way, by passing a username and tty (without the leading /dev) on the command line, timeoutd returns one of the following exit codes:

0 User is allowed to login

1 Fatal error

5 Incorrect command line format

10 User has exceeded maximum daily connect time

20 User not permitted to login at this time on this tty

30 Internal error checking user name (probably invalid user name)

## FILES
/etc/timeoutd/timeouts - lists valid login times and idle/session time restrictions

/var/run/utmp - current login sessions

/var/log/wtmp - for calculating total logged in time for current day

## BUGS
Sessions which end in the current day but started before midnight will not be considered when calculating total daily logged in time for a user on that day. This will not, however, affect checking of the session limit, which should limit such problems. It does mean that a user could conceivably exceed their maximum daily time by one extra session if they log on just before midnight.

## SEE ALSO
timeouts(5)

## WRITTEN BY
Originally written by Shane Alderton <shanea@bigpond.net.au>, updated by Dennis Stampfer <seppy@debian.org>.


tincd

package: tinc

title: tincd(8)

summary: tinc VPN daemon

text:
# tincd(8)

## NAME
tincd — tinc VPN daemon

## SYNOPSIS
tincd

[-cdDkKnoLRU] [--config=DIR] [--no-detach] [--debug[=LEVEL]] [--kill[=SIGNAL]] [--net=NETNAME] [--generate-keys[=BITS]] [--option=[HOST.]KEY=VALUE] [--mlock] [--logfile[=FILE]] [--pidfile=FILE] [--bypass-security] [--chroot] [--user=USER] [--help] [--version]

## DESCRIPTION
This is the daemon of tinc, a secure virtual private network (VPN) project. When started, tincd will read it's configuration file to determine what virtual subnets it has to serve and to what other tinc daemons it should connect. It will connect to the ethertap or tun/tap device and set up a socket for incoming connections. Optionally a script will be executed to further configure the virtual device. If that succeeds, it will detach from the controlling terminal and continue in the background, accepting and setting up connections to other tinc daemons that are part of the virtual private network. Under Windows (not Cygwin) tinc will install itself as a service, which will be restarted automatically after reboots.

## OPTIONS
-c, --config=DIR

Read configuration files from DIR instead of /etc/tinc/.

-D, --no-detach

Don't fork and detach. This will also disable the automatic restart mechanism for fatal errors. If not mentioned otherwise, this will show log messages on the standard error output.

-d, --debug[=LEVEL]

Increase debug level or set it to LEVEL (see below).

-k, --kill[=SIGNAL]

Attempt to kill a running tincd (optionally with the specified SIGNAL instead of SIGTERM) and exit. Under Windows (not Cygwin) the optional argument is ignored, the service will always be stopped and removed.

-n, --net=NETNAME

Connect to net NETNAME. This will let tinc read all configuration files from /etc/tinc/ NETNAME. Specifying . for NETNAME is the same as not specifying any NETNAME.

-K, --generate-keys[=BITS]

Generate public/private RSA keypair and exit. If BITS is omitted, the default length will be 2048 bits. When saving keys to existing files, tinc will not delete the old keys, you have to remove them manually.

-o, --option=[HOST.]KEY=VALUE

Without specifying a HOST, this will set server configuration variable KEY to VALUE. If specified as HOST.KEY=VALUE, this will set the host configuration variable KEY of the host named HOST to VALUE. This option can be used more than once to specify multiple configuration variables.

-L, --mlock

Lock tinc into main memory. This will prevent sensitive data like shared private keys to be written to the system swap files/partitions.

--logfile[=FILE]

Write log entries to a file instead of to the system logging facility. If FILE is omitted, the default is /var/log/tinc.NETNAME.log.

--pidfile=FILE

Write PID to FILE instead of /var/run/tinc.NETNAME.pid. Under Windows this option will be ignored.

--bypass-security

Disables encryption and authentication of the meta protocol. Only useful for debugging.

-R, --chroot

With this option tinc chroots into the directory where network config is located (/etc/tinc/NETNAME if -n option is used, or to the directory specified with -c option) after initialization.

-U, --user=USER

setuid to the specified USER after initialization.

--help

Display short list of options.

--version

Output version information and exit.

## SIGNALS
ALRM

Forces tincd to try to connect to all uplinks immediately. Usually tincd attempts to do this itself, but increases the time it waits between the attempts each time it failed, and if tincd didn't succeed to connect to an uplink the first time after it started, it defaults to the maximum time of 15 minutes.

HUP

Partially rereads configuration files. Connections to hosts whose host config file are removed are closed. New outgoing connections specified in tinc.conf will be made. If the --logfile option is used, this will also close and reopen the log file, useful when log rotation is used.

INT

Temporarily increases debug level to 5. Send this signal again to revert to the original level.

USR1

Dumps the connection list to syslog.

USR2

Dumps virtual network device statistics, all known nodes, edges and subnets to syslog.

WINCH

Purges all information remembered about unreachable nodes.

## DEBUG LEVELS
The tinc daemon can send a lot of messages to the syslog. The higher the debug level, the more messages it will log. Each level inherits all messages of the previous level:

0

This will log a message indicating tincd has started along with a version number. It will also log any serious error.

1

This will log all connections that are made with other tinc daemons.

2

This will log status and error messages from scripts and other tinc daemons.

3

This will log all requests that are exchanged with other tinc daemons. These include authentication, key exchange and connection list updates.

4

This will log a copy of everything received on the meta socket.

5

This will log all network traffic over the virtual private network.

## FILES
/etc/tinc/

Directory containing the configuration files tinc uses. For more information, see tinc.conf(5).

/var/run/tinc.NETNAME.pid

The PID of the currently running tincd is stored in this file.

## BUGS
The BindToInterface option may not work correctly.

The cryptography in tinc is not well tested yet. Use it at your own risk!

If you find any bugs, report them to tinc@tinc-vpn.org.

## TODO
A lot, especially security auditing.

## SEE ALSO
tinc.conf(5), https://www.tinc-vpn.org/, http://www.cabal.org/.

The full documentation for tinc is maintained as a Texinfo manual. If the info and tinc programs are properly installed at your site, the command info tinc should give you access to the complete manual.

tinc comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details.

## AUTHORS
Ivo Timmermans

Guus Sliepen ⟨guus@tinc-vpn.org⟩

And thanks to many others for their contributions to tinc!