aide.conf

package: aide

title: aide.conf(5)

text:
# aide.conf(5)

## NAME
aide.conf - The configuration file for Advanced Intrusion Detection Environment

## SYNOPSIS
aide.conf is the configuration file for Advanced Intrusion Detection Environment. aide.conf contains the runtime configuration aide uses to initialize or check the AIDE database.

## FILE FORMAT
aide.conf is case-sensitive. Leading and trailing white spaces are ignored. Each config line must end with new line.

AIDE uses the backslash character (\) as escape character for ' ' (space), '@' and '\' (backslash) (e.g. '\ ' or '\@'). To literally match a '\' in a file path with a regular expression you have to escape the backslash twice (i.e. '\\\\').

There are three types of lines in aide.conf. First there are the configuration options which are used to set configuration parameters and define groups. Second, there are (restricted) rules that are used to indicate which files/directories from the file system are added to the database. Third, macro lines define or undefine variables within the config file. Lines beginning with # are ignored as comments.

## CONFIG OPTIONS
These lines have the format parameter=value. See URLS for a list of valid urls.

database_in (type: URL, default: see --version output, added in AIDE v0.17)

database (REMOVED in AIDE v0.19)

The url from which database is read. There can only be one of these lines. If there are multiple database lines then the first is used.

Examples:

```
database_in=file:/var/lib/aide/aide.db
```

Read database locally from /var/lib/aide/aide.db.

```
database_in=stdin
```

Read database from stdin.

```
database_in=https://example.com/aide.db
```

Read database remotely from https://example.com/aide.db.

database_out (type: URL, default: see --version output)

The url to which the new database is written to. There can only be one of these lines. If there are multiple database_out lines then the first is used.

database_new (type: URL, default: <none>)

The url from which the other database for --compare is read.

database_attrs (type: attribute expression, default: H, added in AIDE v0.16)

The attributes of the (uncompressed) database files which are to be added to the reports in report level >= database_attributes . Only checksum attributes are supported. To disable set database_attrs to 'E'.

database_add_metadata (type: bool, default: true, added in AIDE v0.16)

Whether to add the AIDE version and the time of database generation as comments to the database file or not. This option may be set to false by default in a future release.

log_level (type: log level, default: warning, added in AIDE v0.17)

The log level to use. Log messages are written to stderr. If there are multiple log_level lines then the first one is used. The --log-level or -L command line option overwrites this option.

The following log levels are available:

error: show unrecoverable issues that have to be handled by the user. Errors are fatal to the AIDE process. warning: additionally show recoverable issues that most likely lead to unexpected behaviour and should be handled by the user

notice: additionally show recoverable issues that sometimes lead to unexpected behaviour and might be handled by the user.

info: additionally show informational messages

compare: additionally show messages to help to debug file comparison and (special) attribute handling

The log levels below are very verbose and can easily generate multiple gigabytes of log data (depending on the number of processed files and the size of the rule tree). For debugging it is recommended to use these log levels together with the --limit parameter (see aide (1) for details).

rule: additionally show messages to help to debug the path rule matching

config: additionally show messages to help to debug config and rule parsing

debug: additionally show messages that are useful to debug the application

limit: additionally show messages about skipped entries due to limit match

thread: additionally show messages about thread processing (e.g. broadcast events)

trace: additionally show messages about the internal data structures and the flow of the application (e.g. in-loop logging) (extremely verbose)

verbose (type: number, range: 0 - 255, default: 5, REMOVED in AIDE v0.17)

Removed, use log_level and report_level options instead.

gzip_dbout (type: bool, default: false)

Whether the output to the database is gzipped or not. This option is available only if zlib support is compiled in.

root_prefix (type: path, default: <empty>, added in AIDE v0.16)

The prefix to strip from each file name in the file system before applying the rules and writing to database. AIDE removes a trailing slash from the prefix. If there are multiple root_prefix lines then the first one is used. This option has no effect in compare mode.

acl_no_symlink_follow (type: bool, default: false)

Whether to check ACLs for symlinks or not. This option is available only if acl support is compiled in.

warn_dead_symlinks (type: path, default: false)

Whether to warn about dead symlinks or not.

config_version (type: string, default: <empty>)

The value of config_version is printed in the report and also printed to the database. This is for informational purposes only. It has no other functionality.

config_check_warn_unrestricted_rules (type: bool, default: false, added in AIDE v0.18)

Whether to warn on unrestricted rules during config check. To explicitly define unrestricted rules use 0 (zero) as restriction character.

num_workers (type: number|percentage, default: 1, added in AIDE v0.18)

Specifies the number of simultaneous workers (threads) for file attribute processing (i.a. hashsum calculation). The number of workers can be a positive integer (e.g. '4') or the percentage of the available processors (e.g. '60%'). The resulting number of workers is rounded up to the next integer (e.g. '60%' of 8 processors results in 5 workers).

If there are multiple num_workers lines then the first one is used.

Use 0 (zero) to disable (multi-threaded) workers.

The default value 1 (single worker thread) may be changed in a future release.

## REPORT OPTIONS
report_url (type: URL, default: stdout)

The URL that the output is written to.

Multiple instances of the report_url option are supported.

Examples:

```
report_url=file:/var/log/aide.log
```

Write report to /var/log/aide.log.

```
report_url=stdout
```

Write report to stdout.

```
report_url=syslog:<LOG_FACILITY>
```

Write report to syslog using LOG_FACILITY.

The following report options are available (to take effect they have to be set before report_url):

report_level (type: report level, default: changed_attributes, added in AIDE v0.17)

The report level to use. The available report levels are as follows:

minimal: print single line whether AIDE found differences to the database summary: additionally print number of added, removed and changed files

database_attributes: additionally print database checksums

list_entries: additionally print lists of added, removed and changed entries

changed_attributes: additionally print details about changed entries

Example:

```
File: /var/lib/apt/extended_states

 Perm      : -rw-r--r--                       | -rw-------

 Uid       : 0                                | 106
```

The left column shows the old value (e.g. from the database_in database) and the right column shows the new value (e.g. from the file system).

added_removed_attributes: additionally print details about added and removed attributes

added_removed_entries: additionally print details about added and removed entries

report_format (type: report format, default: plain, added in AIDE v0.18)

The report format to use. The available report formats are as follows:

plain: Print report in plain human-readable format. json: Print report in json machine-readable format.

report_base16 (type: bool, default: false, added in AIDE v0.17)

Base16 encode the checksums in the report. The default is to report checksums in base64 encoding.

report_detailed_init (type: bool, default: false, added in AIDE v0.16)

Report added files (report level >= list_entries) and their details (report level >= added_removed_entries) in initialization mode.

report_quiet (type: bool, default: false, added in AIDE v0.16)

Suppress report output if no differences to the database have been found.

report_append (type: bool, default: false, added in AIDE v0.17)

Append to the report URL.

report_grouped (type: bool, default: true, added in AIDE v0.17)

grouped (REMOVED in AIDE v0.19)

Group the files in the report by added, removed and changed files.

report_summarize_changes (type: bool, default: true, added in AIDE v0.17)

summarize_changes (REMOVED in AIDE v0.19)

Summarize changes in the added, removed and changed files sections of the report. The general format is like the string YlZbpugamcinHAXSECF, where Y is replaced by the file-type ('f' for a regular file, 'd' for a directory, 'l' for a symbolic link, 'c' for a character device, 'b' for a block device, 'p' for a FIFO, 's' for a unix socket, 'D' for a Solaris door, 'P' for a Solaris event port, '!' if file type has changed and '?' otherwise).

The Z is replaced as follows: A '=' means that the size has not changed, a '<' reports a shrinked size and a '>' reports a grown size. The other letters in the string are the actual letters that will be output if the associated attribute for the item has been changed or a '.' for no change.

Otherwise a '+' is shown if the attribute has been added, a '-' if it has been removed, a ':' if the attribute is ignored (but not forced) or a ' ' if the attribute has not been checked.

The exceptions to this are: (1) a newly created file replaces each letter with a '+', and (2) a removed file replaces each letter with a '-'.

The attribute that is associated with each letter is as follows:

o

An l means that the link name has changed.

o

A b means that the block count has changed.

o

A p means that the permissions have changed.

o

A u means that the uid has changed.

o

A g means that the gid has changed.

o

An a means that the access time has changed.

o

An m means that the modification time has changed.

o

A c means that the change time has changed.

o

An i means that the inode has changed.

o

An n means that the link count has changed.

o

An H means that one or more message digests have changed.

o

An F means that one file system type has changed (Linux only).

The following letters are only available when explicitly enabled using configure:

o

An A means that the access control list has changed.

o

An X means that the extended attributes have changed.

o

An S means that the SELinux attributes have changed.

o

An E means that the file attributes on a second extended file system have changed.

o

A C means that the file capabilities have changed.

report_ignore_added_attrs (type: attribute expression, default: empty, added in AIDE v0.16)

Attributes whose addition is to be ignored in the report.

report_ignore_removed_attrs (type: attribute expression, default: empty, added in AIDE v0.16)

Attributes whose removal is to be ignored in the report.

report_ignore_changed_attrs (type: attribute expression, default: empty, added in AIDE v0.16)

ignore_list (REMOVED in AIDE v0.17)

Attributes whose change is to be ignored in the report.

report_force_attrs (type: attribute expression, default: empty, added in AIDE v0.16)

report_attributes (REMOVED in AIDE v0.17)

Attributes which are always printed in the report for changed files. If an attribute is both ignored and forced the attribute is not considered for file change but printed in the final report as long as the file has been otherwise changed.

report_ignore_e2fsattrs (type: string, default: 0, added in AIDE v0.16)

List (no delimiter) of ext2 file attributes which are to be ignored in the report. See chattr(1) for the available attributes. Use 0 (zero) to not ignore any attribute. Ignored attributes are represented by a ':' in the report. By default AIDE also reports changes of the read-only attributes mentioned in chattr(1) (see example below how to ignore those changes).

Example:

Ignore changes of the read-only ext2 file attributes verify (V), inline data (N), indexed directory (I) and encrypted (E):

```
report_ignore_e2fsattrs=VNIE
```

## GROUPS
Groups are aggregations of attributes.

Group definitions have the format <group name> = <attribute expression>.

Group names are limited to alphanumeric characters (A-Za-z0-9).

See ATTRIBUTES for a description of all available attributes.

Default groups

R

p+ftype+i+l+n+u+g+s+m+c+sha3_256+X

L

p+ftype+i+l+n+u+g+X

>

Growing file p+ftype+l+u+g+i+n+s+growing+X

H

all compiled in (and not deprecated) hashsums (added in AIDE v0.17)

X

acl+selinux+xattrs+e2fsattrs+caps (if attributes are compiled in, added in AIDE v0.16)

E

Empty group

Use 'aide --version' to list the default compound groups.

## RULES
AIDE supports three types of rules:

Regular rule:

<regex> <attribute expression> Files and directories matching the regular expression are added to the database.

