neulab/tldr huggingface dataset:
-q, --quick=STR select records with fields containing a string.
-n, --number=NUM,... select specific records by position, with ranges.
-m, --random=NUM select a given number of random records.
-j, --join=FIELD perform an inner join using the specified field.
Output options: -p, --print=FIELDS comma-separated list of fields to print for each matching record.
-P, --print-values=FIELDS as -p, but print only the values of the selected fields.
-R, --print-row=FIELDS as -P, but separate the values with spaces instead of newlines.
-c, --count print a count of the matching records instead of the records themselves.
Special options: --print-sexps print the data in sexps instead of rec format.
Written by Jose E. Marchesi.
Report bugs to: bug-recutils@gnu.org GNU recutils home page: <http://www.gnu.org/software/recutils/> General help using GNU software: <http://www.gnu.org/gethelp/>
Copyright Â© 2010-2019 Jose E. Marchesi.  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
The full documentation for recsel is maintained as a Texinfo manual.  If the info and recsel programs are properly installed at your site, the command
info recutils
RABIN2(1)                  BSD General Commands Manual                 RABIN2(1)
RABIN2 â€” Binary program info extractor
rabin2 [-AceghHiIsSMzlpRrLxvhqQTuUwV] [-a arch] [-b bits] [-B addr] [-C fmt:C:[D]] [-D lang sym|-] [-f subbin] [-k query] [-K algo] [-O binop] [-o str] [-m addr] [-@ addr] [-n str] [-X fmt file ...] file
This program allows you to get information about ELF/PE/MZ and CLASS files in a simple way.
All those command-line flags are also available under the i command in radare2. Type i? for help.
-@ addr     Show information (symbol, section, import) of the given address
-A          List sub-binaries and their associated arch-bits pairs
-a arch     Set arch (x86, arm, .. accepts underscore for bits x86_32)
-b bits     Set bits (32, 64, ...)
-B addr     Override baddr
-c          List classes
-cc         List classes in header format
-C [fmt:C[:D]] Create [elf,mach0,pe] for arm and x86-32/64 tiny binaries where 'C' is an hexpair list of the code bytes and ':D' is an optional concatenation to describe the bytes for the data section.
-d          Show debug/dwarf information
-D lang symbolname|- Demangle symbol name (or - to read from stdin) for lang (cxx, swift, java, cxx, ..)
-e          Show entrypoints for disk and on-memory
-ee         Show constructor/destructors (extended entrypoints)
-f subbin   Select sub-binary architecture. Useful for fat-mach0 binaries
-F binfmt   Force to use that bin plugin (ignore header check)
-g          Show all possible information
-G addr     Load address . offset to header
-h          Show usage help message.
-H          Show header fields (see ih command in r2)
-I          Show binary info (iI in r2)
-i          Show imports (symbols imported from libraries) (ii)
-j          Output in json
-k query    Perform SDB query on loaded file
-K algo     Select a rahash2 checksum algorithm to be performed on sections listing (and maybe others in the future) i.e 'rabin2 -K md5 -S /bin/ls'
-l          List linked libraries to the binary
-L          List supported bin plugins
-M          Show address of 'main' symbol
-m addr     Show source line reference from a given address
-N minlen:maxlen Force minimum and maximum number of chars per string (see -z and -zz). if (strlen>minlen && (!maxlen || strlen<=maxlen))
-n str      Show information (symbol, section, import) at string offset
-o str      Output file/folder for write operations (out by default)
-O binop    Perform binary operation on target binary (dump, resize, change sections, ...) see '-O help' for more information
-p          Disable VA. Show physical addresses
-P          Show debug/pdb information
-PP         Download pdb file for binary
-q          Be quiet, just show fewer data
-qq         Show less info (no offset/size for -z for ex.)
-Q          Show load address used by dlopen (non-aslr libs)
-r          Show output in radare format
-R          Show relocations
-s          Show exported symbols
-S          Show sections
-SS         Show segments
-t          Show file hashes
-T          Show Certificates
-u          Unfiltered (no rename duplicated symbols/sections)
-U          Show Resources
-v          Show version information
-V          Show binary version information
-w          Show try/catch blocks
-x          Extract all sub binaries from a fat binary (f.ex: fatmach0)
-X format file ... Package a fat or zip containing all the files passed (fat, zip)
-z          Show strings inside .data section (like gnu strings does)
-Z          Guess size of binary program
-zz         Shows strings from raw bins
-zzz        Dump raw strings to stdout (for huge files)
RABIN2_LANG same as r2 -e bin.lang for rabin2
RABIN2_DEMANGLE demangle symbols
RABIN2_MAXSTRBUF same as r2 -e bin.maxstrbuf for rabin2
RABIN2_DEBASE64 try to decode all strings as base64 if possible
RABIN2_STRFILTER same as r2 -e bin.str.filter for rabin2
RABIN2_STRPURGE same as r2 -e bin.str.purge for rabin2
List symbols of a program
$ rabin2 -s a.out
Get offset of symbol
$ rabin2 -n _main a.out
Get entrypoint
$ rabin2 -e a.out
Load symbols and imports from radare2
$ r2 -n /bin/ls [0x00000000]> .!rabin2 -prsi $FILE
radare2(1)
Written by pancake <pancake@nopcode.org>.
TRUNCATE(1)                       User Commands                      TRUNCATE(1)
truncate - shrink or extend the size of a file to the specified size
truncate OPTION... FILE...
Shrink or extend the size of each FILE to the specified size
A FILE argument that does not exist is created.
If a FILE is larger than the specified size, the extra data is lost.  If a FILE is shorter, it is extended and the sparse extended part (hole) reads as zero bytes.
-c, --no-create do not create any files
-o, --io-blocks treat SIZE as number of IO blocks instead of bytes
-r, --reference=RFILE base size on RFILE
-s, --size=SIZE set or adjust the file size by SIZE bytes
The SIZE argument is an integer and optional unit (example: 10K is 10*1024).  Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).  Binary prefixes can be used, too: KiB=K, MiB=M, and so on.
SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of.
Written by Padraig Brady.
dd(1), truncate(2), ftruncate(2)
Full documentation <https://www.gnu.org/software/coreutils/truncate> or available locally via: info '(coreutils) truncate invocation'
MODPROBE(8)                         modprobe                         MODPROBE(8)
modprobe - Add and remove modules from the Linux Kernel
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [modulename] [module parameters...]
modprobe [-r] [-v] [-n] [-i] [modulename...]
modprobe [-c]
modprobe [--dump-modversions] [filename]
modprobe intelligently adds or removes a module from the Linux kernel: note that for convenience, there is no difference between _ and - in module names (automatic underscore conversion is performed).  modprobe looks in the module directory /lib/modules/`uname -r` for all the modules and other files, except for the optional configuration files in the /etc/modprobe.d directory (see modprobe.d(5)).  modprobe will also use module options specified on the kernel command line in the form of <module>.<option> and blacklists in the form of modprobe.blacklist=<module>.
Note that unlike in 2.4 series Linux kernels (which are not supported by this tool) this version of modprobe does not do anything to the module itself: the work of resolving symbols and understanding parameters is done inside the kernel. So module failure is sometimes accompanied by a kernel message: see dmesg(8).
modprobe expects an up-to-date modules.dep.bin file as generated by the corresponding depmod utility shipped along with modprobe (see depmod(8)). This file lists what other modules each module needs (if any), and modprobe uses this to add or remove these dependencies automatically.
If any arguments are given after the modulename, they are passed to the kernel (in addition to any options listed in the configuration file).
-a, --all Insert all module names on the command line.
-b, --use-blacklist This option causes modprobe to apply the blacklist commands in the configuration files (if any) to module names as well. It is usually used by udev(7).
-C, --config This option overrides the default configuration directory (/etc/modprobe.d).
This option is passed through install or remove commands to other modprobe commands in the MODPROBE_OPTIONS environment variable.
-c, --showconfig Dump out the effective configuration from the config directory and exit.
--dump-modversions Print out a list of module versioning information required by a module. This option is commonly used by distributions in order to package up a Linux kernel module using module versioning deps.
-d, --dirname Root directory for modules, / by default.
--first-time Normally, modprobe will succeed (and do nothing) if told to insert a module which is already present or to remove a module which isn't present. This is ideal for simple scripts; however, more complicated scripts often want to know whether modprobe really did something: this option makes modprobe fail in the case that it actually didn't do anything.
--force-vermagic Every module contains a small string containing important information, such as the kernel and compiler versions. If a module fails to load and the kernel complains that the "version magic" doesn't match, you can use this option to remove it. Naturally, this check is there for your protection, so using this option is dangerous unless you know what you're doing.
This applies to any modules inserted: both the module (or alias) on the command line and any modules on which it depends.
--force-modversion When modules are compiled with CONFIG_MODVERSIONS set, a section detailing the versions of every interfaced used by (or supplied by) the module is created. If a module fails to load and the kernel complains that the module disagrees about a version of some interface, you can use "--force-modversion" to remove the version information altogether. Naturally, this check is there for your protection, so using this option is dangerous unless you know what you're doing.
This applies any modules inserted: both the module (or alias) on the command line and any modules on which it depends.
-f, --force Try to strip any versioning information from the module which might otherwise stop it from loading: this is the same as using both --force-vermagic and --force-modversion. Naturally, these checks are there for your protection, so using this option is dangerous unless you know what you are doing.
This applies to any modules inserted: both the module (or alias) on the command line and any modules it on which it depends.
-i, --ignore-install, --ignore-remove This option causes modprobe to ignore install and remove commands in the configuration file (if any) for the module specified on the command line (any dependent modules are still subject to commands set for them in the configuration file). Both install and remove commands will currently be ignored when this option is used regardless of whether the request was more specifically made with only one or other (and not both) of --ignore-install or --ignore-remove. See modprobe.d(5).
-n, --dry-run, --show This option does everything but actually insert or delete the modules (or run the install or remove commands). Combined with -v, it is useful for debugging problems. For historical reasons both --dry-run and --show actually mean the same thing and are interchangeable.
-q, --quiet With this flag, modprobe won't print an error message if you try to remove or insert a module it can't find (and isn't an alias or install/remove command). However, it will still return with a non-zero exit status. The kernel uses this to opportunistically probe for modules which might exist using request_module.
-R, --resolve-alias Print all module names matching an alias. This can be useful for debugging module alias problems.
-r, --remove This option causes modprobe to remove rather than insert a module. If the modules it depends on are also unused, modprobe will try to remove them too. Unlike insertion, more than one module can be specified on the command line (it does not make sense to specify module parameters when removing modules).
There is usually no reason to remove modules, but some buggy modules require it. Your distribution kernel may not have been built to support removal of modules at all.
-S, --set-version Set the kernel version, rather than using uname(2) to decide on the kernel version (which dictates where to find the modules).
--show-depends List the dependencies of a module (or alias), including the module itself. This produces a (possibly empty) set of module filenames, one per line, each starting with "insmod" and is typically used by distributions to determine which modules to include when generating initrd/initramfs images.  Install commands which apply are shown prefixed by "install". It does not run any of the install commands. Note that modinfo(8) can be used to extract dependencies of a module from the module itself, but knows nothing of aliases or install commands.
-s, --syslog This option causes any error messages to go through the syslog mechanism (as LOG_DAEMON with level LOG_NOTICE) rather than to standard error. This is also automatically enabled when stderr is unavailable.
-V, --version Show version of program and exit.
-v, --verbose Print messages about what the program is doing. Usually modprobe only prints messages if something goes wrong.
The MODPROBE_OPTIONS environment variable can also be used to pass arguments to modprobe.
This manual page originally Copyright 2002, Rusty Russell, IBM Corporation. Maintained by Jon Masters and others.
modprobe.d(5), insmod(8), rmmod(8), lsmod(8), modinfo(8) depmod(8)
Jon Masters <jcm@jonmasters.org> Developer
Robby Workman <rworkman@slackware.com> Developer
Lucas De Marchi <lucas.de.marchi@gmail.com> Developer
cronic(1)                             admin                            cronic(1)
cronic - a shell script to help control the most annoying feature of cron: unwanted emailed output
cronic [COMMAND]
Cronic is a small shim shell script for wrapping cron jobs so that cron only sends email when an error has occurred.
Cronic defines an error as any non-trace error output or a non-zero result code.
Cronic filters Bash execution traces (or anything matching PS4) from the error output, so jobs can be run with execution tracing to aid forensic debugging.
Cronic has no options, it simply executes its arguments.
0 1 * * * cronic backup
With cronic, you can turn on Bash's strict error handling and debug options (exit on error, unset variable detection and execution tracing) to make sure problems are caught early.
Example cron job:
#!/bin/bash set -o errexit -o nounset -o xtrace cp -rp data1 /backup cp -rp data2 /backup cp -rp data3 /backup
When an error is detected, Cronic outputs a report listing the result code, error output, and combined trace and error output. The combined output can help put error messages in context.
Example email from cron with cronic info:
From: user@example.net (Cron Daemon) To: user@example.net Subject: Cron <user@server> cronic backup
Cronic detected failure or error output for the command: backup
RESULT CODE: 1
ERROR OUTPUT: cp: data2: Permission denied
STANDARD OUTPUT:
TRACE-ERROR OUTPUT: + cp -rp data1 /backup + cp -rp data2 /backup cp: data2: Permission denied
v3 - Use mktemp -d to avoid race-conditions and security problems.
v2 - Corrected command evaluation, so shell meta-chars are preserved correctly (Thanks to Frank Wallingford for the fix).
v1 - Initial release.
Joey Hess has written a simpler perl version of cronic, named chronic. It is available in Debian as part of moreutils.
Cronic was written by Chuck Houpt. This man page was formatted from the cronic home page by Daniel Lange.
Please report bugs upstream to Chuck Houpt <chuck@habilis.net> and use the Debian bugtracker for Debian-specific issues. The cronic home page is <https://habilis.net/cronic/>.
Copyright © 2007-2016 Chuck Houpt. Debian packaging © 2016, 2018 Daniel Lange. License CCO: Public Domain dedication v1.0 <https://creativecommons.org/publicdomain/zero/1.0/>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
crontab(5), bash(1)
rr(1)                             User Commands                            rr(1)
rr - record and replay application execution
rr dump [<options>] [<trace-dir>] [<event-specs>] rr gdbinit rr help [<command>] rr ps [<trace-dir>] rr record [<options>] <executable> [<exe-args>] rr replay [<options>] [<trace-dir>]
Common options -A <name>, --microarch=<name> force rr to assume it's running on a CPU with microarch name even if runtime detection says otherwise. name should be a string like `Ivy Bridge'.
-C {on-syscalls,on-all-events,<from-time>}, --checksum={on-syscalls,on-all-events,<from-time>} compute and store (during recording) or read and verify (during replay) checksums of each of a tracee's memory mappings either at the end of all syscalls (on-syscalls), at all events (on-all-events), or starting from a global timepoint from-time.
-D {<syscall-num,-<signal-num>}, --dump-on={<syscall-num,-<signal-num>} dump memory at syscall or signal to the file tid.time_{rec,rep} in trace-dir; _rec for dumps during recording, _rep for dumps during replay.
-F, --force-things force rr to do some things that don't seem like good ideas, such as launching an interactive emergency debugger if stderr isn't a tty.
-K, --check-cached-mmaps verify that cached task mmaps match /proc/maps.
-E, --fatal-errors any warning or error that is printed is treated as fatal.
-M, --mark-stdio mark stdio writes with [rr <pid> <ev>] where ev is the global trace time at which the write occurs and pid is the pid of the process it occurs in.
-N, --version print the version number and exit.
-S, --suppress-environment-warnings suppress warnings about issues in the environment that rr has no control over.
-T <time>, --dump-at=<time> dump memory at global timepoint time
-V, --verbose log messages that may not be urgently critical to the user
-W <num-secs>, --wait-secs=<num-secs> wait num-secs seconds just after startup, before initiating recording or replaying.
Syntax for `record' rr record [<options>] <executable> [<exe-args>]
-b, --force-syscall-buffer force the systall buffer preload library to be used, even if that's probably a bad idea
-c <num>, --num-cpu-ticks=<num> maximum number of `CPU ticks' (currently retired conditional branches) to allow a task to run before interrupting it
-e <num>, --num-events=<num> maximum number of events (syscall enter/exit, signal, CPU interrupt, ...) to allow a task before descheduling it
-i <signal>, --ignore-signal=<signal> block signal from being delivered to tracees; probably only useful for unit tests
-n, --no-syscall-buffer disable the syscall buffer preload library even if it would otherwise be used
-u, --cpu-unbound allow tracees to run on any virtual CPU (default is to bind to CPU 0); this option can cause replay divergence: use with caution
-v <name>=<value>, --env=<name>=<value> value to add to the environment of the tracee; there can be any number of these
Syntax for `replay' rr replay [<options>] [<trace-dir>]
-a, --autopilot replay without debug server
-d <command>, --debugger=<command> use command as the gdb(1) command
-f <pid>, --onfork=<pid> start a debug server when pid has been forked, and the target event has been reached
-g <event-num>, --goto=<event-num> start a debug server on reaching event-num in the trace; see -M in the general options
-p {<pid>,<command>}, --onprocess={<pid>,<command>} start a debug server when pid or command has been exec'd, and the target event has been reached
-q, --no-redirect-output don't replay writes to stdout/stderr
-s <port>, --dbgport=<port> only start a debug server on port; don't automatically launch the debugger client too
-t <event>, --trace=<event> singlestep instructions and dump register states when replaying towards event or later
-x <file>, --gdb-x=<file> execute gdb(1) commands from file
Syntax for `dump` rr dump [<options>] [<trace-dir>] [<event-specs>]
Event specs can be either an event number like `127', or a range like `1000-5000'.  By default, all events are dumped.
-b, --syscallbuf dump syscallbuf contents
-m, --recorded-metadata dump recorded metadata
-p, --mmaps dump mmap data
-r, --raw dump trace frames in a more easily machine-parseable format instead of the default human-readable format
-s, --statistics dump statistics about the trace
rr was written by Robert O'Callahan, Chris Jones, Nathan Froyd and others.
This manual page was adapted from the help output by Stephen Kitt <skitt@debian.org>, for the Debian GNU/Linux system (but may be used by others). It was last modified for rr version 4.0.1.
exif(1)                 command line front-end to libexif                exif(1)
exif - shows EXIF information in JPEG files
exif [ OPTION ] [ file... ]
exif is a small command-line utility to show and change EXIF information in JPEG files.
Most digital cameras produce EXIF files, which are JPEG files with extra tags that contain information about the image. The exif command-line utility allows you to read EXIF information from and write EXIF information to those files.  exif internally uses the libexif library.
Each input file given on the command line is acted upon in turn, using all the options given. Execution will be aborted immediately if one file is not readable or does not contain EXIF tags.
As EXIF tags are read, any unknown ones are discarded and known ones are automatically converted into the correct format, if they aren't already. Corrupted MakerNote tags are also removed, but no format changes are made.
-v, --version Display the exif version number.
-i, --ids Show ID numbers instead of tag names.
-t, --tag=TAG Select only this TAG.  TAG is the tag title, the short tag name, or the tag number (hexadecimal numbers are prefixed with 0x), from the IFD specified with --ifd.  The tag title is dependent on the current locale, whereas name and number are locale-independent.
--ifd=IFD Select a tag or tags from this IFD.  Valid IFDs are "0", "1", "EXIF", "GPS", and "Interoperability".  Defaults to "0".
-l, --list-tags List all known EXIF tags and IFDs.  A JPEG image must be provided, and those tags which appear in the file are shown with an asterisk in the corresponding position in the list.
-|, --show-mnote Show the contents of the MakerNote tag.  The contents of this tag are nonstandard (and often undocumented) and may therefore not be recognized, or if they are recognized they may not necessarily be interpreted correctly.
--remove Remove the tag or (if no tag is specified) the entire IFD.
-s, --show-description Show description of tag.  The --tag option must also be given.
-e, --extract-thumbnail Extract the thumbnail, writing the thumbnail image to the file specified with --output.
-r, --remove-thumbnail Remove the thumbnail from the image, writing the new image to the file specified with --output.
-n, --insert-thumbnail=FILE Insert FILE as thumbnail.  No attempt is made to ensure that the contents of FILE are in a valid thumbnail format.
--no-fixup Do not attempt to fix EXIF specification violations when reading tags.  When used in conjunction with --create-exif, this option inhibits the creation of the mandatory tags.  exif will otherwise remove illegal or unknown tags, add some mandatory tags using default values, and change the data type of some tags to match that required by the specification.
-o, --output=FILE Write output image to FILE.  If this option is not given and an image file must be written, the name used is the same as the input file with the suffix ".modified.jpeg".
--set-value=VALUE Set the data for the tag specified with --tag and --ifd to VALUE. Compound values consisting of multiple components are separated with spaces.
-c, --create-exif Create EXIF data if it does not exist. Mandatory tags are created with default values unless the --no-fixup option is given.  This option can be used instead of specifying an input file name in most cases, to operate on the default values of the mandatory set of EXIF tags.  In this case, the --output option has no effect and no file is written.
-m, --machine-readable Produce output in a machine-readable (tab-delimited) format.  The --xml-output and --machine-readable options are mutually exclusive.
-w, --width=N Set the maximum width of the output to N characters (default 80). This does not apply to some output formats (e.g. XML).
-x, --xml-output Produce output in an XML format (when possible).  The --xml-output and --machine-readable options are mutually exclusive.  Note that the XML schema changes with the locale, and it sometimes produces invalid XML. This option is not recommended.
-d, --debug Show debugging messages. Also, when processing a file that contains corrupted data, this option causes exif to attempt to continue processing. Normally, corrupted data causes an abort.
Help options -?, --help Show help message.
--usage Display brief usage message.
Display all recognized EXIF tags in an image and the tag contents, with bad tags fixed:
exif image.jpg
Display a table listing all known EXIF tags and whether each one exists in the given image:
exif --list-tags --no-fixup image.jpg
Display details on all XResolution tags found in the given image:
exif --tag=XResolution --no-fixup image.jpg
Display the raw contents of the "Model" tag in the given image (with a newline character appended):
exif --ifd=0 --tag=Model --machine-readable image.jpg
Extract the thumbnail into the file thumbnail.jpg:
exif --extract-thumbnail --output=thumbnail.jpg image.jpg
Display a list of the numeric values of only the EXIF tags in the thumbnail IFD (IFD 1) and the tag values:
exif --ids --ifd=1 --no-fixup image.jpg
Display the meaning of tag 0x9209 in the "EXIF" IFD according to the EXIF specification:
exif --show-description --ifd=EXIF --tag=0x9209
Add an Orientation tag with value "Bottom-left" (4) to an existing image, leaving the existing tags untouched:
exif --output=new.jpg --ifd=0 --tag=0x0112 --set-value=4 --no- fixup image.jpg
Add a YCbCr Sub-Sampling tag with value 2,1 (a.k.a YCbCr 4:2:2) to an existing image and fix the existing tags, if necessary:
exif --output=new.jpg --tag=YCbCrSubSampling --ifd=0 --set- value='2 1' image.jpg
Remove the "User Comment" tag from an image:
exif --output=new.jpg --remove --tag="User Comment" --ifd=EXIF image.jpg
Display a table with all known EXIF tags, highlighting mandatory ones:
exif -cl
exif was written by Lutz Mueller <lutz@users.sourceforge.net> and numerous contributors.  This man page is Copyright Â© 2002-2012 Thomas Pircher, Dan Fandrich and others.
https://libexif.github.io/
WTF(6)                          BSD Games Manual                          WTF(6)
wtf — look up terms
wtf [-f dbfile] [-o] [is] term ...
The wtf utility looks up the meaning of one or more term operands specified on the command line.
term will first be searched for as an acronym in the acronym databases, which are expected to be in the format “acronym[tab]meaning”.  If no match has been found, wtf will check to see if the term is known by whatis(1), pkg_info(1), or, when called from within a pkgsrc package directory, pkgsrc's internal help facility, “make help topic=XXX”.
The optional is operand will be ignored, allowing the fairly natural “wtf is WTF” usage.
The following option is available:
-f dbfile Overrides the default list of acronym databases, bypassing the value of the ACRONYMDB variable.  Unlike this variable the -f option only accepts one file name as an argument, but it may be given multiple times to specify more than one file to use.
-o    Include acronyms that could be considered offensive to some.  Please consult fortune(6) for more information about the -o flag.
ACRONYMDB  The default list of acronym databases may be overridden by setting the environment variable ACRONYMDB to the name of one or more space-separated file names of acronym databases.
/usr/share/misc/acronyms       default acronym database. /usr/share/misc/acronyms-o     default offensive acronym database. /usr/share/misc/acronyms.comp  default computer-related acronym database.
make(1), pkg_info(1), whatis(1), fortune(6)
wtf first appeared in NetBSD 1.5.  Initially it only translated acronyms; functionality to look up the meaning of terms in other sources was added later.
NMTUI(1)                     General Commands Manual                    NMTUI(1)
nmtui - Text User Interface for controlling NetworkManager
nmtui-edit | nmtui edit  {name | id}
nmtui-connect | nmtui connect  {name | uuid | device | SSID}
nmtui-hostname | nmtui hostname
nmtui is a curses‐based TUI application for interacting with NetworkManager. When starting nmtui, the user is prompted to choose the activity to perform unless it was specified as the first argument.
The supported activities are:
edit Show a connection editor that supports adding, modifying, viewing and deleting connections. It provides similar functionality as nm-connection-editor.
connect Show a list of available connections, with the option to activate or deactivate them. It provides similar functionality as nm-applet.
hostname Set the system hostname.
Corresponding to above activities, nmtui also comes with binaries named nmtui-edit, nmtui-connect, and nmtui-hostname to skip the selection of the activities.
nmcli(1), nm-applet(1), nm-connection-editor(1), NetworkManager(8).
virt-sysprep(1)              Virtualization Support              virt-sysprep(1)
virt-sysprep - Reset, unconfigure or customize a virtual machine so clones can be made
virt-sysprep [--options] -d domname
virt-sysprep [--options] -a disk.img [-a disk.img ...]
Using "virt-sysprep" on live virtual machines, or concurrently with other disk editing tools, can be dangerous, potentially causing disk corruption.  The virtual machine must be shut down before you use this command, and disk images must not be edited concurrently.
Virt-sysprep can reset or unconfigure a virtual machine so that clones can be made from it.  Steps in this process include removing SSH host keys, removing persistent network MAC configuration, and removing user accounts.  Virt-sysprep can also customize a virtual machine, for instance by adding SSH keys, users or logos.  Each step can be enabled or disabled as required.
Virt-sysprep modifies the guest or disk image in place.  The guest must be shut down.  If you want to preserve the existing contents of the guest, you must snapshot, copy or clone the disk first.  See "COPYING AND CLONING" below.
You do not need to run virt-sysprep as root.  In fact we'd generally recommend that you don't.  The time you might want to run it as root is when you need root in order to access the disk image, but even in this case it would be better to change the permissions on the disk image to be writable as the non-root user running virt-sysprep.
"Sysprep" stands for "system preparation" tool.  The name comes from the Microsoft program sysprep.exe which is used to unconfigure Windows machines in preparation for cloning them.  Having said that, virt-sysprep does not currently work on Microsoft Windows guests.  We plan to support Windows sysprepping in a future version, and we already have code to do it.
--help Display brief help.
-a file --add file Add file which should be a disk image from a virtual machine.
The format of the disk image is auto-detected.  To override this and force a particular format use the --format option.
-a URI --add URI Add a remote disk.  The URI format is compatible with guestfish.  See "ADDING REMOTE STORAGE" in guestfish(1).
--colors --colours Use ANSI colour sequences to colourize messages.  This is the default when the output is a tty.  If the output of the program is redirected to a file, ANSI colour sequences are disabled unless you use this option.
-c URI --connect URI If using libvirt, connect to the given URI.  If omitted, then we connect to the default libvirt hypervisor.
If you specify guest block devices directly (-a), then libvirt is not used at all.
-d guest --domain guest Add all the disks from the named libvirt guest.  Domain UUIDs can be used instead of names.
-n --dry-run Perform a read-only "dry run" on the guest.  This runs the sysprep operation, but throws away any changes to the disk at the end.
--enable operations Choose which sysprep operations to perform.  Give a comma-separated list of operations, for example:
--enable ssh-hostkeys,udev-persistent-net
would enable ONLY "ssh-hostkeys" and "udev-persistent-net" operations.
If the --enable option is not given, then we default to trying most sysprep operations (see --list-operations to show which are enabled).
Regardless of the --enable option, sysprep operations are skipped for some guest types.
Use --list-operations to list operations supported by a particular version of virt-sysprep.
See "OPERATIONS" below for a list and an explanation of each operation.
--operation operations --operations operations Choose which sysprep operations to perform.  Give a comma-separated list of operations, for example:
--operations ssh-hostkeys,udev-persistent-net
--operations allows you to enable and disable any operation, including the default ones (which would be tried when specifying neither --operations nor --enable) and all the available ones; prepending a "-" in front of an operation name removes it from the list of enabled operations, while the meta-names "defaults" and "all" represent respectively the operations enabled by default and all the available ones.  For example:
--operations firewall-rules,defaults,-tmp-files
would enable the "firewall-rules" operation (regardless whether it is enabled by default), all the default ones, and disable the "tmp-files" operation.
--operations can be specified multiple times; the first time the set of enabled operations is empty, while any further --operations affects the operations enabled so far.
If the --operations option is not given, then we default to trying most sysprep operations (see --list-operations to show which are enabled).
Regardless of the --operations option, sysprep operations are skipped for some guest types.
--echo-keys When prompting for keys and passphrases, virt-sysprep normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
--format raw|qcow2|.. --format auto The default for the -a option is to auto-detect the format of the disk image.  Using this forces the disk format for -a options which follow on the command line.  Using --format auto switches back to auto-detection for subsequent -a options.
virt-sysprep --format raw -a disk.img
forces raw format (no auto-detection) for disk.img.
virt-sysprep --format raw -a disk.img --format auto -a another.img
forces raw format (no auto-detection) for disk.img and reverts to auto-detection for another.img.
If you have untrusted raw-format guest disk images, you should use this option to specify the disk format.  This avoids a possible security problem with malicious guests (CVE-2010-3851).
--key SELECTOR Specify a key for LUKS, to automatically open a LUKS device when using the inspection.  "ID" can be either the libguestfs device name, or the UUID of the LUKS device.
--key "ID":key:KEY_STRING Use the specified "KEY_STRING" as passphrase.
--key "ID":file:FILENAME Read the passphrase from FILENAME.
--keys-from-stdin Read key or passphrase parameters from stdin.  The default is to try to read passphrases from the user by opening /dev/tty.
If there are multiple encrypted devices then you may need to supply multiple keys on stdin, one per line.
--list-operations List the operations supported by the virt-sysprep program.
These are listed one per line, with one or more single-space- separated fields, eg:
$ virt-sysprep --list-operations bash-history * Remove the bash history in the guest cron-spool * Remove user at-jobs and cron-jobs dhcp-client-state * Remove DHCP client leases dhcp-server-state * Remove DHCP server leases [etc]
The first field is the operation name, which can be supplied to --enable.  The second field is a "*" character if the operation is enabled by default or blank if not.  Subsequent fields on the same line are the description of the operation.
Before libguestfs 1.17.33 only the first (operation name) field was shown and all operations were enabled by default.
--mount-options mp:opts[;mp:opts;...] Set the mount options used when libguestfs opens the disk image. Note this has no effect on the guest.  It is used when opening certain guests such as ones using the UFS (BSD) filesystem.
Use a semicolon-separated list of "mountpoint:options" pairs.  You may need to quote this list to protect it from the shell.
--mount-options "/:noatime"
will mount the root directory with "notime".  This example:
--mount-options "/:noatime;/var:rw,nodiratime"
will do the same, plus mount /var with "rw,nodiratime".
-q --quiet Don’t print log messages.
To enable detailed logging of individual file operations, use -x.
--network --no-network Enable or disable network access from the guest during the installation.
In virt-sysprep, the network is disabled by default.  You must use --network to enable it, in order that options such as --install or --update will work.
virt-builder(1) has more information about the security advantages of disabling the network.
-v --verbose Enable verbose messages for debugging.
-V --version Display version number and exit.
-x  Enable tracing of libguestfs API calls.
--append-line FILE:LINE (see "customize" below) Append a single line of text to the "FILE".  If the file does not already end with a newline, then one is added before the appended line.  Also a newline is added to the end of the "LINE" string automatically.
For example (assuming ordinary shell quoting) this command:
--append-line '/etc/hosts:10.0.0.1 foo'
will add either "10.0.0.1 foo⏎" or "⏎10.0.0.1 foo⏎" to the file, the latter only if the existing file does not already end with a newline.
"⏎" represents a newline character, which is guessed by looking at the existing content of the file, so this command does the right thing for files using Unix or Windows line endings.  It also works for empty or non-existent files.
To insert several lines, use the same option several times:
--append-line '/etc/hosts:10.0.0.1 foo' --append-line '/etc/hosts:10.0.0.2 bar'
To insert a blank line before the appended line, do:
--append-line '/etc/hosts:' --append-line '/etc/hosts:10.0.0.1 foo'
--chmod PERMISSIONS:FILE (see "customize" below) Change the permissions of "FILE" to "PERMISSIONS".
Note: "PERMISSIONS" by default would be decimal, unless you prefix it with 0 to get octal, ie. use 0700 not 700.
--commands-from-file FILENAME (see "customize" below) Read the customize commands from a file, one (and its arguments) each line.
Each line contains a single customization command and its arguments, for example:
delete /some/file install some-package password some-user:password:its-new-password
Empty lines are ignored, and lines starting with "#" are comments and are ignored as well.  Furthermore, arguments can be spread across multiple lines, by adding a "\" (continuation character) at the of a line, for example
edit /some/file:\ s/^OPT=.*/OPT=ok/
The commands are handled in the same order as they are in the file, as if they were specified as --delete /some/file on the command line.
--copy SOURCE:DEST (see "customize" below) Copy files or directories recursively inside the guest.
Wildcards cannot be used.
--copy-in LOCALPATH:REMOTEDIR (see "customize" below) Copy local files or directories recursively into the disk image, placing them in the directory "REMOTEDIR" (which must exist).
--delete PATH (see "customize" below) Delete a file from the guest.  Or delete a directory (and all its contents, recursively).
You can use shell glob characters in the specified path.  Be careful to escape glob characters from the host shell, if that is required. For example:
virt-customize --delete '/var/log/*.log'.
See also: --upload, --scrub.
--edit FILE:EXPR (see "customize" below) Edit "FILE" using the Perl expression "EXPR".
Be careful to properly quote the expression to prevent it from being altered by the shell.
Note that this option is only available when Perl 5 is installed.
See "NON-INTERACTIVE EDITING" in virt-edit(1).
--firstboot SCRIPT (see "customize" below) Install "SCRIPT" inside the guest, so that when the guest first boots up, the script runs (as root, late in the boot process).
The script is automatically chmod +x after installation in the guest.
The alternative version --firstboot-command is the same, but it conveniently wraps the command up in a single line script for you.
You can have multiple --firstboot options.  They run in the same order that they appear on the command line.
Please take a look at "FIRST BOOT SCRIPTS" in virt-builder(1) for more information and caveats about the first boot scripts.
See also --run.
--firstboot-command 'CMD+ARGS' (see "customize" below) Run command (and arguments) inside the guest when the guest first boots up (as root, late in the boot process).
--firstboot-install PKG,PKG.. (see "customize" below) Install the named packages (a comma-separated list).  These are installed when the guest first boots using the guest’s package manager (eg. apt, yum, etc.) and the guest’s network connection.
For an overview on the different ways to install packages, see "INSTALLING PACKAGES" in virt-builder(1).
--hostname HOSTNAME (see "customize" below) Set the hostname of the guest to "HOSTNAME".  You can use a dotted hostname.domainname (FQDN) if you want.
--install PKG,PKG.. (see "customize" below) Install the named packages (a comma-separated list).  These are installed during the image build using the guest’s package manager (eg. apt, yum, etc.) and the host’s network connection.
See also --update, --uninstall.
--keep-user-accounts USERS (see "user-account" below) The user accounts to be kept in the guest.  The value of this option is a list of user names separated by comma, where specifying an user means it is going to be kept.  For example:
--keep-user-accounts mary
would keep the user account "mary".
This option can be specified multiple times.
--link TARGET:LINK[:LINK..] (see "customize" below) Create symbolic link(s) in the guest, starting at "LINK" and pointing at "TARGET".
--mkdir DIR (see "customize" below) Create a directory in the guest.
This uses "mkdir -p" so any intermediate directories are created, and it also works if the directory already exists.
--move SOURCE:DEST (see "customize" below) Move files or directories inside the guest.
--no-logfile (see "customize" below) Scrub "builder.log" (log file from build commands) from the image after building is complete.  If you don't want to reveal precisely how the image was built, use this option.
See also: "LOG FILE".
--password USER:SELECTOR (see "customize" below) Set the password for "USER".  (Note this option does not create the user account).
See "USERS AND PASSWORDS" in virt-builder(1) for the format of the "SELECTOR" field, and also how to set up user accounts.
--password-crypto md5|sha256|sha512 (see "customize" below) When the virt tools change or set a password in the guest, this option sets the password encryption of that password to "md5", "sha256" or "sha512".
"sha256" and "sha512" require glibc ≥ 2.7 (check crypt(3) inside the guest).
"md5" will work with relatively old Linux guests (eg. RHEL 3), but is not secure against modern attacks.
The default is "sha512" unless libguestfs detects an old guest that didn't have support for SHA-512, in which case it will use "md5". You can override libguestfs by specifying this option.
Note this does not change the default password encryption used by the guest when you create new user accounts inside the guest.  If you want to do that, then you should use the --edit option to modify "/etc/sysconfig/authconfig" (Fedora, RHEL) or "/etc/pam.d/common-password" (Debian, Ubuntu).
--remove-user-accounts USERS (see "user-account" below) The user accounts to be removed from the guest.  The value of this option is a list of user names separated by comma, where specifying an user means it is going to be removed.  For example:
--remove-user-accounts bob,eve
would only remove the user accounts "bob" and "eve".
--root-password SELECTOR (see "customize" below) Set the root password.
Note: In virt-builder, if you don't set --root-password then the guest is given a random root password.
--run SCRIPT (see "customize" below) Run the shell script (or any program) called "SCRIPT" on the disk image.  The script runs virtualized inside a small appliance, chrooted into the guest filesystem.
The script is automatically chmod +x.
If libguestfs supports it then a limited network connection is available but it only allows outgoing network connections.  You can also attach data disks (eg. ISO files) as another way to provide data (eg. software packages) to the script without needing a network connection (--attach).  You can also upload data files (--upload).
You can have multiple --run options.  They run in the same order that they appear on the command line.
See also: --firstboot, --attach, --upload.
--run-command 'CMD+ARGS' (see "customize" below) Run the command and arguments on the disk image.  The command runs virtualized inside a small appliance, chrooted into the guest filesystem.
You can have multiple --run-command options.  They run in the same order that they appear on the command line.
--script SCRIPT (see "script" below) Run the named "SCRIPT" (a shell script or program) against the guest. The script can be any program on the host.  The script’s current directory will be the guest’s root directory.
Note: If the script is not on the $PATH, then you must give the full absolute path to the script.
--scriptdir SCRIPTDIR (see "script" below) The mount point (an empty directory on the host) used when the "script" operation is enabled and one or more scripts are specified using --script parameter(s).
Note: "SCRIPTDIR" must be an absolute path.
If --scriptdir is not specified then a temporary mountpoint will be created.
--scrub FILE (see "customize" below) Scrub a file from the guest.  This is like --delete except that:
•   It scrubs the data so a guest could not recover it.
•   It cannot delete directories, only regular files.
--selinux-relabel (see "customize" below) Relabel files in the guest so that they have the correct SELinux label.
This will attempt to relabel files immediately, but if the operation fails this will instead touch /.autorelabel on the image to schedule a relabel operation for the next time the image boots.
You should only use this option for guests which support SELinux.
--sm-attach SELECTOR (see "customize" below) Attach to a pool using "subscription-manager".
See "SUBSCRIPTION-MANAGER" in virt-builder(1) for the format of the "SELECTOR" field.
--sm-credentials SELECTOR (see "customize" below) Set the credentials for "subscription-manager".
--sm-register (see "customize" below) Register the guest using "subscription-manager".
This requires credentials being set using --sm-credentials.
--sm-remove (see "customize" below) Remove all the subscriptions from the guest using "subscription-manager".
--sm-unregister (see "customize" below) Unregister the guest using "subscription-manager".
--ssh-inject USER[:SELECTOR] (see "customize" below) Inject an ssh key so the given "USER" will be able to log in over ssh without supplying a password.  The "USER" must exist already in the guest.
See "SSH KEYS" in virt-builder(1) for the format of the "SELECTOR" field.
You can have multiple --ssh-inject options, for different users and also for more keys for each user.
--timezone TIMEZONE (see "customize" below) Set the default timezone of the guest to "TIMEZONE".  Use a location string like "Europe/London"
--touch FILE (see "customize" below) This command performs a touch(1)-like operation on "FILE".
--truncate FILE (see "customize" below) This command truncates "FILE" to a zero-length file. The file must exist already.
--truncate-recursive PATH (see "customize" below) This command recursively truncates all files under "PATH" to zero- length.