neulab/tldr huggingface dataset:
Files • ~/.nix-defexpr The source for the default Nix expressions used by the --install, --upgrade, and --query --available operations to obtain derivations. The --file option may be used to override this default.
If ~/.nix-defexpr is a file, it is loaded as a Nix expression. If the expression is a set, it is used as the default Nix expression.  If the expression is a function, an empty set is passed as argument and the return value is used as the default Nix expression.
If ~/.nix-defexpr is a directory containing a default.nix file, that file is loaded as in the above paragraph.
If ~/.nix-defexpr is a directory without a default.nix file, then its contents (both files and subdirectories) are loaded as Nix expressions. The expressions are combined into a single set, each expression under an attribute with the same name as the original file or subdirectory.
For example, if ~/.nix-defexpr contains two files, foo.nix and bar.nix, then the default Nix expression will essentially be
{ foo = import ~/.nix-defexpr/foo.nix; bar = import ~/.nix-defexpr/bar.nix; }
The file manifest.nix is always ignored. Subdirectories without a default.nix file are traversed recursively in search of more Nix expressions, but the names of these intermediate directories are not added to the attribute paths of the default Nix expression.
The command nix-channel places symlinks to the downloaded Nix expressions from each subscribed channel in this directory.
• ~/.nix-profile A symbolic link to the user’s current profile. By default, this symlink points to prefix/var/nix/profiles/default. The PATH environment variable should include ~/.nix-profile/bin for the user environment to be visible to the user.
Operation --install Synopsis nix-env {--install | -i} args… [{--prebuilt-only | -b}] [{--attr | -A}] [--from-expression] [-E] [--from-profile path] [--preserve-installed | -P] [--remove-all | -r]
Description The install operation creates a new user environment, based on the current generation of the active profile, to which a set of store paths described by args is added. The arguments args map to store paths in a number of possible ways:
• By default, args is a set of derivation names denoting derivations in the active Nix expression. These are realised, and the resulting output paths are installed. Currently installed derivations with a name equal to the name of a derivation being added are removed unless the option --preserve-installed is specified.
If there are multiple derivations matching a name in args that have the same name (e.g., gcc-3.3.6 and gcc-4.1.1), then the derivation with the highest priority is used. A derivation can define a priority by declaring the meta.priority attribute. This attribute should be a number, with a higher value denoting a lower priority. The default priority is 0.
If there are multiple matching derivations with the same priority, then the derivation with the highest version will be installed.
You can force the installation of multiple derivations with the same name by being specific about the versions. For instance, nix-env -i gcc-3.3.6 gcc-4.1.1 will install both version of GCC (and will probably cause a user environment conflict!).
• If --attr (-A) is specified, the arguments are attribute paths that select attributes from the top-level Nix expression. This is faster than using derivation names and unambiguous. To find out the attribute paths of available packages, use nix-env -qaP.
• If --from-profile path is given, args is a set of names denoting installed store paths in the profile path. This is an easy way to copy user environment elements from one profile to another.
• If --from-expression is given, args are Nix functions (../expressions/language-constructs.md#functions) that are called with the active Nix expression as their single argument. The derivations returned by those function calls are installed. This allows derivations to be specified in an unambiguous way, which is necessary if there are multiple derivations with the same name.
• If args are store derivations, then these are realised (nix- store.md#operation---realise), and the resulting output paths are installed.
• If args are store paths that are not store derivations, then these are realised (nix-store.md#operation---realise) and installed.
• By default all outputs are installed for each derivation. That can be reduced by setting meta.outputsToInstall.
Flags • --prebuilt-only / -b Use only derivations for which a substitute is registered, i.e., there is a pre-built binary available that can be downloaded in lieu of building the derivation. Thus, no packages will be built from source.
• --preserve-installed; -P Do not remove derivations with a name matching one of the derivations being installed. Usually, trying to have two versions of the same package installed in the same generation of a profile will lead to an error in building the generation, due to file name clashes between the two versions. However, this is not the case for all packages.
• --remove-all; -r Remove all previously installed packages first. This is equivalent to running nix-env -e '.*' first, except that everything happens in a single transaction.
Examples To install a specific version of gcc from the active Nix expression:
$ nix-env --install gcc-3.3.2 installing `gcc-3.3.2' uninstalling `gcc-3.1'
Note the previously installed version is removed, since --preserve- installed was not specified.
To install an arbitrary version:
$ nix-env --install gcc installing `gcc-3.3.2'
To install using a specific attribute:
$ nix-env -i -A gcc40mips $ nix-env -i -A xorg.xorgserver
To install all derivations in the Nix expression foo.nix:
$ nix-env -f ~/foo.nix -i '.*'
To copy the store path with symbolic name gcc from another profile:
$ nix-env -i --from-profile /nix/var/nix/profiles/foo gcc
To install a specific store derivation (typically created by nix- instantiate):
$ nix-env -i /nix/store/fibjb1bfbpm5mrsxc4mh2d8n37sxh91i-gcc-3.4.3.drv
To install a specific output path:
$ nix-env -i /nix/store/y3cgx0xj1p4iv9x0pnnmdhr8iyg741vk-gcc-3.4.3
To install from a Nix expression specified on the command-line:
$ nix-env -f ./foo.nix -i -E \ 'f: (f {system = "i686-linux";}).subversionWithJava'
I.e., this evaluates to (f: (f {system = "i686-linux";}).subversionWithJava) (import ./foo.nix), thus selecting the subversionWithJava attribute from the set returned by calling the function defined in ./foo.nix.
A dry-run tells you which paths will be downloaded or built from source:
$ nix-env -f '<nixpkgs>' -iA hello --dry-run (dry run; not doing anything) installing ‘hello-2.10’ this path will be fetched (0.04 MiB download, 0.19 MiB unpacked): /nix/store/wkhdf9jinag5750mqlax6z2zbwhqb76n-hello-2.10 ...
To install Firefox from the latest revision in the Nixpkgs/NixOS 14.12 channel:
$ nix-env -f https://github.com/NixOS/nixpkgs/archive/nixos-14.12.tar.gz -iA firefox
Operation --upgrade Synopsis nix-env {--upgrade | -u} args [--lt | --leq | --eq | --always] [{--prebuilt-only | -b}] [{--attr | -A}] [--from-expression] [-E] [--from-profile path] [--preserve-installed | -P]
Description The upgrade operation creates a new user environment, based on the current generation of the active profile, in which all store paths are replaced for which there are newer versions in the set of paths described by args. Paths for which there are no newer versions are left untouched; this is not an error. It is also not an error if an element of args matches no installed derivations.
For a description of how args is mapped to a set of store paths, see --install (#operation---install). If args describes multiple store paths with the same symbolic name, only the one with the highest version is installed.
Flags • --lt Only upgrade a derivation to newer versions. This is the default.
• --leq In addition to upgrading to newer versions, also “upgrade” to derivations that have the same version. Version are not a unique identification of a derivation, so there may be many derivations that have the same version. This flag may be useful to force “synchronisation” between the installed and available derivations.
• --eq Only “upgrade” to derivations that have the same version. This may not seem very useful, but it actually is, e.g., when there is a new release of Nixpkgs and you want to replace installed applications with the same versions built against newer dependencies (to reduce the number of dependencies floating around on your system).
• --always In addition to upgrading to newer versions, also “upgrade” to derivations that have the same or a lower version. I.e., derivations may actually be downgraded depending on what is available in the active Nix expression.
For the other flags, see --install.
Examples $ nix-env --upgrade gcc upgrading `gcc-3.3.1' to `gcc-3.4'
$ nix-env -u gcc-3.3.2 --always (switch to a specific version) upgrading `gcc-3.4' to `gcc-3.3.2'
$ nix-env --upgrade pan (no upgrades available, so nothing happens)
$ nix-env -u (try to upgrade everything) upgrading `hello-2.1.2' to `hello-2.1.3' upgrading `mozilla-1.2' to `mozilla-1.4'
Versions The upgrade operation determines whether a derivation y is an upgrade of a derivation x by looking at their respective name attributes.  The names (e.g., gcc-3.3.1 are split into two parts: the package name (gcc), and the version (3.3.1). The version part starts after the first dash not followed by a letter. x is considered an upgrade of y if their package names match, and the version of y is higher that that of x.
The versions are compared by splitting them into contiguous components of numbers and letters. E.g., 3.3.1pre5 is split into [3, 3, 1, "pre", 5]. These lists are then compared lexicographically (from left to right). Corresponding components a and b are compared as follows.  If they are both numbers, integer comparison is used. If a is an empty string and b is a number, a is considered less than b. The special string component pre (for pre-release) is considered to be less than other components. String components are considered less than number components. Otherwise, they are compared lexicographically (i.e., using case-sensitive string comparison).
This is illustrated by the following examples:
1.0 < 2.3 2.1 < 2.3 2.3 = 2.3 2.5 > 2.3 3.1 > 2.3 2.3.1 > 2.3 2.3.1 > 2.3a 2.3pre1 < 2.3 2.3pre3 < 2.3pre12 2.3a < 2.3c 2.3pre1 < 2.3c 2.3pre1 < 2.3q
Operation --uninstall Synopsis nix-env {--uninstall | -e} drvnames…
Description The uninstall operation creates a new user environment, based on the current generation of the active profile, from which the store paths designated by the symbolic names drvnames are removed.
Examples $ nix-env --uninstall gcc $ nix-env -e '.*' (remove everything)
Operation --set Synopsis nix-env --set drvname
Description The --set operation modifies the current generation of a profile so that it contains exactly the specified derivation, and nothing else.
Examples The following updates a profile such that its current generation will contain just Firefox:
$ nix-env -p /nix/var/nix/profiles/browser --set firefox
Operation --set-flag Synopsis nix-env --set-flag name value drvnames
Description The --set-flag operation allows meta attributes of installed packages to be modified. There are several attributes that can be usefully modified, because they affect the behaviour of nix-env or the user environment build script:
• priority can be changed to resolve filename clashes. The user environment build script uses the meta.priority attribute of derivations to resolve filename collisions between packages. Lower priority values denote a higher priority. For instance, the GCC wrapper package and the Binutils package in Nixpkgs both have a file bin/ld, so previously if you tried to install both you would get a collision. Now, on the other hand, the GCC wrapper declares a higher priority than Binutils, so the former’s bin/ld is symlinked in the user environment.
• keep can be set to true to prevent the package from being upgraded or replaced. This is useful if you want to hang on to an older version of a package.
• active can be set to false to “disable” the package. That is, no symlinks will be generated to the files of the package, but it remains part of the profile (so it won’t be garbage-collected). It can be set back to true to re-enable the package.
Examples To prevent the currently installed Firefox from being upgraded:
$ nix-env --set-flag keep true firefox
After this, nix-env -u will ignore Firefox.
To disable the currently installed Firefox, then install a new Firefox while the old remains part of the profile:
$ nix-env -q firefox-2.0.0.9 (the current one)
$ nix-env --preserve-installed -i firefox-2.0.0.11 installing `firefox-2.0.0.11' building path(s) `/nix/store/myy0y59q3ig70dgq37jqwg1j0rsapzsl-user-environment' collision between `/nix/store/...-firefox-2.0.0.11/bin/firefox' and `/nix/store/...-firefox-2.0.0.9/bin/firefox'. (i.e., can’t have two active at the same time)
$ nix-env --set-flag active false firefox setting flag on `firefox-2.0.0.9'
$ nix-env --preserve-installed -i firefox-2.0.0.11 installing `firefox-2.0.0.11'
$ nix-env -q firefox-2.0.0.11 (the enabled one) firefox-2.0.0.9 (the disabled one)
To make files from binutils take precedence over files from gcc:
$ nix-env --set-flag priority 5 binutils $ nix-env --set-flag priority 10 gcc
Operation --query Synopsis nix-env {--query | -q} names… [--installed | --available | -a] [{--status | -s}] [{--attr-path | -P}] [--no-name] [{--compare-versions | -c}] [--system] [--drv-path] [--out-path] [--description] [--meta] [--xml] [--json] [{--prebuilt-only | -b}] [{--attr | -A} attribute-path]
Description The query operation displays information about either the store paths that are installed in the current generation of the active profile (--installed), or the derivations that are available for installation in the active Nix expression (--available). It only prints information about derivations whose symbolic name matches one of names.
The derivations are sorted by their name attributes.
Source selection The following flags specify the set of things on which the query operates.
• --installed The query operates on the store paths that are installed in the current generation of the active profile. This is the default.
• --available; -a The query operates on the derivations that are available in the active Nix expression.
Queries The following flags specify what information to display about the selected derivations. Multiple flags may be specified, in which case the information is shown in the order given here. Note that the name of the derivation is shown unless --no-name is specified.
• --xml Print the result in an XML representation suitable for automatic processing by other tools. The root element is called items, which contains a item element for each available or installed derivation. The fields discussed below are all stored in attributes of the item elements.
• --json Print the result in a JSON representation suitable for automatic processing by other tools.
• --prebuilt-only / -b Show only derivations for which a substitute is registered, i.e., there is a pre-built binary available that can be downloaded in lieu of building the derivation. Thus, this shows all packages that probably can be installed quickly.
• --status; -s Print the status of the derivation. The status consists of three characters. The first is I or -, indicating whether the derivation is currently installed in the current generation of the active profile. This is by definition the case for --installed, but not for --available. The second is P or -, indicating whether the derivation is present on the system. This indicates whether installation of an available derivation will require the derivation to be built. The third is S or -, indicating whether a substitute is available for the derivation.
• --attr-path; -P Print the attribute path of the derivation, which can be used to unambiguously select it using the --attr option available in commands that install derivations like nix-env --install. This option only works together with --available
• --no-name Suppress printing of the name attribute of each derivation.
• --compare-versions / -c Compare installed versions to available versions, or vice versa (if --available is given). This is useful for quickly seeing whether upgrades for installed packages are available in a Nix expression. A column is added with the following meaning:
• < version A newer version of the package is available or installed.
• = version At most the same version of the package is available or installed.
• > version Only older versions of the package are available or installed.
• - ? No version of the package is available or installed.
• --system Print the system attribute of the derivation.
• --drv-path Print the path of the store derivation.
• --out-path Print the output path of the derivation.
• --description Print a short (one-line) description of the derivation, if available. The description is taken from the meta.description attribute of the derivation.
• --meta Print all of the meta-attributes of the derivation. This option is only available with --xml or --json.
Examples To show installed packages:
$ nix-env -q bison-1.875c docbook-xml-4.2 firefox-1.0.4 MPlayer-1.0pre7 ORBit2-2.8.3 …
To show available packages:
$ nix-env -qa firefox-1.0.7 GConf-2.4.0.1 MPlayer-1.0pre7 ORBit2-2.8.3 …
To show the status of available packages:
$ nix-env -qas -P- firefox-1.0.7   (not installed but present) --S GConf-2.4.0.1   (not present, but there is a substitute for fast installation) --S MPlayer-1.0pre3 (i.e., this is not the installed MPlayer, even though the version is the same!) IP- ORBit2-2.8.3    (installed and by definition present) …
To show available packages in the Nix expression foo.nix:
$ nix-env -f ./foo.nix -qa foo-1.2.3
To compare installed versions to what’s available:
$ nix-env -qc ... acrobat-reader-7.0 - ?      (package is not available at all) autoconf-2.59      = 2.59   (same version) firefox-1.0.4      < 1.0.7  (a more recent version is available) ...
To show all packages with “zip” in the name:
$ nix-env -qa '.*zip.*' bzip2-1.0.6 gzip-1.6 zip-3.0 …
To show all packages with “firefox” or “chromium” in the name:
$ nix-env -qa '.*(firefox|chromium).*' chromium-37.0.2062.94 chromium-beta-38.0.2125.24 firefox-32.0.3 firefox-with-plugins-13.0.1 …
To show all packages in the latest revision of the Nixpkgs repository:
$ nix-env -f https://github.com/NixOS/nixpkgs/archive/master.tar.gz -qa
Operation --switch-profile Synopsis nix-env {--switch-profile | -S} path
Description This operation makes path the current profile for the user. That is, the symlink ~/.nix-profile is made to point to path.
Examples $ nix-env -S ~/my-profile
Operation --list-generations Synopsis nix-env --list-generations
Description This operation print a list of all the currently existing generations for the active profile. These may be switched to using the --switch- generation operation. It also prints the creation date of the generation, and indicates the current generation.
Examples $ nix-env --list-generations 95   2004-02-06 11:48:24 96   2004-02-06 11:49:01 97   2004-02-06 16:22:45 98   2004-02-06 16:24:33   (current)
Operation --delete-generations Synopsis nix-env --delete-generations generations
Description This operation deletes the specified generations of the current profile. The generations can be a list of generation numbers, the special value old to delete all non-current generations, a value such as 30d to delete all generations older than the specified number of days (except for the generation that was active at that point in time), or a value such as +5 to keep the last 5 generations ignoring any newer than current, e.g., if 30 is the current generation +5 will delete generation 25 and all older generations. Periodically deleting old generations is important to make garbage collection effective.
Examples $ nix-env --delete-generations 3 4 8
$ nix-env --delete-generations +5
$ nix-env --delete-generations 30d
$ nix-env -p other_profile --delete-generations old
Operation --switch-generation Synopsis nix-env {--switch-generation | -G} generation
Description This operation makes generation number generation the current generation of the active profile. That is, if the profile is the path to the active profile, then the symlink profile is made to point to profile-generation- link, which is in turn a symlink to the actual user environment in the Nix store.
Switching will fail if the specified generation does not exist.
Examples $ nix-env -G 42 switching from generation 50 to 42
Operation --rollback Synopsis nix-env --rollback
Description This operation switches to the “previous” generation of the active profile, that is, the highest numbered generation lower than the current generation, if it exists. It is just a convenience wrapper around --list- generations and --switch-generation.
Examples $ nix-env --rollback switching from generation 92 to 91
$ nix-env --rollback error: no generation older than the current (91) exists
Environment variables • NIX_PROFILE Location of the Nix profile. Defaults to the target of the symlink ~/.nix-profile, if it exists, or /nix/var/nix/profiles/default otherwise.
LNAV(1)                      General Commands Manual                     LNAV(1)
lnav - ncurses-based log file viewer
lnav [-hVsar] [logfile1 logfile2 ...]
The log file navigator, lnav, is an enhanced log file viewer that takes advantage of any semantic information that can be gleaned from the files being viewed, such as timestamps and log levels.  Using this extra semantic information, lnav can do things like interleaving messages from different files, generate histograms of messages over time, and providing hotkeys for navigating through the file.  It is hoped that these features will allow the user to quickly and efficiently zero in on problems.
?      View/leave the online help text.
q      Quit the program.
-h     Print help and exit
-H     Display the internal help text.
-I path Add the given configuration directory to the search path.
-i     Install the given format files in the $HOME/.lnav/formats/installed directory and exit.
-C     Check the configuration and exit.  The log format files will be loaded and checked.  Any files given on the command-line will be loaded checked to make sure they match a log format.
-d file Write debug messages to the given file.
-V     Print version information.
-a     Load all of the most recent log file types.
-r     Recursively load files from the given directories.
-R     Load older rotated log files as well.
-t     Prepend timestamps to the lines of data being read in on the standard input.
-w file Write the contents of the standard input to this file.
Optional arguments: logfile1 The log files or directories to view.  If a directory is given, all of the files in the directory will be loaded.
To load and follow the syslog file:
lnav
To load all of the files in /var/log:
lnav /var/log
To watch the output of make with timestamps prepended:
make 2>&1 | lnav -t
This manual page was written by Salvatore Bonaccorso <carnil@debian.org> for the Debian system (but may be used by others).
A2ENCONF(8)                  System Manager's Manual                 A2ENCONF(8)
a2enconf, a2disconf - enable or disable an apache2 configuration file
a2enconf [-q|--quiet] [-m|--maintmode] [ configuration ]
a2disconf [-q|--quiet] [-m|--maintmode] [-p|--purge] [ configuration ]
This manual page documents briefly the a2enconf and a2disconf commands.
a2enconf is a script that enables the specified configuration file within the apache2 configuration.  It does this by creating symlinks within /etc/apache2/conf-enabled.  Likewise, a2disconf disables a specific configuration part by removing those symlinks.  It is not an error to enable a configuration which is already enabled, or to disable one which is already disabled.
Note that many configuration file may have a dependency to specific modules.  Unlike module dependencies, these are not resolved automatically. Configuration fragments stored in the conf-available directory are considered non-essential or being installed and manged by reverse dependencies (e.g. web scripts).
-q, --quiet Don't show informative messages.
-m, --maintmode Enables the maintainer mode, that is the program invocation is effectuated automatically by a maintainer script. This switch should not be used by end users.
-p, --purge When disabling a module, purge all traces of the module in the internal state data base.
a2enconf and a2disconf exit with status 0 if all configurations are processed successfully, 1 if errors occur, 2 if an invalid option was used.
a2enconf security a2disconf charset
Enables Apache security directives stored in the security configuration files, and disables the charset configuration.
/etc/apache2/conf-available Directory with files giving information on available configuration files.
/etc/apache2/conf-enabled Directory with links to the files in conf-available for enabled configuration files.
apache2ctl(8), a2enmod(8), a2dismod(8), a2ensite(8), a2dissite(8).
This manual page was written by Arno Toell <debian@toell.net> for the Debian GNU/Linux distribution, as it is a Debian-specific script with the package.
GPG-TUI(1)                   General Commands Manual                  GPG-TUI(1)
gpg-tui - manage your GnuPG keys with ease
gpg-tui [FLAGS] [OPTIONS]
gpg-tui is a Terminal User Interface for GnuPG.
It aims to ease the key management operations such as listing/exporting/signing by providing an interface along with the command-line fallback for more complex operations.  It is not trying to be a full-fledged interface for all the features that gpg provides but it tries to bring a more interactive approach to key management.
FLAGS -a, --armor Enables ASCII armored output
--splash Shows the splash screen on startup
-h, --help Prints help information
-V, --version Prints version information
OPTIONS --config <path> Sets the configuration file [env: GPG_TUI_CONFIG=]
--homedir <dir> Sets the GnuPG home directory [env: GNUPGHOME=]
-o, --outdir <dir> Sets the output directory [env: OUTDIR=]
-d, --default-key <key> Sets the default key to sign with [env: DEFAULT_KEY=]
-t, --tick-rate <ms> Sets the tick rate of the terminal [env: TICK_RATE=]  [default: 250]
-c, --color <color> Sets the accent color of the terminal [env: COLOR=]  [default: gray]
-s, --style <style> Sets the style of the terminal [env: STYLE=]  [default: plain] [possible values: plain, colored]
-f, --file-explorer <app> Sets the utility for file selection [env: FILE_EXPLORER=] [default: xplr]
--select <option> Enables the selection mode [env: SELECT=]  [possible values: key_id, key_fpr, user_id, row1, row2]
USER INTERFACE Key Binding          Action ─────────────────────────────────────────── ?                    show help o,space,enter        show options hjkl,arrows,pgkeys   navigate n                    switch to normal mode v                    switch to visual mode c                    switch to copy mode p,C-v                paste from clipboard a                    toggle armored output 1,2,3                set detail level t,tab                toggle detail (all/selected) `                    toggle table margin m                    toggle table size C-s                  toggle style /                    search :                    run command r,f5                 refresh application q,C-c/d,escape       quit application
KEY MANAGEMENT Key Binding   Action ──────────────────────────── x             export key s             sign key e             edit key i             import key(s) f             receive key u             send key g             generate key d,backspace   delete key C-r           refresh keys
Report bugs at <https://github.com/orhun/gpg-tui/issues> or contact the author via email.
Orhun Parmaksız <orhunparmaksiz@gmail.com>
gpg-tui is maintained by Orhun Parmaksız, and released under the MIT license.
See the project homepage at <https://github.com/orhun/gpg-tui> for full documentation.
gpg-tui.toml(5)
ETHTOOL(8)                   System Manager's Manual                  ETHTOOL(8)
ethtool - query or control network driver and hardware settings
ethtool devname
ethtool -h|--help
ethtool --version
ethtool [--debug N] args
ethtool [--json] args
ethtool [-I | --include-statistics] args
ethtool --monitor [ command ] [ devname ]
ethtool -a|--show-pause devname
ethtool -A|--pause devname [autoneg on|off] [rx on|off] [tx on|off]
ethtool -c|--show-coalesce devname
ethtool -C|--coalesce devname [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N] [cqe-mode-rx on|off] [cqe-mode-tx on|off]
ethtool -g|--show-ring devname
ethtool -G|--set-ring devname [rx N] [rx-mini N] [rx-jumbo N] [tx N]
ethtool -i|--driver devname
ethtool -d|--register-dump devname [raw on|off] [hex on|off] [file name]
ethtool -e|--eeprom-dump devname [raw on|off] [offset N] [length N]
ethtool -E|--change-eeprom devname [magic N] [offset N] [length N] [value N]
ethtool -k|--show-features|--show-offload devname
ethtool -K|--features|--offload devname feature on|off ...
ethtool -p|--identify devname [N]
ethtool -P|--show-permaddr devname
ethtool -r|--negotiate devname
ethtool -S|--statistics devname [--all-groups|--groups [eth-phy] [eth-mac] [eth-ctrl] ]
ethtool --phy-statistics devname
ethtool -t|--test devname [offline|online|external_lb]
ethtool -s devname [speed N] [lanes N] [duplex half|full] [port tp|aui|bnc|mii] [mdix auto|on|off] [autoneg on|off] [advertise N[/M] | advertise mode on|off ...]  [phyad N] [xcvr internal|external] [wol N[/M] | wol p|u|m|b|a|g|s|f|d...] [sopass xx:yy:zz:aa:bb:cc] [master-slave preferred- master|preferred-slave|forced-master|forced-slave] [msglvl N[/M] | msglvl type on|off ...]
ethtool -n|-u|--show-nfc|--show-ntuple devname [ rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 | rule N ]
ethtool -N|-U|--config-nfc|--config-ntuple devname rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r... | flow-type ether|ip4|tcp4|udp4|sctp4|ah4|esp4|ip6|tcp6|udp6|ah6|esp6|sctp6 [src xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]] [dst xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]] [proto N [m N]] [src-ip ip-address [m ip-address]] [dst-ip ip-address [m ip- address]] [tos N [m N]] [tclass N [m N]] [l4proto N [m N]] [src-port N [m N]] [dst-port N [m N]] [spi N [m N]] [l4data N [m N]] [vlan-etype N [m N]] [vlan N [m N]] [user-def N [m N]] [dst- mac xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]] [action N] [context N] [loc N] | delete N
ethtool -w|--get-dump devname [data filename]
ethtool -W|--set-dump devname N
ethtool -T|--show-time-stamping devname
ethtool -x|--show-rxfh-indir|--show-rxfh devname
ethtool -X|--set-rxfh-indir|--rxfh devname [hkey xx:yy:zz:aa:bb:cc:...] [start N] [ equal N | weight W0 W1 ... | default ] [hfunc FUNC] [context CTX | new] [delete]
ethtool -f|--flash devname file [N]
ethtool -l|--show-channels devname
ethtool -L|--set-channels devname [rx N] [tx N] [other N] [combined N]
ethtool -m|--dump-module-eeprom|--module-info devname [raw on|off] [hex on|off] [offset N] [length N] [page N] [bank N] [i2c N]
ethtool --show-priv-flags devname
ethtool --set-priv-flags devname flag on|off ...
ethtool --show-eee devname
ethtool --set-eee devname [eee on|off] [tx-lpi on|off] [tx-timer N] [advertise N]
ethtool --set-phy-tunable devname [ downshift on|off [count N] ] [ fast-link-down on|off [msecs N] ] [ energy-detect-power-down on|off [msecs N] ]
ethtool --get-phy-tunable devname [downshift] [fast-link-down] [energy- detect-power-down]
ethtool --get-tunable devname [rx-copybreak] [tx-copybreak] [pfc- prevention-tout]
ethtool --set-tunable devname [rx-copybreak N] [tx-copybreak N] [pfc-prevention-tout N]
ethtool --reset devname [flags N] [mgmt] [mgmt-shared] [irq] [irq-shared] [dma] [dma-shared] [filter] [filter-shared] [offload] [offload- shared] [mac] [mac-shared] [phy] [phy-shared] [ram] [ram-shared] [ap] [ap-shared] [dedicated] [all]
ethtool --show-fec devname
ethtool --set-fec devname encoding auto|off|rs|baser|llrs [...]
ethtool -Q|--per-queue devname [queue_mask %x] sub_command ... .
ethtool --cable-test devname
ethtool --cable-test-tdr devname [first N] [last N] [step N] [pair N]
ethtool --show-tunnels devname
ethtool is used to query and control network device driver and hardware settings, particularly for wired Ethernet devices.
devname is the name of the network device on which ethtool should operate.
ethtool with a single argument specifying the device name prints current settings of the specified device.
-h --help Shows a short help message.
--version Shows the ethtool version number.
--debug N Turns on debugging messages. Argument is interpreted as a mask:
0x01  Parser information
--json Output results in JavaScript Object Notation (JSON). Only a subset of options support this. Those which do not will continue to output plain text in the presence of this option.
-I --include-statistics Include command-related statistics in the output. This option allows displaying relevant device statistics for selected get commands.
-a --show-pause Queries the specified Ethernet device for pause parameter information.
-A --pause Changes the pause parameters of the specified Ethernet device.
autoneg on|off Specifies whether pause autonegotiation should be enabled.
rx on|off Specifies whether RX pause should be enabled.
tx on|off Specifies whether TX pause should be enabled.
-c --show-coalesce Queries the specified network device for coalescing information.
-C --coalesce Changes the coalescing settings of the specified network device.
-g --show-ring Queries the specified network device for rx/tx ring parameter information.
-G --set-ring Changes the rx/tx ring parameters of the specified network device.
rx N   Changes the number of ring entries for the Rx ring.
rx-mini N Changes the number of ring entries for the Rx Mini ring.
rx-jumbo N Changes the number of ring entries for the Rx Jumbo ring.
tx N   Changes the number of ring entries for the Tx ring.
-i --driver Queries the specified network device for associated driver information.
-d --register-dump Retrieves and prints a register dump for the specified network device.  The register format for some devices is known and decoded others are printed in hex.  When raw is enabled, then ethtool dumps the raw register data to stdout.  If file is specified, then use contents of previous raw register dump, rather than reading from the device.
-e --eeprom-dump Retrieves and prints an EEPROM dump for the specified network device.  When raw is enabled, then it dumps the raw EEPROM data to stdout. The length and offset parameters allow dumping certain portions of the EEPROM.  Default is to dump the entire EEPROM.
raw on|off
offset N
length N
-E --change-eeprom If value is specified, changes EEPROM byte for the specified network device.  offset and value specify which byte and it's new value. If value is not specified, stdin is read and written to the EEPROM. The length and offset parameters allow writing to certain portions of the EEPROM.  Because of the persistent nature of writing to the EEPROM, a device-specific magic key must be specified to prevent the accidental writing to the EEPROM.
-k --show-features --show-offload Queries the specified network device for the state of protocol offload and other features.
-K --features --offload Changes the offload parameters and other features of the specified network device.  The following feature names are built-in and others may be defined by the kernel.
rx on|off Specifies whether RX checksumming should be enabled.
tx on|off Specifies whether TX checksumming should be enabled.
sg on|off Specifies whether scatter-gather should be enabled.
tso on|off Specifies whether TCP segmentation offload should be enabled.
ufo on|off Specifies whether UDP fragmentation offload should be enabled
gso on|off Specifies whether generic segmentation offload should be enabled
gro on|off Specifies whether generic receive offload should be enabled
lro on|off Specifies whether large receive offload should be enabled
rxvlan on|off Specifies whether RX VLAN acceleration should be enabled
txvlan on|off Specifies whether TX VLAN acceleration should be enabled
ntuple on|off Specifies whether Rx ntuple filters and actions should be enabled
rxhash on|off Specifies whether receive hashing offload should be enabled
-p --identify Initiates adapter-specific action intended to enable an operator to easily identify the adapter by sight.  Typically this involves blinking one or more LEDs on the specific network port.
[ N]   Length of time to perform phys-id, in seconds.
-P --show-permaddr Queries the specified network device for permanent hardware address.
-r --negotiate Restarts auto-negotiation on the specified Ethernet device, if auto-negotiation is enabled.
-S --statistics Queries the specified network device for standard (IEEE, IETF, etc.), or NIC- and driver-specific statistics. NIC- and driver- specific statistics are requested when no group of statistics is specified.
NIC- and driver-specific statistics and standard statistics are independent, devices may implement either, both or none. There is little commonality between naming of NIC- and driver-specific statistics across vendors.
--all-groups
--groups [eth-phy] [eth-mac] [eth-ctrl] [rmon] Request groups of standard device statistics.
--phy-statistics Queries the specified network device for PHY specific statistics.
-t --test Executes adapter selftest on the specified network device. Possible test modes are:
offline Perform full set of tests, possibly interrupting normal operation during the tests,
online Perform limited set of tests, not interrupting normal operation,
external_lb Perform full set of tests, as for offline, and additionally an external-loopback test.
-s --change Allows changing some or all settings of the specified network device.  All following options only apply if -s was specified.
speed N Set speed in Mb/s.  ethtool with just the device name as an argument will show you the supported device speeds.
lanes N Set number of lanes.
duplex half|full Sets full or half duplex mode.
port tp|aui|bnc|mii Selects device port.
master-slave preferred-master|preferred-slave|forced-master|forced- slave Configure MASTER/SLAVE role of the PHY. When the PHY is configured as MASTER, the PMA Transmit function shall source TX_TCLK from a local clock source. When configured as SLAVE, the PMA Transmit function shall source TX_TCLK from the clock recovered from data stream provided by MASTER. Not all devices support this.
preferred-master   Prefer MASTER role on autonegotiation preferred-slave    Prefer SLAVE role on autonegotiation forced-master      Force the PHY in MASTER role. Can be used without autonegotiation forced-slave       Force the PHY in SLAVE role. Can be used without autonegotiation
mdix auto|on|off Selects MDI-X mode for port. May be used to override the automatic detection feature of most adapters. An argument of auto means automatic detection of MDI status, on forces MDI-X (crossover) mode, while off means MDI (straight through) mode. The driver should guarantee that this command takes effect immediately, and if necessary may reset the link to cause the change to take effect.
autoneg on|off Specifies whether autonegotiation should be enabled. Autonegotiation is enabled by default, but in some network devices may have trouble with it, so you can disable it if really necessary.
advertise N Sets the speed and duplex advertised by autonegotiation.  The argument is a hexadecimal value using one or a combination of the following values:
phyad N PHY address.
xcvr internal|external Selects transceiver type. Currently only internal and external can be specified, in the future further types might be added.
wol p|u|m|b|a|g|s|f|d... Sets Wake-on-LAN options.  Not all devices support this.  The argument to this option is a string of characters specifying which options to enable.
p   Wake on PHY activity u   Wake on unicast messages m   Wake on multicast messages b   Wake on broadcast messages a   Wake on ARP g   Wake on MagicPacket™ s   Enable SecureOn™ password for MagicPacket™ f   Wake on filter(s) d   Disable (wake on nothing).  This option clears all previous options.
sopass xx:yy:zz:aa:bb:cc Sets the SecureOn™ password.  The argument to this option must be 6 bytes in Ethernet MAC hex format (xx:yy:zz:aa:bb:cc).
msglvl N msglvl type on|off ... Sets the driver message type flags by name or number. type names the type of message to enable or disable; N specifies the new flags numerically. The defined type names and numbers are:
drv         0x0001  General driver status probe       0x0002  Hardware probing link        0x0004  Link state timer       0x0008  Periodic status check ifdown      0x0010  Interface being brought down ifup        0x0020  Interface being brought up rx_err      0x0040  Receive error tx_err      0x0080  Transmit error tx_queued   0x0100  Transmit queueing intr        0x0200  Interrupt handling tx_done     0x0400  Transmit completion rx_status   0x0800  Receive completion pktdata     0x1000  Packet contents hw          0x2000  Hardware status wol         0x4000  Wake-on-LAN status
The precise meanings of these type flags differ between drivers.
-n -u --show-nfc --show-ntuple Retrieves receive network flow classification options or rules.
rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 Retrieves the hash options for the specified flow type.
tcp4    TCP over IPv4 udp4    UDP over IPv4 ah4     IPSEC AH over IPv4 esp4    IPSEC ESP over IPv4 sctp4   SCTP over IPv4 tcp6    TCP over IPv6 udp6    UDP over IPv6 ah6     IPSEC AH over IPv6 esp6    IPSEC ESP over IPv6 sctp6   SCTP over IPv6
rule N Retrieves the RX classification rule with the given ID.
-N -U --config-nfc --config-ntuple Configures receive network flow classification options or rules.
rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r... Configures the hash options for the specified flow type.
m   Hash on the Layer 2 destination address of the rx packet. v   Hash on the VLAN tag of the rx packet. t   Hash on the Layer 3 protocol field of the rx packet. s   Hash on the IP source address of the rx packet. d   Hash on the IP destination address of the rx packet. f   Hash on bytes 0 and 1 of the Layer 4 header of the rx packet. n   Hash on bytes 2 and 3 of the Layer 4 header of the rx packet. r   Discard all packets of this flow type. When this option is set, all other options are ignored.
flow-type ether|ip4|tcp4|udp4|sctp4|ah4|esp4|ip6|tcp6|udp6|ah6|esp6|sctp6 Inserts or updates a classification rule for the specified flow type.
ether   Ethernet ip4     Raw IPv4 tcp4    TCP over IPv4 udp4    UDP over IPv4 sctp4   SCTP over IPv4 ah4     IPSEC AH over IPv4 esp4    IPSEC ESP over IPv4 ip6     Raw IPv6 tcp6    TCP over IPv6 udp6    UDP over IPv6 sctp6   SCTP over IPv6 ah6     IPSEC AH over IPv6 esp6    IPSEC ESP over IPv6
For all fields that allow both a value and a mask to be specified, the mask may be specified immediately after the value using the m keyword, or separately using the field name keyword with -mask appended, e.g. src-mask.
src xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc] Includes the source MAC address, specified as 6 bytes in hexadecimal separated by colons, along with an optional mask. Valid only for flow-type ether.
dst xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc] Includes the destination MAC address, specified as 6 bytes in hexadecimal separated by colons, along with an optional mask. Valid only for flow-type ether.
proto N [m N] Includes the Ethernet protocol number (ethertype) and an optional mask.  Valid only for flow-type ether.
src-ip ip-address [m ip-address] Specify the source IP address of the incoming packet to match along with an optional mask.  Valid for all IP based flow- types.
dst-ip ip-address [m ip-address] Specify the destination IP address of the incoming packet to match along with an optional mask.  Valid for all IP based flow-types.
tos N [m N] Specify the value of the Type of Service field in the incoming packet to match along with an optional mask.  Applies to all IPv4 based flow-types.
tclass N [m N] Specify the value of the Traffic Class field in the incoming packet to match along with an optional mask.  Applies to all IPv6 based flow-types.
l4proto N [m N] Includes the layer 4 protocol number and optional mask.  Valid only for flow-types ip4 and ip6.
src-port N [m N] Specify the value of the source port field (applicable to TCP/UDP packets) in the incoming packet to match along with an optional mask.  Valid for flow-types ip4, tcp4, udp4, and sctp4 and their IPv6 equivalents.
dst-port N [m N] Specify the value of the destination port field (applicable to TCP/UDP packets)in the incoming packet to match along with an optional mask.  Valid for flow-types ip4, tcp4, udp4, and sctp4 and their IPv6 equivalents.
spi N [m N] Specify the value of the security parameter index field (applicable to AH/ESP packets)in the incoming packet to match along with an optional mask.  Valid for flow-types ip4, ah4, and esp4 and their IPv6 equivalents.
l4data N [m N] Specify the value of the first 4 Bytes of Layer 4 in the incoming packet to match along with an optional mask.  Valid for ip4 and ip6 flow-types.
vlan-etype N [m N] Includes the VLAN tag Ethertype and an optional mask.
vlan N [m N] Includes the VLAN tag and an optional mask.
user-def N [m N] Includes 64-bits of user-specific data and an optional mask.
dst-mac xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc] Includes the destination MAC address, specified as 6 bytes in hexadecimal separated by colons, along with an optional mask. Valid for all IP based flow-types.
action N Specifies the Rx queue to send packets to, or some other action.
-1            Drop the matched flow -2            Use the matched flow as a Wake-on-LAN filter 0 or higher   Rx queue to route the flow
context N Specifies the RSS context to spread packets over multiple queues; either 0 for the default RSS context, or a value returned by ethtool -X ... context new.
vf N   Specifies the Virtual Function the filter applies to. Not compatible with action.
queue N Specifies the Rx queue to send packets to. Not compatible with action.
loc N  Specify the location/ID to insert the rule. This will overwrite any rule present in that location and will not go through any of the rule ordering process.
delete N Deletes the RX classification rule with the given ID.
-w --get-dump Retrieves and prints firmware dump for the specified network device.  By default, it prints out the dump flag, version and length of the dump data.  When data is indicated, then ethtool fetches the dump data and directs it to a file.
-W --set-dump Sets the dump flag for the device.
-T --show-time-stamping Show the device's time stamping capabilities and associated PTP hardware clock.
-x --show-rxfh-indir --show-rxfh Retrieves the receive flow hash indirection table and/or RSS hash key.
-X --set-rxfh-indir --rxfh Configures the receive flow hash indirection table and/or RSS hash key.
hkey   Sets RSS hash key of the specified network device. RSS hash key should be of device supported length.  Hash key format must be in xx:yy:zz:aa:bb:cc format meaning both the nibbles of a byte should be mentioned even if a nibble is zero.
hfunc  Sets RSS hash function of the specified network device.  List of RSS hash functions which kernel supports is shown as a part of the --show-rxfh command output.
start N For the equal and weight options, sets the starting receive queue for spreading flows to N.
equal N Sets the receive flow hash indirection table to spread flows evenly between the first N receive queues.
weight W0 W1 ... Sets the receive flow hash indirection table to spread flows between receive queues according to the given weights.  The sum of the weights must be non-zero and must not exceed the size of the indirection table.
default Sets the receive flow hash indirection table to its default value.
context CTX | new Specifies an RSS context to act on; either new to allocate a new RSS context, or CTX, a value returned by a previous ... context new.
delete Delete the specified RSS context.  May only be used in conjunction with context and a non-zero CTX value.
-f --flash Write a firmware image to flash or other non-volatile memory on the device.
file   Specifies the filename of the firmware image.  The firmware must first be installed in one of the directories where the kernel firmware loader or firmware agent will look, such as /lib/firmware.