Recursive negative rule:

!<regex> Files and directories matching the regular expression are excluded and NOT added to the database. The children of directories and sub-directories are recursed into and only not added to the database if they also match the regular expression.

Non-recursive negative rule (added in AIDE v0.19)

-<regex> Files and directories matching the regular expression are excluded and NOT added the database. The children of directories and sub-directories are not recursed into and hence not added to the database by any means.

Equals rule:

=<regex> <attribute expression> Files and directories matching the regular expression are added to the database. The children of directories are only added if the regular expression ends with a "/". The children of sub-directories are not added to the database.

Every regular expression has to start with an explicit "/". An implicit ^ is added in front of each regular expression. In other words, the regular expressions are matched at the first position against the complete path. Special characters can be escaped using two-digit URL encoding (for example, %20 to represent a space).

AIDE uses a deepest-match algorithm to find the tree node to search, but a first-match algorithm inside the node. (see also rule log level).

See EXAMPLES for examples.

More in-depth discussion of the selection algorithm can be found in the AIDE manual.

## RESTRICTED RULES
Restricted rules are like normal rules but can be restricted to file types (added in AIDE v0.16) and/or file system types (added in AIDE v0.19, Linux only).

The syntax of restricted rules is as follows:

Restricted regular rule

```
<regex> <restriction expression> <attribute expression>
```

Files and directories matching both the regular expression and the restriction expression are added the database.

Restricted recursive negative rule

```
!<regex> <restriction expression>
```

Files and directories matching both the regular expression and the restriction expression are excluded and NOT added the database. The children of directories and sub-directories are recursed into and only excluded if they also match the regular expression as well as the restriction.

Restricted non-recursive negative rule (added in AIDE v0.19)

```
-<regex> <restriction expression>
```

Files and directories matching both the regular expression and the restriction expression are excluded and NOT added the database. The children of directories and sub-directories are not recursed into and hence not added to the database by any means.

Restricted equals rule

```
=<regex> <restriction expression> <attribute expression>
```

Files and directories matching both the regular expression and the restriction expression are added the database. The children of directories are only added if the regular expression ends with a "/". The children of sub-directories are not added to the database.

Restriction expression

An restriction expression is of the following form:

```
<restriction expression>: <file types>

             | =<file system type>

             | <file types>=<file system type>
```

File types

The following file types are supported:

f

restrict rule to regular files

d

restrict rule to directories

l

restrict rule to symbolic links

c

restrict rule to character devices

b

restrict rule to block devices

p

restrict rule to FIFO files

s

restrict rule to UNIX sockets

D

restrict rule to Solaris doors

P

restrict rule to Solaris event ports

Multiple file type restrictions can be given as a comma-separated list.

File system types (Linux only)

The file system type restriction can be specified by file system types magic number (e.g. '0x01021994' for tmpfs) or by its name (use 'aide --version' to list the available file system type names). The magic number must start with '0x' and be formatted in hexdecimal format.

Empty restriction

To explicitly don't restrict a rule use 0 (added in AIDE v0.18).

Examples:

```
/ d,f R
```

Only add directories and files to the database.

```
/boot/efi$ d=vfat R
```

Only add /boot/efi to the database if it is a directory and mounted on vfat.

```
!/dev =0x01021994
```

Exclude /dev and any children that are mounted on tmpfs (tmpfs magic number: 0x01021994).

```
-/dev =tmpfs
```

Exclude /dev and all children, if /dev is mounted on tmpfs.

## MACRO LINES
@@define VAR val

Define variable VAR to value val.

@@undef VAR

Undefine variable VAR.

@@if boolean_expression (added in AIDE v0.18)

@@else

@@endif

@@if begins an if statement. It must be terminated with an @@endif statement. The lines between @@if and @@endif are used if the boolean_expression evaluates to true. If there is an @@else statement then the part between @@if and @@else is used if boolean_expression evaluates to true otherwise the part between @@else and @@endif is used.

Available operators and functions in boolean expressions:

```
not boolean_expression
```

Evaluates to true if the boolean_expression is false, and false if the boolean_expression is true.

```
defined VARIABLE
```

Evaluates to true if VARIABLE is defined.

```
hostname HOSTNAME
```

Evaluates to true if HOSTNAME equals the hostname of the machine that AIDE is running on. hostname is the name of the host without the domainname (ie 'hostname', not 'hostname.example.com').

```
exists PATH
```

Evaluates to true if PATH exists.

```
VERSION_STRING1 version_ge VERSION_STRING2 (added in AIDE v0.19)
```

Evaluates to true if VERSION_STRING1 is greater than or equal to VERSION_STRING2 (e.g. 0.19.1 version_ge 0.18 evaluates to true and 2.17 version_ge 1.1 to false). The version strings must be in the format MAJOR.MINOR.PATCH (minor and patch version can be omitted, any version suffix (e.g. for pre-release) will be truncated).

@@ifdef VARIABLE (DEPRECATED since AIDE v0.18, will be removed in AIDE v0.20)

same as @@if defined VARIABLE

@@ifndef VARIABLE (DEPRECATED since AIDE v0.18, will be removed in AIDE v0.20)

same as @@if not defined VARIABLE

@@ifhost HOSTNAME (DEPRECATED since AIDE v0.18, will be removed in AIDE v0.20)

same as @@if hostname HOSTNAME

@@ifnhost HOSTNAME (DEPRECATED since AIDE v0.18, will be removed in AIDE v0.20)

same as @@if not hostname HOSTNAME

@@{VAR}

@@{VAR} is replaced with the value of the variable VAR. If variable VAR is not defined an empty string is used. Variables are supported in strings and in regular expressions of rules.

Pre-defined marco variables:

@@{AIDE_VERSION}: the version of AIDE

@@{HOSTNAME}: the hostname of the current system

@@include FILE

Include FILE. The content of the file is used as if it were inserted in this part of the config file.

The maximum depth of nested includes is 16.

@@include DIRECTORY REGEX [RULE_PREFIX] (added in AIDE v0.17)

Include all (regular) files found in DIRECTORY matching regular expression REGEX (sub-directories are ignored). The files are included in lexical sort order. If RULE_PREFIX (added in AIDE v0.18) is set, all rules included by the statement are prefixed with given RULE_PREFIX. Prefixes from nested include statements are concatenated.

The content of the files is used as if it were inserted in this part of the config file.

@@x_include FILE (added in AIDE v0.17)

@@x_include DIRECTORY REGEX [RULE_PREFIX] (added in AIDE v0.17)

@x_include is identical to @@include, except that if a config file is executable is is run and the output is used as config. If the executable file exits with status greater than zero or writes to stderr aide stops with an error.

For security reasons DIRECTORY and each executable config file must be owned by the current user or root. They must not be group- or world-writable.

@@x_include_setenv VAR VALUE (added in AIDE v0.17)

Adds the variable VAR with the value VALUE to the environment used for config file execution.

Environment variable names are limited to alphanumeric characters (A-Za-z0-9) and the underscore '_' and must not begin with a digit.

## TYPES
bool

Valid values are yes, true, no or false.

attribute expression

An attribute expression is of the following form:

```
<attribute expression>: <attribute/group>

      | <attribute expression> + <attribute/group>

      | <attribute expression> - <attribute/group>
```

URLS

Urls can be one of the following. Input urls cannot be used as outputs and vice versa.

stdout

stderr

Output is sent to stdout, stderr respectively.

stdin

Input is read from stdin.

file:/path

Input is read from path or output is written to path.

fd:number

Input is read from filedescriptor number or output is written to number.

syslog:LOG_FACILITY

Output is written to syslog using LOG_FACILITY.

## ATTRIBUTES
File attributes

ftype

file type (added in AIDE v0.15)

fstype

file system type (Linux-only, added in AIDE v0.19)

p

permissions

i

inode

l

link name (symbolic links only)

n

number of links

u

user

g

group

s

size

b

block count

m

mtime

a

atime

c

ctime

acl

access control list (requires libacl, Linux-only)

selinux

selinux attributes (requires libselinux, Linux-only)

xattrs

extended attributes (requires libattr, Linux-only)

e2fsattrs

file attributes on a Linux file system, see also report_ignore_e2fsattrs option (requires libext2fs, added in AIDE v0.15)

caps

file capabilities (regular files only) (requires libcap, Linux-only, added in AIDE v0.17)

Use 'aide --version' to show which compiled-in attributes are available.

Special attributes

S

check for growing size (DEPRECATED since AIDE v0.18, will be removed in AIDE v0.20) Use growing+s attributes instead

I

ignore changed filename When I is used, the inode of the new file is used to search for a moved source file in the old database.

Source and target file have to be located in the same directory and must share the same attributes (except for special attributes ANF, ARF, I, growing, and compressed).

For moved entries a change of the ctime attribute is ignored.

growing

ignore growing file (added in AIDE v0.18) When growing is used, changes of the following attributes are ignored:

size: if new size is greater than old size

bcount: if new bcount is greater than old bcount

atime: if new atime is greater than old atime

mtime: if new mtime is greater than old mtime

ctime: if new ctime is greater than old ctime

hashsums: if the hashsum of the new file restricted to the old size equals the hashsums of the old file

For hashsum attributes the growing attribute is ignored in compare mode.

compressed

ignore compressed file (added in AIDE v0.18) When compressed is used, the uncompressed hashsums of the new compressed file (supported compressions: gzip) are used to search for the uncompressed file in the old database.

The old uncompressed and the new compressed file have to be located in the same directory and must share the same attributes (except for special attributes ANF, ARF, I, growing, and compressed) including at least one common hashsum.

Changes of the inode, size, bcount and ctime attributes are ignored.

The growing attribute (i.e. the old file size) is not considered for compressed files during the calculation of the uncompressed hashsums.

The compressed attribute is ignored in compare mode.

ANF

allow new files When 'ANF' is used, new files are added to the new database, but are ignored in the report.

ARF

allow removed files When 'ARF' is used, files missing on disk are omitted from the new database, but are ignored in the report.

Hashsums attributes (regular files only)

sha256

SHA-256 checksum

sha512

SHA-512 checksum

sha512_256 (added in AIDE v0.19)

SHA-512 checksum truncated to 256 output bits

sha3_256 (added in AIDE v0.19)

SHA3-256 checksum

sha3_512 (added in AIDE v0.19)

SHA3-512 checksum

stribog256 (added in AIDE v0.17)

GOST R 34.11-2012, 256 bit checksum

stribog512 (added in AIDE v0.17)

GOST R 34.11-2012, 512 bit checksum

md5 (DEPRECATED since AIDE v0.19, will be removed in AIDE v0.21)

MD5 checksum (not in libgcrypt FIPS mode)

sha1 (DEPRECATED since AIDE v0.19, will be removed in AIDE v0.21)

SHA-1 checksum

rmd160 (DEPRECATED since AIDE v0.19, will be removed in AIDE v0.21)

RIPEMD-160 checksum

gost (DEPRECATED since AIDE v0.19, will be removed in AIDE v0.21)

GOST R 34.11-94 checksum

crc32 (REMOVED in AIDE v0.19)

crc32 checksum

crc32b (REMOVED in AIDE v0.19)

crc32 checksum

haval (REMOVED in AIDE v0.19)

haval256 checksum

tiger (REMOVED in AIDE v0.19)

tiger checksum

whirlpool (REMOVED in AIDE v0.19)

whirlpool checksum

Use 'aide --version' to show which hashsums are available.

Hashsum transitions (since AIDE v0.19):

AIDE has limited support for hashsum transitions (i.e. ensuring hashsum validation when hashsums are added/removed from existing entries). If both the old and the new entry do mot share common hashsum(s) AIDE tries to additionally calculate the removed hashsum(s) also for the new entry (this is especieally not supported for moved (I attribute) and compressed (compressed attribute) entries).

## EXAMPLES
/ R

This adds all files on your machine to the database. This one line is a fully qualified configuration file.

!/dev$

This ignores the /dev directory structure.

=/foo R

Only /foo and /foobar are taken into the database. None of their children are added.

=/foo/ R

Only /foo and its children (e.g. /foo/file and /foo/directory) are taken into the database. The children of sub-directories (e.g. /foo/directory/bar) are not added.

/ d,f R

Only add directories and files to the database

!/run d

/run R

Add all but directory entries to the database

/run d R-m-c-i

/run R

Use specific rule for directories

Suggested Groups

OwnerMode = p+u+g+ftype

Check permissions, owner, group and file type

Size = s+b

Check size and block count

InodeData = OwnerMode+n+i+Size+l+X

StaticFile = m+c+Checksums

Files that stay static

Full = InodeData+StaticFile

Full = ftype+p+l+u+g+s+m+c+a+i+b+n+H+X

/ 0 Full

This line defines group Full. It has all attributes, all compiled in hashsums (H) and all compiled in extra file attributes (X). See '--version' output for the compiled in hashsums and extra groups. The example rule is the typical catch-all rule at the end of the rule list.

VarTime = InodeData+Checksums

/etc/ssl/certs/ca-certificates\\.crt$ VarTime

Files that change their mtimes or ctimes but not their contents.

VarInode = VarTime-i

/var/lib/nfs/etab$ f VarInode

Files that are recreated regularly but do not change their contents

VarFile = OwnerMode+n+l+X

/etc/resolv\\.conf$ f VarFile

Files that change their contents during system operation

VarDir = OwnerMode+n+i+X

/var/lib/snmp$ d VarDir

Directories that change their contents during system operation

RecreatedDir = OwnerMode+n+X

/run/samba$ d RecreatedDir

Directories that are recreated regularly and change their contents

Log Handling

Logs pose a number of special challenges to AIDE. An active log is nearly constantly being written to. The process of log rotation changes file names for files that are supposed to have unaltered contents. To save space, Logs are compressed in the process of their rotation, and finally, they get deleted. AIDE is supposed to handle all those cases without generating reports, and it is still expected to flag the cases when an attacker tampers with logs.

The following examples suggest a way to handle the common case of log rotation with the logrotate(8) program, with its options compress, delaycompress and nocopytruncate set. The vast majority of logs are rotated this way on most Linux systems.

ActLog=Full+growing+ANF+I

/var/log/foo\\.log$ f ActLog

An Active Log is typically named foo.log. It is constanty being written to. The file does neither change its mode nor its inode number. The size only increases, and what is written to the file is not supposed to change (growing). During log rotation, foo.log is typically renamed to foo.log.1 (or foo.log.0) and the process is instructed to write to a new foo.log. Log content is written to a new file (ANF) and will eventually be renamed to foo.log.1 (I). The growing attribute suppresses reports for files that just had content appended when compared to the database. A change of the old content is still reported!

RotLog=Full

/var/log/foo\\.log\\.1$ f RotLog

foo.log.0 or foo.log.1 is called the Rotated Log, the previously active log renamed to the first name of the Log Series that is formed by the rotation mechanism. Right after rotation, the file might still being written to by the daemon. To aide, this looks like the Active Log's size decreases and its inode and timestamps change. The Rotated Log is not supposed to change its attributes once the process has stopped writing to it. Reports might be generated if aide runs while the process still writes to the Rotated Log, but this is quite unlikely to happen. Some log rotation mechanisms rename foo.log to foo.log.0 to foo.log.1.gz, others rename foo.log to foo.log.1 to foo.2.log.gz.

CompSerLog=Full+I+compressed

/var/log/foo\\.log\\.2\\.gz$ f CompSerLog

In the next rotation step, foo.log.1 gets compressed to foo.log.2.gz, becoming the Compressed Log in the Log Series. With this rule, AIDE does not report this step because it uncompresses the contents of the file and takes the checksum of the uncompressed content. The contents strictly doesn't change, but some attribute changes are ignored (compressed).

MidlSerLog=Full+I

/var/log/foo\\.log\\.[345]\\.gz$ f MidlSerLog

In the next log rotation, all foo.log.{x} get renamed to foo.log.{x+1}. The other attributes are not supposed to change.

LastSerLog=Full+ARF

/var/log/foo\\.log\\.6\\.gz$ f LastSerLog

The configuration of the log rotation process specifies a number of log generations to keep. The last log in the series is therefore removed from the disk (ARF).

aide 0.18 does not yet support the following cases of log rotation:

empty files

It might be the case that a log is actually created, but never written to. This commonly happens on rarely used web servers that use the log rotation as a method to cater for data protection regulation. In result, all files in a series are identical, breaking the heuristics that aide uses to detect log rotation. A possible workaround is to begin a newly rotated log with a timestamp. With logrotate, this can be done in a postrotate scriptlet.

nodelaycompress

With logrotate's nodelaycompress option, a log is immediately compressed after renaming it from the Active Log name. For the time being, it is recommended to always use the delaycompress option to avoid this behavior.

copytruncate

With logrotate's copytruncate option, the Active Log is not renamed and newly created but copied to the new file name. After the copy operation, the old file is truncated to zero size, allowing the daemon to continuously write to the already open file handle. aide uses the Inode number to detect the rotation process. That doesn't work with copytruncate because the Inode stays with the Active Log. For the time being, it is recommended to avoid the copytruncate option to avoid this behavior.

## HINTS
In the following, the first is not allowed in AIDE. Use the latter instead.

/foo epug

/foo e+p+u+g

## SEE ALSO
aide(1)

## DISCLAIMER
All trademarks are the property of their respective owners. No animals were harmed while making this webpage or this piece of software.


alacritty

package: alacritty

title: alacritty(5)

text:
# alacritty(5)

## NAME
Alacritty - TOML configuration file format.

## SYNTAX
Alacritty's configuration file uses the TOML format. The format's specification can be found at https://toml.io/en/v1.0.0.

## LOCATION
Alacritty doesn't create the config file for you, but it looks for one in the following locations on UNIX systems:

1.

$XDG_CONFIG_HOME/alacritty/alacritty.toml

2.

$XDG_CONFIG_HOME/alacritty.toml

3.

$HOME/.config/alacritty/alacritty.toml

4.

$HOME/.alacritty.toml

5.

/etc/alacritty/alacritty.toml

On Windows, the config file will be looked for in:

1.

%APPDATA%\alacritty\alacritty.toml

## GENERAL
This section documents the [general] table of the configuration file.

import = ["<string>",]

Import additional configuration files. Imports are loaded in order, skipping all missing files, with the importing file being loaded last. If a field is already present in a previous import, it will be replaced.

All imports must either be absolute paths starting with /, paths relative to the user's home directory starting with ~/, or paths relative from the current config file.

Example:

import = [

"~/.config/alacritty/base16-dark.toml",

"~/.config/alacritty/keybindings.toml",

"alacritty-theme/themes/gruvbox_dark.toml",

]

working_directory = "<string>" | "None"

Directory the shell is started in. When this is unset, or "None", the working directory of the parent process will be used. Default: "None"

live_config_reload = true | false

Live config reload (changes require restart) Default: true

ipc_socket = true | false # (unix only)

Offer IPC using alacritty msg Default: true

## ENV
All key-value pairs in the [env] section will be added as environment variables for any process spawned by Alacritty, including its shell. Some entries may override variables set by alacritty itself.

Example:

[env]

WINIT_X11_SCALE_FACTOR = "1.0"

## WINDOW
This section documents the [window] table of the configuration file.

dimensions = { columns = <integer>, lines = <integer> }

Window dimensions (changes require restart). Number of lines/columns (not pixels) in the terminal. Both lines and columns must be non-zero for this to take effect. The number of columns must be at least 2, while using a value of 0 for columns and lines will fall back to the window manager's recommended size

Default: { columns = 0, lines = 0 }

position = "None" | { x = <integer>, y = <integer> } # (has no effect on Wayland)

Window startup position. Specified in number of pixels.

If the position is "None", the window manager will handle placement.

Default: "None"

padding = { x = <integer>, y = <integer> }

Blank space added around the window in pixels. This padding is scaled by DPI and the specified value is always added at both opposing sides. Default: { x = 0, y = 0 }

dynamic_padding = true | false

Spread additional padding evenly around the terminal content. Default: false

decorations = "Full" | "None" | "Transparent" | "Buttonless"

Window decorations. Full

Borders and title bar.

None Neither borders nor title bar.

Transparent (macOS only) Title bar, transparent background and title bar buttons.

Buttonless (macOS only) Title bar, transparent background and no title bar buttons.

Default: "Full"

opacity = <float>

Background opacity as a floating point number from 0.0 to 1.0. The value 0.0 is completely transparent and 1.0 is opaque. Default: 1.0

blur = true | false # (works on macOS/KDE Wayland)

Request compositor to blur content behind transparent windows. Default: false

startup_mode = "Windowed" | "Maximized" | "Fullscreen" | "SimpleFullscreen"

Startup mode (changes require restart) Windowed

Regular window.

Maximized The window will be maximized on startup.

Fullscreen The window will be fullscreened on startup.

SimpleFullscreen (macOS only) Same as Fullscreen, but you can stack windows on top.

Default: "Windowed"

title = "<string>"

Window title. Default: "Alacritty"

dynamic_title = true | false

Allow terminal applications to change Alacritty's window title. Default: true

class = { instance = "<string>", general = "<string>" } # (Linux/BSD only)

Window class. On Wayland, general is used as app_id and instance is ignored.

Default: { instance = "Alacritty", general = "Alacritty" }

decorations_theme_variant = "Dark" | "Light" | "None"

Override the variant of the System theme/GTK theme/Wayland client side decorations. Set this to "None" to use the system's default theme variant. Default: "None"

resize_increments = true | false # (works on macOS/X11/Wayland)

Prefer resizing window by discrete steps equal to cell dimensions. Default: false

option_as_alt = "OnlyLeft" | "OnlyRight" | "Both" | "None" # (macOS only)

Make Option key behave as Alt. Default: "None"

level = "Normal" | "AlwaysOnTop"

Sets window level. Normal

Window adheres to system's default z-order.

AlwaysOnTop Window is a toplevel window.

Default: "Normal"

Example:

[window]

padding = { x = 3, y = 3 }

dynamic_padding = true

opacity = 0.9

## SCROLLING
This section documents the [scrolling] table of the configuration file.

history = <integer>

Maximum number of lines in the scrollback buffer.

Specifying 0 will disable scrolling.

Limited to 100000. Default: 10000

multiplier = <integer>

Number of line scrolled for every input scroll increment. Default: 3

## FONT
This section documents the [font] table of the configuration file.

normal = { family = "<string>", style = "<string>" }

Default: Linux/BSD: { family = "monospace", style = "Regular" }

Windows: { family = "Consolas", style = "Regular" }

macOS: { family = "Menlo", style = "Regular" }

bold = { family = "<string>", style = "<string>" }

If the family is not specified, it will fall back to the value specified for the normal font. Default: { style = "Bold" }

italic = { family = "<string>", style = "<string>" }

If the family is not specified, it will fall back to the value specified for the normal font. Default: { style = "Italic" }

bold_italic = { family = "<string>", style = "<string>" }

If the family is not specified, it will fall back to the value specified for the normal font. Default: { style = "Bold Italic" }

size = <float>

Font size in points. Default: 11.25

offset = { x = <integer>, y = <integer> }

Offset is the extra space around each character. y can be thought of as modifying the line spacing, and x as modifying the letter spacing. Default: { x = 0, y = 0 }

glyph_offset = { x = <integer>, y = <integer> }

Glyph offset determines the locations of the glyphs within their cells with the default being at the bottom. Increasing x moves the glyph to the right, increasing y moves the glyph upward.

builtin_box_drawing = true | false

When true, Alacritty will use a custom built-in font for box drawing characters (Unicode points U+2500 - U+259F), legacy computing symbols (U+1FB00 - U+1FB3B), and powerline symbols (U+E0B0 - U+E0B3). Default: true

## COLORS
This section documents the [colors] table of the configuration file.

Colors are specified using their hexadecimal values with a # prefix: #RRGGBB.

primary

This section documents the [colors.primary] table of the configuration file. foreground = "<string>"

Default: "#d8d8d8"

background = "<string>"

Default: "#181818"

dim_foreground = "<string>"

If this is not set, the color is automatically calculated based on the foreground color. Default: "#828482"

bright_foreground = "<string>"

This color is only used when draw_bold_text_with_bright_colors is true. If this is not set, the normal foreground will be used.

Default: "None"

cursor = { text = "<string>", cursor = "<string>" }

Colors which should be used to draw the terminal cursor. Allowed values are hexadecimal colors like #ff00ff, or CellForeground/CellBackground, which references the affected cell.

Default: { text = "CellBackground", cursor = "CellForeground" }

vi_mode_cursor = { text = "<string>", cursor = "<string>" }

Colors for the cursor when the vi mode is active. Allowed values are hexadecimal colors like #ff00ff, or CellForeground/CellBackground, which references the affected cell.

Default: { text = "CellBackground", cursor = "CellForeground" }

search

This section documents the [colors.search] table of the configuration. Allowed values are hexadecimal colors like #ff00ff, or CellForeground/CellBackground, which references the affected cell.

matches = { foreground = "<string>", background = "<string>" }

Default: { foreground = "#181818", background = "#ac4242" }

focused_match = { foreground = "<string>", background = "<string>" }

Default: { foreground = "#181818", background = "#f4bf75" }

hints

This section documents the [colors.hints] table of the configuration. start = { foreground = "<string>", background = "<string>" }

First character in the hint label. Allowed values are hexadecimal colors like #ff00ff, or CellForeground/CellBackground, which references the affected cell.

Default: { foreground = "#181818", background = "#f4bf75" }

end = { foreground = "<string>", background = "<string>" }

All characters after the first one in the hint label. Allowed values are hexadecimal colors like #ff00ff, or CellForeground/CellBackground, which references the affected cell.

Default: { foreground = "#181818", background = "#ac4242" }

line_indicator = { foreground = "<string>", background = "<string>" }

Color used for the indicator displaying the position in history during search and vi mode. Setting this to "None" will use the opposing primary color.

Default: { foreground = "None", background = "None" }

footer_bar = { foreground = "<string>", background = "<string>" }

Color used for the footer bar on the bottom, used by search regex input, hyperlink URI preview, etc. Default: { foreground = "#181818", background = "#d8d8d8" }

selection = { text = "<string>", background = "<string>" }

Colors used for drawing selections. Allowed values are hexadecimal colors like #ff00ff, or CellForeground/CellBackground, which references the affected cell.

Default: { text = "CellBackground", background = "CellForeground" }

normal

This section documents the [colors.normal] table of the configuration. black = "<string>"

Default: "#181818"

red = "<string>" Default: "#ac4242"

green = "<string>" Default: "#90a959"

yellow = "<string>" Default: "#f4bf75"

blue = "<string>" Default: "#6a9fb5"

magenta = "<string>" Default: "#aa759f"

cyan = "<string>" Default: "#75b5aa"

white = "<string>" Default: "#d8d8d8"

bright

This section documents the [colors.bright] table of the configuration. black = "<string>"

Default: "#6b6b6b"

red = "<string>" Default: "#c55555"

green = "<string>" Default: "#aac474"

yellow = "<string>" Default: "#feca88"

blue = "<string>" Default: "#82b8c8"

magenta = "<string>" Default: "#c28cb8"

cyan = "<string>" Default: "#93d3c3"

white = "<string>" Default: "#f8f8f8"

dim

This section documents the [colors.dim] table of the configuration. If the dim colors are not set, they will be calculated automatically based on the normal colors.

black = "<string>"

Default: "#0f0f0f"

red = "<string>" Default: "#712b2b"

green = "<string>" Default: "#5f6f3a"

yellow = "<string>" Default: "#a17e4d"

blue = "<string>" Default: "#456877"

magenta = "<string>" Default: "#704d68"

cyan = "<string>" Default: "#4d7770"

white = "<string>" Default: "#8e8e8e"

indexed_colors = [{ index = <integer>, color = "<string>" },]

The indexed colors include all colors from 16 to 256. When these are not set, they're filled with sensible defaults. Default: []

transparent_background_colors = true | false

Whether or not window.opacity applies to all cell backgrounds, or only to the default background. When set to true all cells will be transparent regardless of their background color. Default: false

draw_bold_text_with_bright_colors = true | false

When true, bold text is drawn using the bright color variants. Default: false

## BELL
This section documents the [bell] table of the configuration file.

animation = "Ease" | "EaseOut" | "EaseOutSine" | "EaseOutQuad" | "EaseOutCubic" | "EaseOutQuart" | "EaseOutQuint" | "EaseOutExpo" | "EaseOutCirc" | "Linear"

Visual bell animation effect for flashing the screen when the visual bell is rung. Default: "Linear"

duration = <integer>

Duration of the visual bell flash in milliseconds. A `duration` of `0` will disable the visual bell animation. Default: 0

color = "<string>"

Visual bell animation color. Default: "#ffffff"

command = "<string>" | { program = "<string>", args = ["<string>",] }

This program is executed whenever the bell is rung. When set to "None", no command will be executed.

Default: "None"

## SELECTION
This section documents the [selection] table of the configuration file.

semantic_escape_chars = "<string>"

This string contains all characters that are used as separators for "semantic words" in Alacritty. Default: ",│`|:\"' ()[]{}<>\t"

save_to_clipboard = true | false

When set to true, selected text will be copied to the primary clipboard. Default: false

## CURSOR
This section documents the [cursor] table of the configuration file.

style = { <shape>, <blinking> }

shape = "Block" | "Underline" | "Beam"

Default: "Block"

blinking = "Never" | "Off" | "On" | "Always"

Never Prevent the cursor from ever blinking

Off Disable blinking by default

On Enable blinking by default

Always Force the cursor to always blink

Default: "Off"

vi_mode_style = { <shape>, <blinking> } | "None"

If the vi mode cursor style is "None" or not specified, it will fall back to the active value of the normal cursor. Default: "None"

blink_interval = <integer>

Cursor blinking interval in milliseconds. Default: 750

blink_timeout = <integer>

Time after which cursor stops blinking, in seconds. Specifying 0 will disable timeout for blinking.

Default: 5

unfocused_hollow = true | false

When this is true, the cursor will be rendered as a hollow box when the window is not focused. Default: true

thickness = <float>

Thickness of the cursor relative to the cell width as floating point number from 0.0 to 1.0. Default: 0.15

## TERMINAL
This section documents the [terminal] table of the configuration file.

shell = "<string>" | { program = "<string>", args = ["<string>",] }

You can set shell.program to the path of your favorite shell, e.g. /bin/zsh. Entries in shell.args are passed as arguments to the shell. Default:

Linux/BSD/macOS: $SHELL or the user's login shell, if $SHELL is unset

Windows: "powershell"

Example:

shell = { program = "/bin/zsh", args = ["-l"] }

osc52 = "Disabled" | "OnlyCopy" | "OnlyPaste" | "CopyPaste"

Controls the ability to write to the system clipboard with the OSC 52 escape sequence. While this escape sequence is useful to copy contents from the remote server, allowing any application to read from the clipboard can be easily abused while not providing significant benefits over explicitly pasting text. Default: "OnlyCopy"

## MOUSE
This section documents the [mouse] table of the configuration file.

hide_when_typing = true | false

When this is true, the cursor is temporarily hidden when typing. Default: false

bindings = [{ <mouse>, <mods>, <mode>, <command> | <chars> | <action> },]

See keyboard.bindings for full documentation on mods, mode, command, chars, and action. When an application running within Alacritty captures the mouse, the `Shift` modifier can be used to suppress mouse reporting. If no action is found for the event, actions for the event without the `Shift` modifier are triggered instead.

mouse = "Middle" | "Left" | "Right" | "Back" | "Forward" | "WheelUp" | "WheelDown" | <integer>

Mouse button which needs to be pressed to trigger this binding.

action = <keyboard.bindings.action> | "ExpandSelection"

ExpandSelection Expand the selection to the current mouse cursor location.

Example:

[mouse]

bindings = [

{ mouse = "Right", mods = "Control", action = "Paste" },

]

## HINTS
This section documents the [hints] table of the configuration file.

Terminal hints can be used to find text or hyperlinks in the visible part of the terminal and pipe it to other applications.

alphabet = "<string>"

Keys used for the hint labels. Default: "jfkdls;ahgurieowpq"

enabled = [{ <regex>, <hyperlinks>, <post_processing>, <persist>, <action>, <command>, <binding>, <mouse> },]

Array with all available hints.

Each hint must have at least one of regex or hyperlinks and either an action or a command.

regex = "<string>"

Regex each line will be compared against.

hyperlinks = true | false

When this is true, all OSC 8 escape sequence hyperlinks will be included in the hints.

post_processing = true | false

When this is true, heuristics will be used to shorten the match if there are characters likely not to be part of the hint (e.g. a trailing .). This is most useful for URIs and applies only to regex matches.

persist = true | false

When this is true, hints remain persistent after selection.

action = "Copy" | "Paste" | "Select" | "MoveViModeCursor"

Copy Copy the hint's text to the clipboard.

Paste Paste the hint's text to the terminal or search.

Select Select the hint's text.

MoveViModeCursor Move the vi mode cursor to the beginning of the hint.

command = "<string>" | { program = "<string>", args = ["<string>",] }

Command which will be executed when the hint is clicked or selected with the binding. The hint's text is always attached as the last argument.

binding = { key = "<string>", mods = "<string>", mode = "<string>" }

See keyboard.bindings for documentation on available values. This controls which key binding is used to start the keyboard hint selection process.

mouse = { mods = "<string>", enabled = true | false }

See keyboard.bindings for documentation on available mods. The enabled field controls if the hint should be underlined when hovering over the hint text with all mods pressed.

Default:

[[hints.enabled]]

command = "xdg-open" # On Linux/BSD

\# command = "open" # On macOS

\# command = { program = "cmd", args = [ "/c", "start", "" ] } # On Windows

hyperlinks = true

post_processing = true

persist = false

mouse.enabled = true

binding = { key = "O", mods = "Control|Shift" }

regex =

"(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`\\\\]+"

## KEYBOARD
This section documents the [keyboard] table of the configuration file.

bindings = [{ <key>, <mods>, <mode>, <command> | <chars> | <action> },]

To unset a default binding, you can use the action "ReceiveChar" to remove it or "None" to inhibit any action. Multiple keybindings can be triggered by a single key press and will be executed in the order they are defined in.

key = "<string>"

The regular keys like "A", "0", and "Я" can be mapped directly without any special syntax. Full list of named keys like "F1" and the syntax for dead keys can be found here: https://docs.rs/winit/latest/winit/keyboard/enum.NamedKey.html

https://docs.rs/winit/latest/winit/keyboard/enum.Key.html#variant.Dead

Numpad keys are prefixed by Numpad: "NumpadEnter" | "NumpadAdd" | "NumpadComma" | "NumpadDecimal" | "NumpadDivide" | "NumpadEquals" | "NumpadSubtract" | "NumpadMultiply" | "Numpad[0-9]".

The key field also supports using scancodes, which are specified as a decimal number.

mods = "Command" | "Control" | "Option" | "Super" | "Shift" | "Alt"

Multiple modifiers can be combined using |, like this: "Control | Shift".

mode = "AppCursor" | "AppKeypad" | "Search" | "Alt" | "Vi"

This defines a terminal mode which must be active for this binding to have an effect. Prepending ~ to a mode will require the mode to not = be active for the binding to take effect.

Multiple modes can be combined using |, like this: "~Vi|Search".

command = "<string>" | { program = "<string>", args = ["<string>",] }

Fork and execute the specified command.

chars = "<string>"

Writes the specified string to the terminal.

action

ReceiveChar Allow receiving char input.

None No action.

Paste Paste contents of system clipboard.

Copy Store current selection into clipboard.

IncreaseFontSize Increase font size.

DecreaseFontSize Decrease font size.

ResetFontSize Reset font size to the config value.

ScrollPageUp Scroll exactly one page up.

ScrollPageDown Scroll exactly one page down.

ScrollHalfPageUp Scroll half a page up.

ScrollHalfPageDown Scroll half a page down.

ScrollLineUp Scroll one line up.

ScrollLineDown Scroll one line down.

ScrollToTop Scroll all the way to the top.

ScrollToBottom Scroll all the way to the bottom.

ClearHistory Clear the display buffer(s) to remove history.

Hide Hide the Alacritty window.

Minimize Minimize the Alacritty window.

Quit Quit Alacritty.

ClearLogNotice Clear warning and error notices.

SpawnNewInstance Spawn a new instance of Alacritty.

CreateNewWindow Create a new Alacritty window.

ToggleFullscreen Toggle fullscreen.

ToggleMaximized Toggle maximized.

ClearSelection Clear active selection.

ToggleViMode Toggle vi mode.

SearchForward Start a forward buffer search.

SearchBackward Start a backward buffer search.

Vi mode actions:

Up

Move up.

Down Move down.

Left Move left.

Right Move right.

First First column, or beginning of the line when already at the first column.

Last Last column, or beginning of the line when already at the last column.

FirstOccupied First non-empty cell in this terminal row, or first non-empty cell of the line when already at the first cell of the row.

High Move to top of screen.

Middle Move to center of screen.

Low Move to bottom of screen.

SemanticLeft Move to start of semantically separated word.

SemanticRight Move to start of next semantically separated word.

SemanticLeftEnd Move to end of previous semantically separated word.

SemanticRightEnd Move to end of semantically separated word.

WordLeft Move to start of whitespace separated word.

WordRight Move to start of next whitespace separated word.

WordLeftEnd Move to end of previous whitespace separated word.

WordRightEnd Move to end of whitespace separated word.

Bracket Move to opposing bracket.

ParagraphUp Move above the current paragraph.

ParagraphDown Move below the current paragraph.

ToggleNormalSelection Toggle normal vi selection.

ToggleLineSelection Toggle line vi selection.

ToggleBlockSelection Toggle block vi selection.

ToggleSemanticSelection Toggle semantic vi selection.

SearchNext Jump to the beginning of the next match.

SearchPrevious Jump to the beginning of the previous match.

SearchStart Jump to the next start of a match to the left of the origin.

SearchEnd Jump to the next end of a match to the right of the origin.

Open Launch the URL below the vi mode cursor.

CenterAroundViCursor Centers the screen around the vi mode cursor.

InlineSearchForward Search forward within the current line.

InlineSearchBackward Search backward within the current line.

InlineSearchForwardShort Search forward within the current line, stopping just short of the character.

InlineSearchBackwardShort Search backward within the current line, stopping just short of the character.

InlineSearchNext Jump to the next inline search match.

InlineSearchPrevious Jump to the previous inline search match.

SemanticSearchForward Search forward for selection or word under the cursor.

SemanticSearchBackward Search backward for selection or word under the cursor.

Search actions:

SearchFocusNext

Move the focus to the next search match.

SearchFocusPrevious Move the focus to the previous search match.

SearchConfirm Confirm the active search.

SearchCancel Cancel the active search.

SearchClear Reset the search regex.

SearchDeleteWord Delete the last word in the search regex.

SearchHistoryPrevious Go to the previous regex in the search history.

SearchHistoryNext Go to the next regex in the search history.

macOS exclusive:

ToggleSimpleFullscreen

Enter fullscreen without occupying another space.

HideOtherApplications Hide all windows other than Alacritty.

CreateNewTab Create new window in a tab.

SelectNextTab Select next tab.

SelectPreviousTab Select previous tab.

SelectTab1 Select the first tab.

SelectTab2 Select the second tab.

SelectTab3 Select the third tab.

SelectTab4 Select the fourth tab.

SelectTab5 Select the fifth tab.

SelectTab6 Select the sixth tab.

SelectTab7 Select the seventh tab.

SelectTab8 Select the eighth tab.

SelectTab9 Select the ninth tab.

SelectLastTab Select the last tab.

Linux/BSD exclusive:

CopySelection

Copy from the selection buffer.

PasteSelection Paste from the selection buffer.

Default: See alacritty-bindings(5)

Example:

[keyboard]

bindings = [

{ key = "N", mods = "Control|Shift", action = "CreateNewWindow" },

{ key = "L", mods = "Control|Shift", chars = "l" },

]

## DEBUG
This section documents the [debug] table of the configuration file.

Debug options are meant to help troubleshoot issues with Alacritty. These can change or be removed entirely without warning, so their stability shouldn't be relied upon.

render_timer = true | false

Display the time it takes to draw each frame. Default: false

persistent_logging = true | false

Keep the log file after quitting Alacritty. Default: false

log_level = "Off" | "Error" | "Warn" | "Info" | "Debug" | "Trace"

Default: "Warn" To add extra libraries to logging ALACRITTY_EXTRA_LOG_TARGETS variable can be used.

Example:

ALACRITTY_EXTRA_LOG_TARGETS="winit;vte" alacritty -vvv

renderer = "glsl3" | "gles2" | "gles2pure" | "None"

Force use of a specific renderer, "None" will use the highest available one. Default: "None"

print_events = true | false

Log all received window events. Default: false

highlight_damage = true | false

Highlight window damage information. Default: false

prefer_egl = true | false

Use EGL as display API if the current platform allows it. Note that transparency may not work with EGL on Linux/BSD. Default: false

## SEE ALSO
alacritty(1), alacritty-msg(1), alacritty-bindings(5), alacritty-escapes(7)

## BUGS
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.

## MAINTAINERS

- Christian Duerr <contact@christianduerr.com>

- Kirill Chibisov <contact@kchibisov.com>

branch: sisyphus


alacritty-bindings

title: alacritty-bindings(5)

text:
# alacritty-bindings(5)

## NAME
alacritty-bindings - Default configuration file bindings.

## SYNOPSIS
This page documents all key and mouse bindings for the default Alacritty configuration. See alacritty(5) for full configuration format documentation.

## MOUSE BINDINGS
mouse

mods

action

"Right"

"ExpandSelection"

"Right"

"Control"

"ExpandSelection"

"Middle"

"~Vi"

"PasteSelection"

## KEY BINDINGS
key

mods

mode

action / chars

"Paste"

"Paste"

"Copy"

"Copy"

"L"

"Control"

"ClearLogNotice"

"Paste"

"Vi|Search"

"Paste"

"L"

"Control"

"~Vi|~Search"

chars: "\u000c"

"PageUp"

"Shift"

"~Alt"

"ScrollPageUp"

"PageDown"

"Shift"

"~Alt"

"ScrollPageDown"

"Home"

"Shift"

"~Alt"

"ScrollToTop"

"End"

"Shift"

"~Alt"

"ScrollToBottom"

### Vi Mode
key

mods

mode

action

"Space"

"Shift|Control"

"~Search"

"ToggleViMode"

"Space"

"Shift|Control"

"Vi|~Search"

"ScrollToBottom"

"Escape"

"Vi|~Search"

"ClearSelection"

"I"

"Vi|~Search"

"ToggleViMode"

"I"

"Vi|~Search"

"ScrollToBottom"

"C"

"Control"

"Vi|~Search"

"ToggleViMode"

"Y"

"Control"

"Vi|~Search"

"ScrollLineUp"

"E"

"Control"

"Vi|~Search"

"ScrollLineDown"

"G"

"Vi|~Search"

"ScrollToTop"

"G"

"Shift"

"Vi|~Search"

"ScrollToBottom"

"B"

"Control"

"Vi|~Search"

"ScrollPageUp"

"F"

"Control"

"Vi|~Search"

"ScrollPageDown"

"U"

"Control"

"Vi|~Search"

"ScrollHalfPageUp"

"D"

"Control"

"Vi|~Search"

"ScrollHalfPageDown"

"Y"

"Vi|~Search"

"Copy"

"Y"

"Vi|~Search"

"ClearSelection"

"Copy"

"Vi|~Search"

"ClearSelection"

"Y"

"Shift"

"Vi|~Search"

"ToggleNormalSelection"

"Y"

"Shift"

"Vi|~Search"

"Last"

"Y"

"Shift"

"Vi|~Search"

"Copy"

"Y"

"Shift"

"Vi|~Search"

"ClearSelection"

"V"

"Vi|~Search"

"ToggleNormalSelection"

"V"

"Shift"

"Vi|~Search"

"ToggleLineSelection"

"V"

"Control"

"Vi|~Search"

"ToggleBlockSelection"

"V"

"Alt"

"Vi|~Search"

"ToggleSemanticSelection"

"Enter"

"Vi|~Search"

"Open"

"Z"

"Vi|~Search"

"CenterAroundViCursor"

"F"

"Vi|~Search"

"InlineSearchForward"

"F"

"Shift"

"Vi|~Search"

"InlineSearchBackward"

"T"

"Vi|~Search"

"InlineSearchForwardShort"

"T"

"Shift"

"Vi|~Search"

"InlineSearchBackwardShort"

";"

"Vi|~Search"

"InlineSearchNext"

","

"Vi|~Search"

"InlineSearchPrevious"

"*"

"Shift"

"Vi|~Search"

"SemanticSearchForward"

"#"

"Shift"

"Vi|~Search"

"SemanticSearchBackward"

"K"

"Vi|~Search"

"Up"

"J"

"Vi|~Search"

"Down"

"H"

"Vi|~Search"

"Left"

"L"

"Vi|~Search"

"Right"

"ArrowUp"

"Vi|~Search"

"Up"

"ArrowDown"

"Vi|~Search"

"Down"

"ArrowLeft"

"Vi|~Search"

"Left"

"ArrowRight"

"Vi|~Search"

"Right"

"0"

"Vi|~Search"

"First"

"$"

"Shift"

"Vi|~Search"

"Last"

"Home"

"Vi|~Search"

"First"

"End"

"Vi|~Search"

"Last"

"^"

"Shift"

"Vi|~Search"

"FirstOccupied"

"H"

"Shift"

"Vi|~Search"

"High"

"M"

"Shift"

"Vi|~Search"

"Middle"

"L"

"Shift"

"Vi|~Search"

"Low"

"B"

"Vi|~Search"

"SemanticLeft"

"W"

"Vi|~Search"

"SemanticRight"

"E"

"Vi|~Search"

"SemanticRightEnd"

"B"

"Shift"

"Vi|~Search"

"WordLeft"

"W"

"Shift"

"Vi|~Search"

"WordRight"

"E"

"Shift"

"Vi|~Search"

"WordRightEnd"

"%"

"Shift"

"Vi|~Search"

"Bracket"

"{"

"Shift"

"Vi|~Search"

"ParagraphUp"

"}"

"Shift"

"Vi|~Search"

"ParagraphDown"

"/"

"Vi|~Search"

"SearchForward"

"?"

"Shift"

"Vi|~Search"

"SearchBackward"

"N"

"Vi|~Search"

"SearchNext"

"N"

"Shift"

"Vi|~Search"

"SearchPrevious"

### Search Mode
key

mods

mode

action

"Enter"

"Search|Vi"

"SearchConfirm"

"Escape"

"Search"

"SearchCancel"

"C"

"Control"

"Search"

"SearchCancel"

"U"

"Control"

"Search"

"SearchClear"

"W"

"Control"

"Search"

"SearchDeleteWord"

"P"

"Control"

"Search"

"SearchHistoryPrevious"

"N"

"Control"

"Search"

"SearchHistoryNext"

"ArrowUp"

"Search"

"SearchHistoryPrevious"

"ArrowDown"

"Search"

"SearchHistoryNext"

"Enter"

"Search|~Vi"

"SearchFocusNext"

### Windows, Linux, and BSD only
key

mods

mode

action

"V"

"Control|Shift"

"~Vi"

"Paste"

"V"

"Control|Shift"

"Vi|Search"

"Paste"

"C"

"Control|Shift"

"Copy"

"F"

"Control|Shift"

"~Search"

"SearchForward"

"B"

"Control|Shift"

"~Search"

"SearchBackward"

"C"

"Control|Shift"

"Vi|~Search"

"ClearSelection"

"Insert"

"Shift"

"PasteSelection"

"0"

"Control"

"ResetFontSize"

"="

"Control"

"IncreaseFontSize"

"+"

"Control"

"IncreaseFontSize"

"NumpadAdd"

"Control"

"IncreaseFontSize"

"-"

"Control"

"DecreaseFontSize"

"NumpadSubtract"

"Control"

"DecreaseFontSize"

### Windows only
key

mods

mode

action

"Enter"

"Alt"

"ToggleFullscreen"

### macOS only
key

mods

mode

action / chars

"K"

"Command"

"~Vi|~Search"

chars: "\u000c"

"K"

"Command"

"~Vi|~Search"

"ClearHistory"

"0"

"Command"

"ResetFontSize"

"="

"Command"

"IncreaseFontSize"

"+"

"Command"

"IncreaseFontSize"

"NumpadAdd"

"Command"

"IncreaseFontSize"

"-"

"Command"

"DecreaseFontSize"

"NumpadSubtract"

"Command"

"DecreaseFontSize"

"V"

"Command"

"~Vi"

"Paste"

"V"

"Command"

"Vi|Search"

"Paste"

"C"

"Command"

"Copy"

"C"

"Command"

"Vi|~Search"

"ClearSelection"

"H"

"Command"

"Hide"

"H"

"Command|Alt"

"HideOtherApplications"

"M"

"Command"

"Minimize"

"Q"

"Command"

"Quit"

"W"

"Command"

"Quit"

"N"

"Command"

"CreateNewWindow"

"T"

"Command"

"CreateNewTab"

"F"

"Command|Control"

"ToggleFullscreen"

"F"

"Command"

"~Search"

"SearchForward"

"B"

"Command"

"~Search"

"SearchBackward"

"]"

"Command|Shift"

"SelectNextTab"

"["

"Command|Shift"

"SelectPreviousTab"

"Tab"

"Command"

"SelectNextTab"

"Tab"

"Command|Shift"

"SelectPreviousTab"

"1"

"Command"

"SelectTab1"

"2"

"Command"

"SelectTab2"

"3"

"Command"

"SelectTab3"

"4"

"Command"

"SelectTab4"

"5"

"Command"

"SelectTab5"

"6"

"Command"

"SelectTab6"

"7"

"Command"

"SelectTab7"

"8"

"Command"

"SelectTab8"

"9"

"Command"

"SelectLastTab"

## SEE ALSO
alacritty(1), alacritty-msg(1), alacritty(5), alacritty-escapes(7)

## BUGS
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.

## MAINTAINERS

- Christian Duerr <contact@christianduerr.com>

- Kirill Chibisov <contact@kchibisov.com>


ahttpd.acl.conf

package: alterator-fbi

title: ahttpd.acl.conf(5)

summary: ACL configuration file for ahttpd(8).

text:
# ahttpd.acl.conf(5)

## NAME
acl.conf - ACL configuration file for ahttpd(8).

## DESCRIPTION
ahttpd supports simple URL based access control. System administrator (account 'root') has access to all modules. Ordinary users have no access to modules by default but you can create operator accounts with restricted access rights. All settings for such users can be found in this config file.

You can edit this file manually or via system management center web interface.

## FORMAT
Each line is either a comment or a directive. Comment lines start with a # and are ignored. A directive line has the format:

url user1,user2,...

Example:

/a user1

In this case user 'user1' will have access to all URLs with prefix /a, e.g., /a or /a/b.

## AUTHOR
Stanislav Ievlev <inger@altlinux.org>

## SEE ALSO
ahttpd(8), ahttpd.conf(5)


ahttpd.conf

title: ahttpd.conf(5)

summary: main configuration file for ahttpd.

text:
# ahttpd.conf(5)

## NAME
ahttpd.conf - main configuration file for ahttpd.

## FORMAT
Each line is either a comment or a directive. Comment lines start with a # and are ignored. A directive line has the format:

option value

Option name is case sensitive.

## OPTIONS
server-listen

IP address where server should listen for incoming connections. Value * means listening to all available interfaces. Default value is *

server-port

TCP port to bind to. Default value is 8080

server-user

Unprivileged user account for server to run as. Standard value is _ahttpd

server-group

Unpriviledged group account for server to run as. Standard value is _ahttpd

server-pidfile

File where server saves its PID. ahttpd uses this file to determine if another copy is running. Standard path is /var/run/ahttpd.pid

server-host

Sometimes server creates a redirect response pointing to itself. There is no way for server to determine its externally known name. Every properly implemented HTTP/1.1 client should send this name as a part of request but it's very useful to have such a fallback. Default value is localhost

server-acl

server supports a simple url based access control. This refers to a configuration file for that. Default value is /etc/ahttpd/acl.conf

server-auth

All clients must be authenticated. Possible values of this parameter are none when authentication is turned off entirely, and session for session based authentication. Please note that in local mode server always turns off authentication. In this mode all users will be authenticated as user 'root'. Default value is session

log-file

Access log file. Server uses this file to write access results for incoming connections. Default path is /var/log/ahttpd/access.log

log-mode

Logging verbosity. Possible values are none (turned off), errors (errors only), and all (log everything). Standard value is errors, default value is none.

tls-key-file

File with server's private SSL key. Server needs this file for HTTPS protocol. Default path is /var/lib/ssl/private/ahttpd.key

tls-cert-file

File with server's public SSL certificate. Server needs this file for HTTPS protocol. Standard path is /var/lib/ssl/certs/ahttpd.cert

framework-uri

Server forms every page as two parts: module part and framework part. Framework part is a common part, e.g., menu. Standard path for System management center framework is /acc

login-uri

Path to login page definition. Standard path for login page is /login

logout-uri

Path to logout page definition. Standard path for logout page is /logout

## AUTHOR
Stanislav Ievlev <inger@altlinux.org>

## SEE ALSO
ahttpd(8), ahttpd.acl.conf(8)


anacrontab

package: anacron

title: anacrontab(5)

summary: configuration file for anacron

text:
# anacrontab(5)

## NAME
/etc/anacrontab - configuration file for anacron

## DESCRIPTION
The file /etc/anacrontab describes the jobs controlled by anacron(8). Its lines can be of three kinds: job-description lines, environment assignments, or empty lines.

Job-description lines are of the form:

period delay job-identifier command

The period is specified in days, the delay in minutes. The job-identifier can contain any non-blank character, except slashes. It is used to identify the job in Anacron messages, and as the name for the job's timestamp file. The command can be any shell command.

Environment assignment lines are of the form:

VAR = VALUE

Spaces around VAR are removed. No spaces around VALUE are allowed (unless you want them to be part of the value). The assignment takes effect from the next line to the end of the file, or to the next assignment of the same variable.

Empty lines are either blank lines, line containing white-space only, or lines with white-space followed by a '#' followed by an arbitrary comment.

## SEE ALSO
anacron(8)

The Anacron README file.

## AUTHOR
Itai Tzur <itzur@actcom.co.il>


and.conf

package: and

title: and.conf(5)

text:
# and.conf(5)

## NAME
/etc/and/and.conf - general configuration parameters for the auto nice daemon.

## VERSION
This manual page documents and.conf for and version 1.2.2.

## DESCRIPTION
This is the general configuration file for and. It stores settings like the default nice level, the renice intervals, the three stages of renicing, and the affinity of the priority database, i.e. the weight of (user, group, command) when resolving nice levels from the database. These settings are described below.

Comments start with a # in the first column. Empty lines are ignored. Unlike with other configuration files, lines cannot be concatenated with a backslash. Furthermore, this file is case sensitive.

and allows for host-specific sections in the configuration file. These work as lines of the form on somehost and work as follows: the parser determines if the host name (as returned by gethostname) matches the extended regular expression that follows the on keyword. If it does, it just keeps processing the file as if nothing had happened. If it does not match, however, everything up to the next on keyword is skipped. So if you want to end a host-specific section, you must write on .* (which matches all hosts) to switch back to normal.

Don't forget to kill -HUP the auto nice daemon to enable the changes.

## SETTINGS
defaultnice

The default nice level. A number between 0 and 19. Jobs for which no entry can be found in /etc/and/and.priorities are reniced to this level, regardless of the CPU time they've used so far. If you prefer to renice unknown jobs gradually, you can do so by supplying three asterisks as (user, group, command) tuple in /etc/and/and.priorities. The default nice level is 0

interval

The default interval between nice checks of the auto nice daemon, in seconds. This value can be overridden by the -i command-line option of and. The default interval is 60 seconds.

lv1time

lv2time

lv3time

Ranges for the nice levels. Jobs with less than lv1time seconds CPU time are not reniced; jobs between lv1time and lv2time seconds are reniced to the first level in an.priorities; jobs between lv2time and lv3time seconds to the second level; jobs with more than lv3time seconds are reniced to the third level. Defaults are 120 , 1200 , and 3600 seconds.

minuid, mingid

Minimum user id and group id to be considered for renicing. Processes whose user id is below minuid are left alone, as are processes with a group id of below mingid. (Note that even if you set minuid to zero, root processes are left alone.)

affinity

Strategy for picking the right priority entry for a user/group/job triple. The strategy is a permutation of "cgu", "c"ommand, "g"roup, "u"ser. The order specifies the affinity of the priority lookup method. Suppose you have an entry for all jobs of user foo, another entry for all jobs of group bar, and yet another entry for the command baz. Furthermore suppose user foo (who happens to belong to group bar ) starts a job named baz -- which entry should be chosen? This is what the affinity setting means, for example "cug" means an exact match of the command has priority over both an exact match of the user and the group. The default affinity is "cug", which is probably sensible for most cases, since it's the job which takes up CPU time, not the user or group ID.

## EXAMPLES
Default Configuration

\# This is the default configuration:

defaultnice 0

interval 60

lv1time 300

lv2time 1800

lv3time 3600

affinity cug

minuid 0

mingid 0

Default Configuration, with terminals

\# Normal default configuration for all

defaultnice 0

interval 60

lv1time 300

lv2time 1800

lv3time 3600

\# Hosts foo, bar, baz are terminals and must

\# be more responsive, so earlier renice.

on (foo|bar)

lv1time 120

lv2time 600

lv3time 1200

on .*

\# This is for all hosts again

affinity cug

Group-specific Hosts

defaultnice 0

interval 60

lv1time 300

lv2time 1800

lv3time 3600

\# Normal affinity for all hosts.

affinity cug

\# Hosts bar, baz belong to group foo, which

\# is privilegued on these hosts, so override

\# affinity. (Note regexp!)

on ba[rz]

affinity guc

on .*

minuid 500

mingid 100

## FILES
/etc/and.conf

General configuration file. Stores default nice level, default interval, the "time zones" and the database lookup affinity. This is what this manual page is about.

## SEE ALSO
and(8), and.priorities(5), kill(1), regex(7), renice(8)

## INTERNET
http://and.sourceforge.net/

## AUTHOR
The auto nice daemon and this manual page were written by Patrick Schemitz <schemitz@users.sourceforge.net>


and.priorities

title: and.priorities(5)

text:
# and.priorities(5)

## NAME
/etc/and/and.priorities - priority database for the auto nice daemon.

## VERSION
This manual page documents and.priorities for and version 1.2.2.

## DESCRIPTION
This is the priority database file for and. It stores (user, group, command, parent, nicelevels) tuples (hereafter called entries) to determine the new nice level (or the kill signal, for that matter) when a job reaches one of the time limits defined in /etc/and/and.conf. (See lv1time, lv2time, and lv3time on the and.conf manual page for details.) See the affinity setting in /etc/and/and.conf for how ambiguities between the fields (user, group, command, parent) are dealt with when searching the database to determine the new nice level for a job. Note that if more than one entry matches with the same accuracy (e.g. with a parent= entry and an ancestor= entry), the last entry wins!

Comments start with a # in the first column. Empty lines are ignored. Unlike with other configuration files, lines cannot be concatenated with a backslash. Furthermore, this file is case sensitive.

and allows for host-specific sections in the configuration file. These work as lines of the form on somehost and work as follows: the parser determines if the host name (as returned by gethostname) matches the extended regular expression that follows the on keyword. If it does, it just keeps processing the file as if nothing had happened. If it does not match, however, everything up to the next on keyword is skipped. So if you want to end a host-specific section, you must write on .* (which matches all hosts) to switch back to normal.

Don't forget to kill -HUP the auto nice daemon to enable the changes.

## SETTINGS
A valid entry consists of a line of six columns, separated by one or more spaces. These columns are: (in that order)

user

The user ID the command is running under. May be a user name (which will be looked up in the password file and, if enabled, via NIS), or a numeric user ID, or an asterisk for any user.

group

The group ID the command is running under. May be a group name (which will be looked up in the group file and again, if enabled, via NIS), or a numeric group ID, or an asterisk for any group.

command

The name of the command, without path. May be a command, a regular expression to match multiple commands, or an asterisk for any command. Note that "foobar" will not match "/usr/bin/foobar" - you probably mean ".*foobar" or even ".*foobar.*".

parent

There are two modes of operation for the parent field, determined by a keyword: parent=foobar will match if a process' direct parent process matches the command or regular expression after the equal sign, whereas ancestor=foobar will match if any ancestor process matches. After the keyword and the equal sign goes the name of the parent process, without path. May be a command, a regular expression to match multiple commands, or an asterisk for any command. (You can just use the asterisk if you want to ignore parents for this entry.) Note that again "foobar" will not match "/usr/bin/foobar", as with command.

nicelevel 1

The nice level after lv1time CPU time was used by the command. Positive numbers and 0 are interpreted as nice levels; negative numbers are interpreted as signals to be sent to the command. A "nice level" of 19 will almost stop the job, -9 will actually kill it. (Like in kill -9.) lv1time can be set in /etc/and.conf

nicelevel 2

Same but after lv2time.

nicelevel 3

Same but after lv3time.

## EXAMPLES
Here are some entries from the real world (i.e. from "my" cluster at the Institute). As lv[123]time, 5 min., 20 min., and 1 hour is assumed. (Which is the default. See /etc/and.conf for details.) You might also check the default priority database that comes with and.

\# A finer default nice level

* * * * 4 8 12

\# User dau is an idiot, so treat him like accordingly

dau * * * 19 19 19

\# Netscape sometimes goes berserk, we must stop it

* * netscape * 4 -9 -9

\# Most hosts are free for everyone but some are

\# especially for the FOO group

* * * * 4 8 12

on (bar|baz)

* * * * 8 12 16

\# ... or, more radical: * * * * -9 -9 -9

* foo * * 4 8 12

on .*

\# KDE screen savers...

* * .*kss * 16 16 16

\# Grid jobs (assuming they are started by a master

\# process)

* * * ancestor=grid_master 10 10 10

\# Now some clever yet deceitful user might start all

\# his jobs using a shell script named grid_master.

\# He shall regret... whereas the original grid_master

\# (owned by grid) is left alone.

* * grid_master * -9 -9 -9

grid * grid_master * 0 0 0

## FILES
/etc/and/and.priorities

The priority database (in plain text). Contains the (user, group, command, nicelevels) tuples. This is what this manual page is about.

## SEE ALSO
and(8), and.conf(5), kill(1), regex(7), renice(8)

## INTERNET
http://and.sourceforge.net/

## AUTHOR
The auto nice daemon and this manual page were written by Patrick Schemitz <schemitz@users.sourceforge.net>


apcupsd.conf

package: apcupsd

title: apcupsd.conf(5)

summary: apcupsd(8) configuration file

text:
# apcupsd.conf(5)

## NAME
apcupsd.conf — apcupsd(8) configuration file

## DESCRIPTION
apcupsd.conf is the configuration file for the apcupsd(8) program. The file is a plain ASCII text file which comprises a number of configuration directives which control how the apcupsd program behaves when controlling most American Power Conversion Corp (APC) UPSes. The configuration file is also used for the apctest(8) program when bulk programming the EEPROM in a Smart-UPS model.

It will almost certainly be necessary to customise the information in the configuration file to suit your particular configuration and operating requirements.

Note that the apcupsd daemon must be restarted in order for changes to the configuration file to become active.

The configuration file directives are explained in the subsections below.

### GENERAL CONFIGURATION DIRECTIVES
UPSNAME <string>

Specify a name for the UPS for log files, status reports etc.

UPSCABLE [ simple | smart | ether | usb | 940-0119A | 940-0127A | 940-0128A | 940-0020B | 940-0020C | 940-0023A | 940-0024B | 940-0024C | 940-1524C | 940-0024G | 940-0095A | 940-0095B | 940-0095C | 940-0625A | MAM-04-02-2000 ]

The type of cable used to connect the UPS to the computer.

UPSTYPE [ dumb | apcsmart | net | usb | snmp | pcnet | modbus |test ]

The type of APC UPS that you have.

DEVICE <name>

The name of the device used for communication between the UPS and the computer. For a USB UPS, you should leave the DEVICE directive blank and apcupsd will figure out where the device is located.

- apcsmart : /dev/tty** (serial connection)

- usb : leave blank! (USB connection)

- net : hostname:port (NIS connection)

- snmp : hostname:port:vendor:community (SNMP connection)

- dumb : /dev/tty** (serial connection)

- pcnet : ipaddr:username:passphrase (AP9617 SmartSlot card)

- modbus : /dev/tty** (serial connection)

- modbus : leave blank (USB connection)

If you have problems, please see the apcupsd manual for more detailed information and comprehensive troubleshooting advice.

POLLTIME <seconds>

The rate in seconds that the daemon polls the UPS for status. This rate is automatically set to 1 second when the UPS goes on battery and reset to the specified value when the utility power returns. This setting applies both to directly-attached UPSes and networked UPSes. A low setting will improve the daemon's responsiveness to certain events at the cost of higher CPU utilisation. The default of 60 is appropriate for most situations.

LOCKFILE <path>

apcupsd creates a lockfile for the serial or USB port in the specified directory. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

SCRIPTDIR <path>

Directory in which apccontrol and event scripts are located. Defaults to /usr/local/etc/apcupsd. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

PWRFAILDIR <path>

Directory in which apcupsd writes the powerfail flag file created when apcupsd initiates a system shutdown. The directory is checked in halt scripts to determine if turning off the UPS output power is required. Defaults to /var/run. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

NOLOGINDIR <path>

Directory in which apcupsd writes the nologin file which tells the OS to disallow new logins. Defaults to /var/run. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

### NIS CONFIGURATION DIRECTIVES
NETSERVER [ on | off ]

Turns the network information server (NIS) on or off. When on, apcupsd serves status and event information over the network. This information is also used by the web-based CGI monitoring programs. The default is set to on.

NISIP <IP address>

Specifies the IP address of the network interface on which apcupsd will listen for incoming connections. The default value is 0.0.0.0 which means the NIS will listen for connections on all network interfaces. If the computer has more than one interface, you can specify the IP of a single interface to limit connections to that interface. Specifying the loopback address (127.0.0.1) will cause the NIS daemon to accept connections only from the local computer.

NISPORT <port>

Specifies the port to be used by the NIS daemon. The default is 3551 which has been received from IANA as the official apcupsd networking port. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

EVENTSFILE <filename>

If you want NIS to provide the last 10 events via the network, you must specify a file where apcupsd will save these events. The default is: /var/log/apcupsd.events. apcupsd will save at most the last 50 events to this file. When more than 50 events are saved and a network request for the events arrives, apcupsd will truncate the file to the most recent 10 events. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

### LOGGING CONFIGURATION DIRECTIVES
STATTIME <seconds>

Specifies the time interval between writes to the status file. If set to zero, the status file will not be written. The status file will disappear in a future apcupsd version as its functionality has been replaced by the Network Information Server and the apcaccess(8) program.

STATFILE <file>

Specifies the file to be used when writing the status information. The default is /etc/apcupsd/apcupsd.status. It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

LOGSTATS [ on | off ]

Activate log file. This generates a lot of output, so if you turn this on, be sure that the file defined in syslog.conf(5) for LOG_NOTICE is a named pipe.

DATATIME <seconds>

Specifies the time interval between writes of the APC PowerChute software-like data information to the log file.

FACILITY <log-facility>

Change the system logging (syslog) facility. The default is daemon. This parameter can be useful if you wish to direct the apcupsd system logging information to other than your system default files. See syslog.conf(5) for details of other possible facilities and general system logging configuration.

### POWER FAILURE CONFIGURATION DIRECTIVES
ONBATTERYDELAY <seconds>

The number of seconds from when a power failure is detected until apcupsd reacts with an onbattery event.

BATTERYLEVEL <percentage>

apcupsd will shutdown the system during a power failure when the remaining battery charge falls below the specified percentage. The default is 5.

MINUTES <minutes>

apcupsd will shutdown the system during a power failure when the remaining runtime on batteries as internally calculated by the UPS falls below the specified minutes. The default is 3.

TIMEOUT <seconds>

After a power failure occurs, apcupsd will shutdown the system after the specified number of seconds have expired. For a Smart-UPS, this should normally be set to zero so that the shutdown time will be determined by the battery level or remaining runtime (see above). This command is, however, useful for a Back-UPS or other simple signalling UPS which does not report battery level or the remaining runtime. It is also useful for testing apcupsd because you can force a rapid shutdown by setting a small value (eg 60) and turning off the power to the UPS.

TIMEOUT, BATTERYLEVEL, and MINUTES can all be set without problems. apcupsd will initiate a shutdown when the first of these conditions becomes valid.

ANNOY <seconds>

Specifies the time in seconds between broadcast messages requesting logged in users to log off from the system. This timer starts only when the UPS is running on battery. The default is 300 seconds (5 minutes).

ANNOYDELAY <seconds>

Specifies the delay time in seconds before broadcast messages requesting logged in users to log off from the system. This timer starts only after the UPS is running on battery power. This timer is reset when the power returns. The default is 60 seconds (ie the first request to log off occurs after 60 seconds on battery power).

NOLOGON [ disable | timeout | percent | minutes | always ]

Specifies when apcupsd should create the nologon file to prevent users from logging on to the system.

"disable" prevents apcupsd from creating the nologin file.

"timeout" specifies a specific wait time before apcupsd creates the nologin file.

"percent" specifies the percentage of battery charge remaining before apcupsd creates the nologin file.

"minutes" specifies the battery runtime remaining before apcupsd creates the nologin file.

"always" specifies that apcupsd should create the nologin file immediately after a power failure occurs.

This directive is important for allowing systems with BIG UPSes to run normally until the system administrator determines the need for dumping users. It also allows the system administrator to hold the "ANNOY" factor until the /etc/nologin file is created.

KILLDELAY <seconds>

Specifies the number of seconds for which apcupsd will continue running after a shutdown has been requested. After the specified time, apcupsd will attempt to put the UPS into hibernate mode and kill the power to the computer. This is for use on operating systems where apcupsd cannot regain control after a shutdown (eg FreeBSD) to issue an apcupsd --killpower command. Setting the delay to 0 disables it.

### SHARE-UPS CONFIGURATION DIRECTIVES
UPSCLASS [ standalone | shareslave | sharemaster ]

The default is "standalone" and should be used for all computers powered by the UPS, with a direct connection to the UPS and where there are no other computers dependent on power from the UPS. This is the "normal" case.

Use "shareslave" if you are using a Share-UPS interface expander and connected to the BASIC port (simple signalling).

Use "sharemaster", if you are using a Share-UPS interface expander and connected to the ADVANCED port (smart signalling).

UPSMODE [ disable | share ]

Set to "disable" for normal standalone operation to indicate that you are disabling the Share-UPS interface expander support.

Set to "share" for two to seven additional simple signalling ports on a Share-UPS interface expander. This code may not be fully tested in every new release.

### APCTEST EEPROM CONFIGURATION DIRECTIVES
These directives have no effect on the operation of apcupsd(8) but are reserved for use by apctest(8) when bulk programming the values of the UPS EEPROM configuration variables in a Smart-UPS model.

UPSNAME <string>

Name of UPS. Maximum of 8 characters.

BATTDATE [ mm/dd/yy | dd/mm/yy ]

Last battery replacement date. Maximum of 8 characters.

SENSITIVITY [ H | M | L ]

- H : High (most sensitive setting)

- M : Medium

- L : Low (least sensitive setting)

WAKEUP [ 000 | 060 | 180 | 300 ]

The time delay in seconds that the UPS waits after the return of utility power before "waking up" and restoring power to the connected equipment.

SLEEP [ 020 | 180 | 300 | 600 ]

The time delay in seconds for which the UPS waits or "sleeps" after it receives a request to power off the connected system.

LOTRANSFER <voltage>

Low line voltage causing transfer to battery power or activation of SmartBoost. Allowable values depend on the last letter of the firmware or APCMODEL. Typical values are:

D 106 103 100 097

M 177 172 168 182

A 092 090 088 086

I 208 204 200 196

where D = domestic (USA), M = Canada, A = Asia and I = International.

HITRANSFER <voltage>

High line voltage causing transfer to battery power or activation of SmartTrim. Allowable values depend on the last letter of the firmware or APCMODEL. Typical values are:

D 127 130 133 136

M 229 234 239 224

A 108 110 112 114

I 253 257 261 265

where D = domestic (USA), M = Canada, A = Asia and I = International.

RETURNCHARGE [ 00 | 15 | 50 | 90 ]

Percentage of battery charge needed for the UPS to restore power to the connected equipment.

BEEPSTATE [ 0 | T | L | N ]

Alarm delay.

- 0 : Zero delay after power fails.

- T : When power fails plus 30 seconds.

- L : When low battery occurs.

- N : Never.

LOWBATT <minutes>

Low battery warning occurs when the specified number of minutes remains before the UPS estimates battery power will be exhausted. There are four user-changeable settings: 2, 5, 7, or 10 minutes

OUTPUTVOLTS <voltage>

UPS nominal output voltage when running on battery. Allowable values depend on the last letter of the firmware or APCMODEL. Typical values are:

D 115

M 208

A 100

I 230 240 220 225

where D = domestic (USA), M = Canada, A = Asia and I = International.

SELFTEST [ 336 | 168 | ON | OFF ]

Self test interval in hours (336 = 2 weeks, 168 = 1 week, ON = at power on, OFF = never).

## EXAMPLES
Note that in the following examples, the device names assume that you are using Linux. Device names for serial devices in *BSD and other operating systems will be different.

### Minimal USB Configuration for a USB UPS

UPSCABLE usb

UPSTYPE usb

DEVICE

LOCKFILE /var/lock

UPSCLASS standalone

UPSMODE disable

Notice no device name is specified. apcupsd(8) will try all the well known USB ports. Only specify a specific USB device name if you know what you are doing. For detailed information on setting up a USB UPS, refer to the "USB Configuration" section of the apcupsd manual.

### Minimal Serial Configuration for a Smart UPS

UPSCABLE smart

UPSTYPE apcsmart

DEVICE /dev/ttyS0

LOCKFILE /var/lock

UPSCLASS standalone

UPSMODE disable

Normally there would be more configuration directives to completely customise your installation, but this example shows the minimum required.

### Minimal Serial Configuration for a Dumb UPS

UPSCABLE <number of the cable used>

UPSTYPE dumb

DEVICE /dev/ttyS0

LOCKFILE /var/lock

UPSCLASS standalone

UPSMODE disable

If your cable does not have low battery detection (eg such cables include the APC 940-0020B and 940-0023A), you will also need to define the TIMEOUT <seconds> configuration directive to set the number of seconds on battery during a power failure after which apcupsd will do a system shutdown.

Normally there would be more configuration directives to completely customise your installation, but this example shows the minimum required.

## FILES
/etc/apcupsd/apcupsd.conf default configuration file

## SEE ALSO
syslog.conf(5), apcupsd(8), apctest(8).

The HTML apcupsd manual installed on your system or available online at http://www.apcupsd.org/

## AUTHORS
Trevor Roydhouse (current)

Andre M. Hedrick

Christopher J. Reimer