From 124ada3f00802e8f0056e8bbaf15f3b68a5377c1392326a43b898c0ab55b73ba Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 18 Mar 2011 18:51:17 +0000 Subject: [PATCH] Accepting request 64020 from home:computersalat:devel:Base OBS-URL: https://build.opensuse.org/request/show/64020 OBS-URL: https://build.opensuse.org/package/show/Base:System/busybox?expand=0&rev=12 --- BusyBox.1 | 4530 ++++++++++++++++++++++++++++++ busybox-1.17.2.tar.bz2 | 3 - busybox-1.18.3-buildsys.patch | 10 + busybox-1.18.3-cksum.patch | 10 + busybox-1.18.3-klogd.patch | 45 + busybox-1.18.3-libarchive.patch | 13 + busybox-1.18.3-menuconfig.patch | 11 + busybox-1.18.3-modutils24.patch | 36 + busybox-1.18.3-wget.patch | 128 + busybox-1.18.3.tar.bz2 | 3 + busybox-static.changes | 18 + busybox-static.spec | 37 +- busybox.changes | 18 + busybox.libunarchive-array.patch | 22 - busybox.spec | 35 +- 15 files changed, 4873 insertions(+), 46 deletions(-) create mode 100644 BusyBox.1 delete mode 100644 busybox-1.17.2.tar.bz2 create mode 100644 busybox-1.18.3-buildsys.patch create mode 100644 busybox-1.18.3-cksum.patch create mode 100644 busybox-1.18.3-klogd.patch create mode 100644 busybox-1.18.3-libarchive.patch create mode 100644 busybox-1.18.3-menuconfig.patch create mode 100644 busybox-1.18.3-modutils24.patch create mode 100644 busybox-1.18.3-wget.patch create mode 100644 busybox-1.18.3.tar.bz2 delete mode 100644 busybox.libunarchive-array.patch diff --git a/BusyBox.1 b/BusyBox.1 new file mode 100644 index 0000000..44616d8 --- /dev/null +++ b/BusyBox.1 @@ -0,0 +1,4530 @@ +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "BUSYBOX 1" +.TH BUSYBOX 1 "2009-10-02" "version 1.16.0.git" "BusyBox" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +BusyBox \- The Swiss Army Knife of Embedded Linux +.SH "SYNTAX" +.IX Header "SYNTAX" +.Vb 1 +\& busybox [arguments...] # or +\& +\& [arguments...] # if symlinked +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +BusyBox combines tiny versions of many common \s-1UNIX\s0 utilities into a single +small executable. It provides minimalist replacements for most of the utilities +you usually find in \s-1GNU\s0 coreutils, util-linux, etc. The utilities in BusyBox +generally have fewer options than their full-featured \s-1GNU\s0 cousins; however, the +options that are included provide the expected functionality and behave very +much like their \s-1GNU\s0 counterparts. +.PP +BusyBox has been written with size-optimization and limited resources in mind. +It is also extremely modular so you can easily include or exclude commands (or +features) at compile time. This makes it easy to customize your embedded +systems. To create a working system, just add /dev, /etc, and a Linux kernel. +BusyBox provides a fairly complete \s-1POSIX\s0 environment for any small or embedded +system. +.PP +BusyBox is extremely configurable. This allows you to include only the +components you need, thereby reducing binary size. Run 'make config' or 'make +menuconfig' to select the functionality that you wish to enable. Then run +\&'make' to compile BusyBox using your configuration. +.PP +After the compile has finished, you should use 'make install' to install +BusyBox. This will install the 'bin/busybox' binary, in the target directory +specified by \s-1CONFIG_PREFIX\s0. \s-1CONFIG_PREFIX\s0 can be set when configuring BusyBox, +or you can specify an alternative location at install time (i.e., with a +command line like 'make CONFIG_PREFIX=/tmp/foo install'). If you enabled +any applet installation scheme (either as symlinks or hardlinks), these will +also be installed in the location pointed to by \s-1CONFIG_PREFIX\s0. +.SH "USAGE" +.IX Header "USAGE" +BusyBox is a multi-call binary. A multi-call binary is an executable program +that performs the same job as more than one utility program. That means there +is just a single BusyBox binary, but that single binary acts like a large +number of utilities. This allows BusyBox to be smaller since all the built-in +utility programs (we call them applets) can share code for many common +operations. +.PP +You can also invoke BusyBox by issuing a command as an argument on the +command line. For example, entering +.PP +.Vb 1 +\& /bin/busybox ls +.Ve +.PP +will also cause BusyBox to behave as 'ls'. +.PP +Of course, adding '/bin/busybox' into every command would be painful. So most +people will invoke BusyBox using links to the BusyBox binary. +.PP +For example, entering +.PP +.Vb 2 +\& ln \-s /bin/busybox ls +\& ./ls +.Ve +.PP +will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled +into BusyBox). Generally speaking, you should never need to make all these +links yourself, as the BusyBox build system will do this for you when you run +the 'make install' command. +.PP +If you invoke BusyBox with no arguments, it will provide you with a list of the +applets that have been compiled into your BusyBox binary. +.SH "COMMON OPTIONS" +.IX Header "COMMON OPTIONS" +Most BusyBox applets support the \fB\-\-help\fR argument to provide a terse runtime +description of their behavior. If the \s-1CONFIG_FEATURE_VERBOSE_USAGE\s0 option has +been enabled, more detailed usage information will also be available. +.SH "COMMANDS" +.IX Header "COMMANDS" +Currently available applets include: +.PP +.Vb 10 +\& [, [[, acpid, addgroup, adduser, adjtimex, ar, arp, arping, ash, +\& awk, basename, beep, blkid, brctl, bunzip2, bzcat, bzip2, cal, cat, +\& catv, chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot, +\& chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond, crontab, +\& cryptpw, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod, +\& devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, +\& dos2unix, dpkg, du, dumpkmap, dumpleases, echo, ed, egrep, eject, +\& env, envdir, envuidgid, expand, expr, fakeidentd, false, fbset, +\& fbsplash, fdflush, fdformat, fdisk, fgrep, find, findfs, flash_lock, +\& flash_unlock, fold, free, freeramdisk, fsck, fsck.minix, fsync, +\& ftpd, ftpget, ftpput, fuser, getopt, getty, grep, gunzip, gzip, hd, +\& hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock, id, +\& ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init, inotifyd, +\& insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, +\& iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd, +\& last, length, less, linux32, linux64, linuxrc, ln, loadfont, +\& loadkmap, logger, login, logname, logread, losetup, lpd, lpq, lpr, +\& ls, lsattr, lsmod, lzmacat, lzop, lzopcat, makemime, man, md5sum, +\& mdev, mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.minix, mkfs.vfat, +\& mknod, mkpasswd, mkswap, mktemp, modprobe, more, mount, mountpoint, +\& mt, mv, nameif, nc, netstat, nice, nmeter, nohup, nslookup, od, +\& openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress, +\& pivot_root, pkill, popmaildir, printenv, printf, ps, pscan, pwd, +\& raidautorun, rdate, rdev, readlink, readprofile, realpath, +\& reformime, renice, reset, resize, rm, rmdir, rmmod, route, rpm, +\& rpm2cpio, rtcwake, run\-parts, runlevel, runsv, runsvdir, rx, script, +\& scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont, +\& setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum, sha256sum, +\& sha512sum, showkey, slattach, sleep, softlimit, sort, split, +\& start\-stop\-daemon, stat, strings, stty, su, sulogin, sum, sv, +\& svlogd, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, +\& tail, tar, taskset, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd, +\& time, timeout, top, touch, tr, traceroute, true, tty, ttysize, +\& udhcpc, udhcpd, udpsvd, umount, uname, uncompress, unexpand, uniq, +\& unix2dos, unlzma, unlzop, unzip, uptime, usleep, uudecode, uuencode, +\& vconfig, vi, vlock, volname, watch, watchdog, wc, wget, which, who, +\& whoami, xargs, yes, zcat, zcip +.Ve +.SH "COMMAND DESCRIPTIONS" +.IX Header "COMMAND DESCRIPTIONS" +.IP "\fBacpid\fR" 4 +.IX Item "acpid" +acpid [\-d] [\-c \s-1CONFDIR\s0] [\-l \s-1LOGFILE\s0] [\-e \s-1PROC_EVENT_FILE\s0] [\s-1EVDEV_EVENT_FILE\s0...] +.Sp +Listen to \s-1ACPI\s0 events and spawn specific helpers on event arrival +.Sp +Options: +.Sp +.Vb 4 +\& \-d Do not daemonize and log to stderr +\& \-c DIR Config directory [/etc/acpi] +\& \-e FILE /proc event file [/proc/acpi/event] +\& \-l FILE Log file [/var/log/acpid] +.Ve +.Sp +Accept and ignore compatibility options \-g \-m \-s \-S \-v +.IP "\fBaddgroup\fR" 4 +.IX Item "addgroup" +addgroup [\-g \s-1GID\s0] [user_name] group_name +.Sp +Add a group or add a user to a group +.Sp +Options: +.Sp +.Vb 2 +\& \-g GID Group id +\& \-S Create a system group +.Ve +.IP "\fBadduser\fR" 4 +.IX Item "adduser" +adduser [\s-1OPTIONS\s0] user_name +.Sp +Add a user +.Sp +Options: +.Sp +.Vb 8 +\& \-h DIR Home directory +\& \-g GECOS GECOS field +\& \-s SHELL Login shell +\& \-G GRP Add user to existing group +\& \-S Create a system user +\& \-D Do not assign a password +\& \-H Do not create home directory +\& \-u UID User id +.Ve +.IP "\fBadjtimex\fR" 4 +.IX Item "adjtimex" +adjtimex [\-q] [\-o offset] [\-f frequency] [\-p timeconstant] [\-t tick] +.Sp +Read and optionally set system timebase parameters. See \fIadjtimex\fR\|(2). +.Sp +Options: +.Sp +.Vb 6 +\& \-q Quiet +\& \-o offset Time offset, microseconds +\& \-f frequency Frequency adjust, integer kernel units (65536 is 1ppm) +\& (positive values make clock run faster) +\& \-t tick Microseconds per tick, usually 10000 +\& \-p timeconstant +.Ve +.IP "\fBar\fR" 4 +.IX Item "ar" +ar [\-o] [\-v] [\-p] [\-t] [\-x] \s-1ARCHIVE\s0 \s-1FILES\s0 +.Sp +Extract or list \s-1FILES\s0 from an ar archive +.Sp +Options: +.Sp +.Vb 5 +\& \-o Preserve original dates +\& \-p Extract to stdout +\& \-t List +\& \-x Extract +\& \-v Verbose +.Ve +.IP "\fBarp\fR" 4 +.IX Item "arp" +arp +[\-vn] [\-H type] [\-i if] \-a [hostname] +[\-v] [\-i if] \-d hostname [pub] +[\-v] [\-H type] [\-i if] \-s hostname hw_addr [temp] +[\-v] [\-H type] [\-i if] \-s hostname hw_addr [netmask nm] pub +[\-v] [\-H type] [\-i if] \-Ds hostname ifa [netmask nm] pub +.Sp +Manipulate \s-1ARP\s0 cache +.Sp +Options: +.Sp +.Vb 9 +\& \-a Display (all) hosts +\& \-s Set new ARP entry +\& \-d Delete a specified entry +\& \-v Verbose +\& \-n Don\*(Aqt resolve names +\& \-i IF Network interface +\& \-D Read from given device +\& \-A, \-p AF Protocol family +\& \-H HWTYPE Hardware address type +.Ve +.IP "\fBarping\fR" 4 +.IX Item "arping" +arping [\-fqbDUA] [\-c count] [\-w timeout] [\-I dev] [\-s sender] target +.Sp +Send \s-1ARP\s0 requests/replies +.Sp +Options: +.Sp +.Vb 11 +\& \-f Quit on first ARP reply +\& \-q Quiet +\& \-b Keep broadcasting, don\*(Aqt go unicast +\& \-D Duplicated address detection mode +\& \-U Unsolicited ARP mode, update your neighbors +\& \-A ARP answer mode, update your neighbors +\& \-c N Stop after sending N ARP requests +\& \-w timeout Time to wait for ARP reply, in seconds +\& \-I dev Interface to use (default eth0) +\& \-s sender Sender IP address +\& target Target IP address +.Ve +.IP "\fBawk\fR" 4 +.IX Item "awk" +awk [\s-1OPTIONS\s0] [\s-1AWK_PROGRAM\s0] [\s-1FILE\s0]... +.Sp +Options: +.Sp +.Vb 3 +\& \-v VAR=VAL Set variable +\& \-F SEP Use SEP as field separator +\& \-f FILE Read program from file +.Ve +.IP "\fBbasename\fR" 4 +.IX Item "basename" +basename \s-1FILE\s0 [\s-1SUFFIX\s0] +.Sp +Strip directory path and .SUFFIX from \s-1FILE\s0 +.IP "\fBbeep\fR" 4 +.IX Item "beep" +beep \-f freq \-l length \-d delay \-r repetitions \-n +.Sp +Options: +.Sp +.Vb 5 +\& \-f Frequency in Hz +\& \-l Length in ms +\& \-d Delay in ms +\& \-r Repetitions +\& \-n Start new tone +.Ve +.IP "\fBblkid\fR" 4 +.IX Item "blkid" +blkid +.Sp +Print UUIDs of all filesystems +.IP "\fBbrctl\fR" 4 +.IX Item "brctl" +brctl \s-1COMMAND\s0 [\s-1BRIDGE\s0 [\s-1INTERFACE\s0]] +.Sp +Manage ethernet bridges +.Sp +Commands: +.Sp +.Vb 10 +\& show Show a list of bridges +\& addbr BRIDGE Create BRIDGE +\& delbr BRIDGE Delete BRIDGE +\& addif BRIDGE IFACE Add IFACE to BRIDGE +\& delif BRIDGE IFACE Delete IFACE from BRIDGE +\& setageing BRIDGE TIME Set ageing time +\& setfd BRIDGE TIME Set bridge forward delay +\& sethello BRIDGE TIME Set hello time +\& setmaxage BRIDGE TIME Set max message age +\& setpathcost BRIDGE COST Set path cost +\& setportprio BRIDGE PRIO Set port priority +\& setbridgeprio BRIDGE PRIO Set bridge priority +\& stp BRIDGE [1|0] STP on/off +.Ve +.IP "\fBbunzip2\fR" 4 +.IX Item "bunzip2" +bunzip2 [\s-1OPTIONS\s0] [\s-1FILE\s0] +.Sp +Uncompress \s-1FILE\s0 (or standard input if \s-1FILE\s0 is '\-' or omitted) +.Sp +Options: +.Sp +.Vb 2 +\& \-c Write to standard output +\& \-f Force +.Ve +.IP "\fBbzcat\fR" 4 +.IX Item "bzcat" +bzcat \s-1FILE\s0 +.Sp +Uncompress to stdout +.IP "\fBbzip2\fR" 4 +.IX Item "bzip2" +bzip2 [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Compress \s-1FILE\s0(s) with bzip2 algorithm. +When \s-1FILE\s0 is '\-' or unspecified, reads standard input. Implies \-c. +.Sp +Options: +.Sp +.Vb 4 +\& \-c Write to standard output +\& \-d Decompress +\& \-f Force +\& \-1..\-9 Compression level +.Ve +.IP "\fBcal\fR" 4 +.IX Item "cal" +cal [\-jy] [[month] year] +.Sp +Display a calendar +.Sp +Options: +.Sp +.Vb 2 +\& \-j Use julian dates +\& \-y Display the entire year +.Ve +.IP "\fBcat\fR" 4 +.IX Item "cat" +cat [\-u] [\s-1FILE\s0]... +.Sp +Concatenate \s-1FILE\s0(s) and print them to stdout +.Sp +Options: +.Sp +.Vb 1 +\& \-u Use unbuffered i/o (ignored) +.Ve +.IP "\fBcatv\fR" 4 +.IX Item "catv" +catv [\-etv] [\s-1FILE\s0]... +.Sp +Display nonprinting characters as ^x or M\-x +.Sp +Options: +.Sp +.Vb 3 +\& \-e End each line with $ +\& \-t Show tabs as ^I +\& \-v Don\*(Aqt use ^x or M\-x escapes +.Ve +.IP "\fBchat\fR" 4 +.IX Item "chat" +chat \s-1EXPECT\s0 [\s-1SEND\s0 [\s-1EXPECT\s0 [\s-1SEND\s0...]]] +.Sp +Useful for interacting with a modem connected to stdin/stdout. +A script consists of one or more \*(L"expect-send\*(R" pairs of strings, +each pair is a pair of arguments. Example: +chat '' \s-1ATZ\s0 \s-1OK\s0 \s-1ATD123456\s0 \s-1CONNECT\s0 '' ogin: pppuser word: ppppass '~' +.IP "\fBchattr\fR" 4 +.IX Item "chattr" +chattr [\-R] [\-+=AacDdijsStTu] [\-v version] files... +.Sp +Change file attributes on an ext2 fs +.Sp +Modifiers: +.Sp +.Vb 4 +\& \- Remove attributes +\& + Add attributes +\& = Set attributes +\&Attributes: +\& +\& A Don\*(Aqt track atime +\& a Append mode only +\& c Enable compress +\& D Write dir contents synchronously +\& d Do not backup with dump +\& i Cannot be modified (immutable) +\& j Write all data to journal first +\& s Zero disk storage when deleted +\& S Write file contents synchronously +\& t Disable tail\-merging of partial blocks with other files +\& u Allow file to be undeleted +\&Options: +\& +\& \-R Recursively list subdirectories +\& \-v Set the file\*(Aqs version/generation number +.Ve +.IP "\fBchgrp\fR" 4 +.IX Item "chgrp" +chgrp [\-RhLHPcvf]... \s-1GROUP\s0 \s-1FILE\s0... +.Sp +Change the group membership of each \s-1FILE\s0 to \s-1GROUP\s0 +.Sp +Options: +.Sp +.Vb 8 +\& \-R Recurse +\& \-h Affect symlinks instead of symlink targets +\& \-L Traverse all symlinks to directories +\& \-H Traverse symlinks on command line only +\& \-P Do not traverse symlinks (default) +\& \-c List changed files +\& \-v Verbose +\& \-f Hide errors +.Ve +.IP "\fBchmod\fR" 4 +.IX Item "chmod" +chmod [\-Rcvf] MODE[,MODE]... \s-1FILE\s0... +.Sp +Each \s-1MODE\s0 is one or more of the letters ugoa, one of the +symbols +\-= and one or more of the letters rwxst +.Sp +Options: +.Sp +.Vb 4 +\& \-R Recurse +\& \-c List changed files +\& \-v List all files +\& \-f Hide errors +.Ve +.IP "\fBchown\fR" 4 +.IX Item "chown" +chown [\-RhLHPcvf]... OWNER[<.|:>[\s-1GROUP\s0]] \s-1FILE\s0... +.Sp +Change the owner and/or group of each \s-1FILE\s0 to \s-1OWNER\s0 and/or \s-1GROUP\s0 +.Sp +Options: +.Sp +.Vb 8 +\& \-R Recurse +\& \-h Affect symlinks instead of symlink targets +\& \-L Traverse all symlinks to directories +\& \-H Traverse symlinks on command line only +\& \-P Do not traverse symlinks (default) +\& \-c List changed files +\& \-v List all files +\& \-f Hide errors +.Ve +.IP "\fBchpasswd\fR" 4 +.IX Item "chpasswd" +chpasswd [\-\-md5|\-\-encrypted] +.Sp +Read user:password from stdin and update /etc/passwd +.Sp +Options: +.Sp +.Vb 2 +\& \-e,\-\-encrypted Supplied passwords are in encrypted form +\& \-m,\-\-md5 Use MD5 encryption instead of DES +.Ve +.IP "\fBchpst\fR" 4 +.IX Item "chpst" +chpst [\-vP012] [\-u USER[:GRP]] [\-U USER[:GRP]] [\-e \s-1DIR\s0] + [\-/ \s-1DIR\s0] [\-n \s-1NICE\s0] [\-m \s-1BYTES\s0] [\-d \s-1BYTES\s0] [\-o N] + [\-p N] [\-f \s-1BYTES\s0] [\-c \s-1BYTES\s0] \s-1PROG\s0 \s-1ARGS\s0 +.Sp +Change the process state and run \s-1PROG\s0 +.Sp +Options: +.Sp +.Vb 10 +\& \-u USER[:GRP] Set uid and gid +\& \-U USER[:GRP] Set $UID and $GID in environment +\& \-e DIR Set environment variables as specified by files +\& in DIR: file=1st_line_of_file +\& \-/ DIR Chroot to DIR +\& \-n NICE Add NICE to nice value +\& \-m BYTES Same as \-d BYTES \-s BYTES \-l BYTES +\& \-d BYTES Limit data segment +\& \-o N Limit number of open files per process +\& \-p N Limit number of processes per uid +\& \-f BYTES Limit output file sizes +\& \-c BYTES Limit core file size +\& \-v Verbose +\& \-P Create new process group +\& \-0 Close standard input +\& \-1 Close standard output +\& \-2 Close standard error +.Ve +.IP "\fBchroot\fR" 4 +.IX Item "chroot" +chroot \s-1NEWROOT\s0 [\s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Run \s-1PROG\s0 with root directory set to \s-1NEWROOT\s0 +.IP "\fBchrt\fR" 4 +.IX Item "chrt" +chrt [\s-1OPTIONS\s0] [\s-1PRIO\s0] [\s-1PID\s0 | \s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Manipulate real-time attributes of a process +.Sp +Options: +.Sp +.Vb 5 +\& \-p Operate on pid +\& \-r Set scheduling policy to SCHED_RR +\& \-f Set scheduling policy to SCHED_FIFO +\& \-o Set scheduling policy to SCHED_OTHER +\& \-m Show min and max priorities +.Ve +.IP "\fBchvt\fR" 4 +.IX Item "chvt" +chvt N +.Sp +Change the foreground virtual terminal to /dev/ttyN +.IP "\fBcksum\fR" 4 +.IX Item "cksum" +cksum \s-1FILES\s0... +.Sp +Calculate the \s-1CRC32\s0 checksums of \s-1FILES\s0 +.IP "\fBclear\fR" 4 +.IX Item "clear" +clear +.Sp +Clear screen +.IP "\fBcmp\fR" 4 +.IX Item "cmp" +cmp [\-l] [\-s] \s-1FILE1\s0 [\s-1FILE2\s0 [\s-1SKIP1\s0 [\s-1SKIP2\s0]]] +.Sp +Compares \s-1FILE1\s0 vs stdin if \s-1FILE2\s0 is not specified +.Sp +Options: +.Sp +.Vb 3 +\& \-l Write the byte numbers (decimal) and values (octal) +\& for all differing bytes +\& \-s Quiet +.Ve +.IP "\fBcomm\fR" 4 +.IX Item "comm" +comm [\-123] \s-1FILE1\s0 \s-1FILE2\s0 +.Sp +Compare \s-1FILE1\s0 to \s-1FILE2\s0, or to stdin if \- is specified +.Sp +Options: +.Sp +.Vb 3 +\& \-1 Suppress lines unique to FILE1 +\& \-2 Suppress lines unique to FILE2 +\& \-3 Suppress lines common to both files +.Ve +.IP "\fBcp\fR" 4 +.IX Item "cp" +cp [\s-1OPTIONS\s0] \s-1SOURCE\s0 \s-1DEST\s0 +.Sp +Copy \s-1SOURCE\s0 to \s-1DEST\s0, or multiple \s-1SOURCE\s0(s) to \s-1DIRECTORY\s0 +.Sp +Options: +.Sp +.Vb 8 +\& \-a Same as \-dpR +\& \-d,\-P Preserve links +\& \-H,\-L Dereference all symlinks (default) +\& \-p Preserve file attributes if possible +\& \-f Force overwrite +\& \-i Prompt before overwrite +\& \-R,\-r Recurse +\& \-l,\-s Create (sym)links +.Ve +.IP "\fBcpio\fR" 4 +.IX Item "cpio" +cpio \-[tiopdmvu] [\-F \s-1FILE\s0] [\-H newc] +.Sp +Extract or list files from a cpio archive, or create a cpio archive +Main operation mode: +.Sp +.Vb 5 +\& \-t List +\& \-i Extract +\& \-o Create +\& \-p Passthrough +\&Options: +\& +\& \-d Make leading directories +\& \-m Preserve mtime +\& \-v Verbose +\& \-u Overwrite +\& \-F Input file +\& \-H Define format +.Ve +.IP "\fBcrond\fR" 4 +.IX Item "crond" +crond \-fbS \-l N \-d N \-L \s-1LOGFILE\s0 \-c \s-1DIR\s0 +.Sp +.Vb 7 +\& \-f Foreground +\& \-b Background (default) +\& \-S Log to syslog (default) +\& \-l Set log level. 0 is the most verbose, default 8 +\& \-d Set log level, log to stderr +\& \-L Log to file +\& \-c Working dir +.Ve +.IP "\fBcrontab\fR" 4 +.IX Item "crontab" +crontab [\-c \s-1DIR\s0] [\-u \s-1USER\s0] [\-ler]|[\s-1FILE\s0] +.Sp +.Vb 6 +\& \-c Crontab directory +\& \-u User +\& \-l List crontab +\& \-e Edit crontab +\& \-r Delete crontab +\& FILE Replace crontab by FILE (\*(Aq\-\*(Aq: stdin) +.Ve +.IP "\fBcryptpw\fR" 4 +.IX Item "cryptpw" +cryptpw [\s-1OPTIONS\s0] [\s-1PASSWORD\s0] [\s-1SALT\s0] +.Sp +Crypt the \s-1PASSWORD\s0 using \fIcrypt\fR\|(3) +.Sp +Options: +.Sp +.Vb 3 +\& \-P,\-\-password\-fd=NUM Read password from fd NUM +\& \-m,\-\-method=TYPE Encryption method TYPE +\& \-S,\-\-salt=SALT +.Ve +.IP "\fBcut\fR" 4 +.IX Item "cut" +cut [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Print selected fields from each input \s-1FILE\s0 to standard output +.Sp +Options: +.Sp +.Vb 6 +\& \-b LIST Output only bytes from LIST +\& \-c LIST Output only characters from LIST +\& \-d CHAR Use CHAR instead of tab as the field delimiter +\& \-s Output only the lines containing delimiter +\& \-f N Print only these fields +\& \-n Ignored +.Ve +.IP "\fBdate\fR" 4 +.IX Item "date" +date [\s-1OPTIONS\s0] [+FMT] [\s-1TIME\s0] +.Sp +Display time (using +FMT), or set time +.Sp +Options: +.Sp +.Vb 10 +\& [\-s] TIME Set time to TIME +\& \-u Work in UTC (don\*(Aqt convert to local time) +\& \-R Output RFC\-822 compliant date string +\& \-I[SPEC] Output ISO\-8601 compliant date string +\& SPEC=\*(Aqdate\*(Aq (default) for date only, +\& \*(Aqhours\*(Aq, \*(Aqminutes\*(Aq, or \*(Aqseconds\*(Aq for date and +\& time to the indicated precision +\& \-r FILE Display last modification time of FILE +\& \-d TIME Display TIME, not \*(Aqnow\*(Aq +\& \-D FMT Use FMT for \-d TIME conversion +.Ve +.Sp +Recognized \s-1TIME\s0 formats: +.Sp +.Vb 4 +\& hh:mm[:ss] +\& [YYYY.]MM.DD\-hh:mm[:ss] +\& YYYY\-MM\-DD hh:mm[:ss] +\& [[[[[YY]YY]MM]DD]hh]mm[.ss] +.Ve +.IP "\fBdc\fR" 4 +.IX Item "dc" +dc expression... +.Sp +Tiny \s-1RPN\s0 calculator. Operations: ++, add, \-, sub, *, mul, /, div, %, mod, **, exp, and, or, not, eor, +p \- print top of the stack (without altering the stack), +f \- print entire stack, o \- pop the value and set output radix +(value must be 10 or 16). +Examples: 'dc 2 2 add' \-> 4, 'dc 8 8 * 2 2 + /' \-> 16. +.IP "\fBdd\fR" 4 +.IX Item "dd" +dd [if=FILE] [of=FILE] [ibs=N] [obs=N] [bs=N] [count=N] [skip=N] + [seek=N] [conv=notrunc|noerror|sync|fsync] +.Sp +Copy a file with converting and formatting +.Sp +Options: +.Sp +.Vb 12 +\& if=FILE Read from FILE instead of stdin +\& of=FILE Write to FILE instead of stdout +\& bs=N Read and write N bytes at a time +\& ibs=N Read N bytes at a time +\& obs=N Write N bytes at a time +\& count=N Copy only N input blocks +\& skip=N Skip N input blocks +\& seek=N Skip N output blocks +\& conv=notrunc Don\*(Aqt truncate output file +\& conv=noerror Continue after read errors +\& conv=sync Pad blocks with zeros +\& conv=fsync Physically write data out before finishing +.Ve +.Sp +Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024), +\&\s-1MD\s0 (x1000000), M (x1048576), \s-1GD\s0 (x1000000000) or G (x1073741824) +.IP "\fBdeallocvt\fR" 4 +.IX Item "deallocvt" +deallocvt [N] +.Sp +Deallocate unused virtual terminal /dev/ttyN +.IP "\fBdelgroup\fR" 4 +.IX Item "delgroup" +delgroup [\s-1USER\s0] \s-1GROUP\s0 +.Sp +Delete group \s-1GROUP\s0 from the system or user \s-1USER\s0 from group \s-1GROUP\s0 +.IP "\fBdeluser\fR" 4 +.IX Item "deluser" +deluser \s-1USER\s0 +.Sp +Delete \s-1USER\s0 from the system +.IP "\fBdevmem\fR" 4 +.IX Item "devmem" +devmem \s-1ADDRESS\s0 [\s-1WIDTH\s0 [\s-1VALUE\s0]] +.Sp +Read/write from physical address +.Sp +.Vb 3 +\& ADDRESS Address to act upon +\& WIDTH Width (8/16/...) +\& VALUE Data to be written +.Ve +.IP "\fBdf\fR" 4 +.IX Item "df" +df [\-Pkmhai] [\-B \s-1SIZE\s0] [\s-1FILESYSTEM\s0...] +.Sp +Print filesystem usage statistics +.Sp +Options: +.Sp +.Vb 7 +\& \-P POSIX output format +\& \-k 1024\-byte blocks (default) +\& \-m 1M\-byte blocks +\& \-h Human readable (e.g. 1K 243M 2G) +\& \-a Show all filesystems +\& \-i Inodes +\& \-B SIZE Blocksize +.Ve +.IP "\fBdhcprelay\fR" 4 +.IX Item "dhcprelay" +dhcprelay CLIENT_IFACE[,CLIENT_IFACE2...] \s-1SERVER_IFACE\s0 [\s-1SERVER_IP\s0] +.Sp +Relay \s-1DHCP\s0 requests between clients and server +.IP "\fBdiff\fR" 4 +.IX Item "diff" +diff [\-abdiNqrTstw] [\-L \s-1LABEL\s0] [\-S \s-1FILE\s0] [\-U \s-1LINES\s0] \s-1FILE1\s0 \s-1FILE2\s0 +.Sp +Compare files line by line and output the differences between them. +This implementation supports unified diffs only. +.Sp +Options: +.Sp +.Vb 10 +\& \-a Treat all files as text +\& \-b Ignore changes in the amount of whitespace +\& \-d Try hard to find a smaller set of changes +\& \-i Ignore case differences +\& \-L Use LABEL instead of the filename in the unified header +\& \-N Treat absent files as empty +\& \-q Output only whether files differ +\& \-r Recursively compare subdirectories +\& \-S Start with FILE when comparing directories +\& \-T Make tabs line up by prefixing a tab when necessary +\& \-s Report when two files are the same +\& \-t Expand tabs to spaces in output +\& \-U Output LINES lines of context +\& \-w Ignore all whitespace +.Ve +.IP "\fBdirname\fR" 4 +.IX Item "dirname" +dirname \s-1FILENAME\s0 +.Sp +Strip non-directory suffix from \s-1FILENAME\s0 +.IP "\fBdmesg\fR" 4 +.IX Item "dmesg" +dmesg [\-c] [\-n \s-1LEVEL\s0] [\-s \s-1SIZE\s0] +.Sp +Print or control the kernel ring buffer +.Sp +Options: +.Sp +.Vb 3 +\& \-c Clear ring buffer after printing +\& \-n LEVEL Set console logging level +\& \-s SIZE Buffer size +.Ve +.IP "\fBdnsd\fR" 4 +.IX Item "dnsd" +dnsd [\-c config] [\-t seconds] [\-p port] [\-i iface\-ip] [\-d] +.Sp +Small static \s-1DNS\s0 server daemon +.Sp +Options: +.Sp +.Vb 5 +\& \-c Config filename +\& \-t TTL in seconds +\& \-p Listening port +\& \-i Listening ip (default all) +\& \-d Daemonize +.Ve +.IP "\fBdos2unix\fR" 4 +.IX Item "dos2unix" +dos2unix [\s-1OPTION\s0] [\s-1FILE\s0] +.Sp +Convert \s-1FILE\s0 in-place from \s-1DOS\s0 to Unix format. +When no file is given, use stdin/stdout. +.Sp +Options: +.Sp +.Vb 2 +\& \-u dos2unix +\& \-d unix2dos +.Ve +.IP "\fBdpkg\fR" 4 +.IX Item "dpkg" +dpkg [\-ilCPru] [\-F option] package_name +.Sp +Install, remove and manage Debian packages +.Sp +Options: +.Sp +.Vb 7 +\& \-i Install the package +\& \-l List of installed packages +\& \-C Configure an unpackaged package +\& \-F depends Ignore dependency problems +\& \-P Purge all files of a package +\& \-r Remove all but the configuration files for a package +\& \-u Unpack a package, but don\*(Aqt configure it +.Ve +.IP "\fBdu\fR" 4 +.IX Item "du" +du [\-aHLdclsxhmk] [\s-1FILE\s0]... +.Sp +Summarize disk space used for each \s-1FILE\s0 and/or directory. +Disk space is printed in units of 1024 bytes. +.Sp +Options: +.Sp +.Vb 11 +\& \-a Show file sizes too +\& \-H Follow symlinks on command line +\& \-L Follow all symlinks +\& \-d N Limit output to directories (and files with \-a) of depth < N +\& \-c Show grand total +\& \-l Count sizes many times if hard linked +\& \-s Display only a total for each argument +\& \-x Skip directories on different filesystems +\& \-h Sizes in human readable format (e.g., 1K 243M 2G ) +\& \-m Sizes in megabytes +\& \-k Sizes in kilobytes (default) +.Ve +.IP "\fBdumpkmap\fR" 4 +.IX Item "dumpkmap" +dumpkmap > keymap +.Sp +Print a binary keyboard translation table to standard output +.IP "\fBdumpleases\fR" 4 +.IX Item "dumpleases" +dumpleases [\-r|\-a] [\-f \s-1LEASEFILE\s0] +.Sp +Display \s-1DHCP\s0 leases granted by udhcpd +.Sp +Options: +.Sp +.Vb 3 +\& \-f,\-\-file=FILE Leases file to load +\& \-r,\-\-remaining Interpret lease times as time remaining +\& \-a,\-\-absolute Interpret lease times as expire time +.Ve +.IP "\fBecho\fR" 4 +.IX Item "echo" +echo [\-neE] [\s-1ARG\s0...] +.Sp +Print the specified ARGs to stdout +.Sp +Options: +.Sp +.Vb 3 +\& \-n Suppress trailing newline +\& \-e Interpret backslash\-escaped characters (i.e., \et=tab) +\& \-E Disable interpretation of backslash\-escaped characters +.Ve +.IP "\fBed\fR" 4 +.IX Item "ed" +ed +.IP "\fBeject\fR" 4 +.IX Item "eject" +eject [\-t] [\-T] [\s-1DEVICE\s0] +.Sp +Eject specified \s-1DEVICE\s0 (or default /dev/cdrom) +.Sp +Options: +.Sp +.Vb 3 +\& \-s SCSI device +\& \-t Close tray +\& \-T Open/close tray (toggle) +.Ve +.IP "\fBenv\fR" 4 +.IX Item "env" +env [\-iu] [\-] [name=value]... [\s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Print the current environment or run \s-1PROG\s0 after setting up +the specified environment +.Sp +Options: +.Sp +.Vb 2 +\& \-, \-i Start with an empty environment +\& \-u Remove variable from the environment +.Ve +.IP "\fBenvdir\fR" 4 +.IX Item "envdir" +envdir dir prog args +.Sp +Set various environment variables as specified by files +in the directory dir and run \s-1PROG\s0 +.IP "\fBenvuidgid\fR" 4 +.IX Item "envuidgid" +envuidgid account prog args +.Sp +Set \f(CW$UID\fR to account's uid and \f(CW$GID\fR to account's gid and run \s-1PROG\s0 +.IP "\fBexpand\fR" 4 +.IX Item "expand" +expand [\-i] [\-t \s-1NUM\s0] [FILE|\-] +.Sp +Convert tabs to spaces, writing to standard output +.Sp +Options: +.Sp +.Vb 2 +\& \-i,\-\-initial Do not convert tabs after non blanks +\& \-t,\-\-tabs=N Tabstops every N chars +.Ve +.IP "\fBexpr\fR" 4 +.IX Item "expr" +expr \s-1EXPRESSION\s0 +.Sp +Print the value of \s-1EXPRESSION\s0 to standard output +.Sp +\&\s-1EXPRESSION\s0 may be: +.Sp +.Vb 10 +\& ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 +\& ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 +\& ARG1 < ARG2 1 if ARG1 is less than ARG2, else 0. Similarly: +\& ARG1 <= ARG2 +\& ARG1 = ARG2 +\& ARG1 != ARG2 +\& ARG1 >= ARG2 +\& ARG1 > ARG2 +\& ARG1 + ARG2 Sum of ARG1 and ARG2. Similarly: +\& ARG1 \- ARG2 +\& ARG1 * ARG2 +\& ARG1 / ARG2 +\& ARG1 % ARG2 +\& STRING : REGEXP Anchored pattern match of REGEXP in STRING +\& match STRING REGEXP Same as STRING : REGEXP +\& substr STRING POS LENGTH Substring of STRING, POS counted from 1 +\& index STRING CHARS Index in STRING where any CHARS is found, or 0 +\& length STRING Length of STRING +\& quote TOKEN Interpret TOKEN as a string, even if +\& it is a keyword like \*(Aqmatch\*(Aq or an +\& operator like \*(Aq/\*(Aq +\& (EXPRESSION) Value of EXPRESSION +.Ve +.Sp +Beware that many operators need to be escaped or quoted for shells. +Comparisons are arithmetic if both ARGs are numbers, else +lexicographical. Pattern matches return the string matched between +\&\e( and \e) or null; if \e( and \e) are not used, they return the number +of characters matched or 0. +.IP "\fBfakeidentd\fR" 4 +.IX Item "fakeidentd" +fakeidentd [\-fiw] [\-b \s-1ADDR\s0] [\s-1STRING\s0] +.Sp +Provide fake ident (auth) service +.Sp +Options: +.Sp +.Vb 5 +\& \-f Run in foreground +\& \-i Inetd mode +\& \-w Inetd \*(Aqwait\*(Aq mode +\& \-b ADDR Bind to specified address +\& STRING Ident answer string (default: nobody) +.Ve +.IP "\fBfalse\fR" 4 +.IX Item "false" +false +.Sp +Return an exit code of \s-1FALSE\s0 (1) +.IP "\fBfbset\fR" 4 +.IX Item "fbset" +fbset [\s-1OPTIONS\s0] [\s-1MODE\s0] +.Sp +Show and modify frame buffer settings +.IP "\fBfbsplash\fR" 4 +.IX Item "fbsplash" +fbsplash \-s \s-1IMGFILE\s0 [\-c] [\-d \s-1DEV\s0] [\-i \s-1INIFILE\s0] [\-f \s-1CMD\s0] +.Sp +Options: +.Sp +.Vb 8 +\& \-s Image +\& \-c Hide cursor +\& \-d Framebuffer device (default /dev/fb0) +\& \-i Config file (var=value): +\& BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT +\& BAR_R,BAR_G,BAR_B +\& \-f Control pipe (else exit after drawing image) +\& commands: \*(AqNN\*(Aq (% for progress bar) or \*(Aqexit\*(Aq +.Ve +.IP "\fBfdflush\fR" 4 +.IX Item "fdflush" +fdflush \s-1DEVICE\s0 +.Sp +Force floppy disk drive to detect disk change +.IP "\fBfdformat\fR" 4 +.IX Item "fdformat" +fdformat [\-n] \s-1DEVICE\s0 +.Sp +Format floppy disk +.Sp +Options: +.Sp +.Vb 1 +\& \-n Don\*(Aqt verify after format +.Ve +.IP "\fBfdisk\fR" 4 +.IX Item "fdisk" +fdisk [\-ul] [\-C \s-1CYLINDERS\s0] [\-H \s-1HEADS\s0] [\-S \s-1SECTORS\s0] [\-b \s-1SSZ\s0] \s-1DISK\s0 +.Sp +Change partition table +.Sp +Options: +.Sp +.Vb 5 +\& \-u Start and End are in sectors (instead of cylinders) +\& \-l Show partition table for each DISK, then exit +\& \-b 2048 (for certain MO disks) use 2048\-byte sectors +\& \-C CYLINDERS Set number of cylinders/heads/sectors +\& \-H HEADS +\& +\& \-S SECTORS +.Ve +.IP "\fBfind\fR" 4 +.IX Item "find" +find [\s-1PATH\s0...] [\s-1EXPRESSION\s0] +.Sp +Search for files. The default \s-1PATH\s0 is the current directory, +default \s-1EXPRESSION\s0 is '\-print' +.Sp +\&\s-1EXPRESSION\s0 may consist of: +.Sp +.Vb 10 +\& \-follow Dereference symlinks +\& \-xdev Don\*(Aqt descend directories on other filesystems +\& \-maxdepth N Descend at most N levels. \-maxdepth 0 applies +\& tests/actions to command line arguments only +\& \-mindepth N Do not act on first N levels +\& \-name PATTERN File name (w/o directory name) matches PATTERN +\& \-iname PATTERN Case insensitive \-name +\& \-path PATTERN Path matches PATTERN +\& \-regex PATTERN Path matches regex PATTERN +\& \-type X File type is X (X is one of: f,d,l,b,c,...) +\& \-perm NNN Permissions match any of (+NNN), all of (\-NNN), +\& or exactly (NNN) +\& \-mtime DAYS Modified time is greater than (+N), less than (\-N), +\& or exactly (N) days +\& \-mmin MINS Modified time is greater than (+N), less than (\-N), +\& or exactly (N) minutes +\& \-newer FILE Modified time is more recent than FILE\*(Aqs +\& \-inum N File has inode number N +\& \-user NAME File is owned by user NAME (numeric user ID allowed) +\& \-group NAME File belongs to group NAME (numeric group ID allowed) +\& \-depth Process directory name after traversing it +\& \-size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.)). +\& +/\-N: file size is bigger/smaller than N +\& \-print Print (default and assumed) +\& \-print0 Delimit output with null characters rather than +\& newlines +\& \-exec CMD ARG ; Run CMD with all instances of {} replaced by the +\& matching files +\& \-prune Stop traversing current subtree +\& \-delete Delete files, turns on \-depth option +\& (EXPR) Group an expression +.Ve +.IP "\fBfindfs\fR" 4 +.IX Item "findfs" +findfs LABEL=label or UUID=uuid +.Sp +Find a filesystem device based on a label or \s-1UUID\s0 +.IP "\fBflash_lock\fR" 4 +.IX Item "flash_lock" +flash_lock \s-1MTD_DEVICE\s0 \s-1OFFSET\s0 \s-1SECTORS\s0 +.Sp +Lock part or all of an \s-1MTD\s0 device. If \s-1SECTORS\s0 is \-1, then all sectors +will be locked, regardless of the value of \s-1OFFSET\s0 +.IP "\fBflash_unlock\fR" 4 +.IX Item "flash_unlock" +flash_unlock \s-1MTD_DEVICE\s0 +.Sp +Unlock an \s-1MTD\s0 device +.IP "\fBfold\fR" 4 +.IX Item "fold" +fold [\-bs] [\-w \s-1WIDTH\s0] [\s-1FILE\s0] +.Sp +Wrap input lines in each \s-1FILE\s0 (standard input by default), writing to +standard output +.Sp +Options: +.Sp +.Vb 3 +\& \-b Count bytes rather than columns +\& \-s Break at spaces +\& \-w Use WIDTH columns instead of 80 +.Ve +.IP "\fBfree\fR" 4 +.IX Item "free" +free +.Sp +Display the amount of free and used system memory +.IP "\fBfreeramdisk\fR" 4 +.IX Item "freeramdisk" +freeramdisk \s-1DEVICE\s0 +.Sp +Free all memory used by the specified ramdisk +.IP "\fBfsck\fR" 4 +.IX Item "fsck" +fsck [\-ANPRTV] [\-C fd] [\-t fstype] [fs\-options] [filesys...] +.Sp +Check and repair filesystems +.Sp +Options: +.Sp +.Vb 8 +\& \-A Walk /etc/fstab and check all filesystems +\& \-N Don\*(Aqt execute, just show what would be done +\& \-P With \-A, check filesystems in parallel +\& \-R With \-A, skip the root filesystem +\& \-T Don\*(Aqt show title on startup +\& \-V Verbose +\& \-C n Write status information to specified filedescriptor +\& \-t type List of filesystem types to check +.Ve +.IP "\fBfsck.minix\fR" 4 +.IX Item "fsck.minix" +fsck.minix [\-larvsmf] /dev/name +.Sp +Check \s-1MINIX\s0 filesystem +.Sp +Options: +.Sp +.Vb 7 +\& \-l List all filenames +\& \-r Perform interactive repairs +\& \-a Perform automatic repairs +\& \-v Verbose +\& \-s Output superblock information +\& \-m Show "mode not cleared" warnings +\& \-f Force file system check +.Ve +.IP "\fBfsync\fR" 4 +.IX Item "fsync" +fsync [\s-1OPTIONS\s0] \s-1FILE\s0...Write files' buffered blocks to disk +.Sp +Options: +.Sp +.Vb 1 +\& \-d Avoid syncing metadata +.Ve +.IP "\fBftpd\fR" 4 +.IX Item "ftpd" +ftpd [\-wvS] [\-t N] [\-T N] [\s-1DIR\s0] +.Sp +Anonymous \s-1FTP\s0 server +.Sp +ftpd should be used as an inetd service. +ftpd's line for inetd.conf: + 21 stream tcp nowait root ftpd ftpd /files/to/serve +It also can be ran from tcpsvd: +.Sp +.Vb 1 +\& tcpsvd \-vE 0.0.0.0 21 ftpd /files/to/serve +.Ve +.Sp +Options: +.Sp +.Vb 5 +\& \-w Allow upload +\& \-v Log to stderr +\& \-S Log to syslog +\& \-t,\-T Idle and absolute timeouts +\& DIR Change root to this directory +.Ve +.IP "\fBftpget\fR" 4 +.IX Item "ftpget" +ftpget [\s-1OPTIONS\s0] \s-1HOST\s0 \s-1LOCAL_FILE\s0 \s-1REMOTE_FILE\s0 +.Sp +Retrieve a remote file via \s-1FTP\s0 +.Sp +Options: +.Sp +.Vb 5 +\& \-c,\-\-continue Continue previous transfer +\& \-v,\-\-verbose Verbose +\& \-u,\-\-username Username +\& \-p,\-\-password Password +\& \-P,\-\-port Port number +.Ve +.IP "\fBftpput\fR" 4 +.IX Item "ftpput" +ftpput [\s-1OPTIONS\s0] \s-1HOST\s0 \s-1REMOTE_FILE\s0 \s-1LOCAL_FILE\s0 +.Sp +Store a local file on a remote machine via \s-1FTP\s0 +.Sp +Options: +.Sp +.Vb 4 +\& \-v,\-\-verbose Verbose +\& \-u,\-\-username Username +\& \-p,\-\-password Password +\& \-P,\-\-port Port number +.Ve +.IP "\fBfuser\fR" 4 +.IX Item "fuser" +fuser [\s-1OPTIONS\s0] \s-1FILE\s0 or \s-1PORT/PROTO\s0 +.Sp +Find processes which use FILEs or PORTs +.Sp +Options: +.Sp +.Vb 6 +\& \-m Find processes which use same fs as FILEs +\& \-4 Search only IPv4 space +\& \-6 Search only IPv6 space +\& \-s Silent: just exit with 0 if any processes are found +\& \-k Kill found processes (otherwise display PIDs) +\& \-SIGNAL Signal to send (default: TERM) +.Ve +.IP "\fBgetopt\fR" 4 +.IX Item "getopt" +getopt [\s-1OPTIONS\s0] +.Sp +Options: +.Sp +.Vb 9 +\& \-a,\-\-alternative Allow long options starting with single \- +\& \-l,\-\-longoptions=longopts Long options to be recognized +\& \-n,\-\-name=progname The name under which errors are reported +\& \-o,\-\-options=optstring Short options to be recognized +\& \-q,\-\-quiet Disable error reporting by getopt(3) +\& \-Q,\-\-quiet\-output No normal output +\& \-s,\-\-shell=shell Set shell quoting conventions +\& \-T,\-\-test Test for getopt(1) version +\& \-u,\-\-unquoted Don\*(Aqt quote the output +.Ve +.IP "\fBgetty\fR" 4 +.IX Item "getty" +getty [\s-1OPTIONS\s0] \s-1BAUD_RATE\s0 \s-1TTY\s0 [\s-1TERMTYPE\s0] +.Sp +Open a tty, prompt for a login name, then invoke /bin/login +.Sp +Options: +.Sp +.Vb 11 +\& \-h Enable hardware (RTS/CTS) flow control +\& \-i Do not display /etc/issue before running login +\& \-L Local line, do not do carrier detect +\& \-m Get baud rate from modem\*(Aqs CONNECT status message +\& \-w Wait for a CR or LF before sending /etc/issue +\& \-n Do not prompt the user for a login name +\& \-f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue +\& \-l LOGIN Invoke LOGIN instead of /bin/login +\& \-t SEC Terminate after SEC if no username is read +\& \-I INITSTR Send INITSTR before anything else +\& \-H HOST Log HOST into the utmp file as the hostname +.Ve +.IP "\fBgrep\fR" 4 +.IX Item "grep" +grep [\-HhrilLnqvsoweFEABCz] \s-1PATTERN\s0 [\s-1FILE\s0]... +.Sp +Search for \s-1PATTERN\s0 in each \s-1FILE\s0 or standard input +.Sp +Options: +.Sp +.Vb 10 +\& \-H Prefix output lines with filename where match was found +\& \-h Suppress the prefixing filename on output +\& \-r Recurse +\& \-i Ignore case distinctions +\& \-l List names of files that match +\& \-L List names of files that do not match +\& \-n Print line number with output lines +\& \-q Quiet. Return 0 if PATTERN is found, 1 otherwise +\& \-v Select non\-matching lines +\& \-s Suppress file open/read error messages +\& \-c Only print count of matching lines +\& \-o Show only the part of a line that matches PATTERN +\& \-m MAX Match up to MAX times per file +\& \-w Match whole words only +\& \-F PATTERN is a set of newline\-separated strings +\& \-E PATTERN is an extended regular expression +\& \-e PTRN Pattern to match +\& \-f FILE Read pattern from file +\& \-A Print NUM lines of trailing context +\& \-B Print NUM lines of leading context +\& \-C Print NUM lines of output context +\& \-z Input is NUL terminated +.Ve +.IP "\fBgunzip\fR" 4 +.IX Item "gunzip" +gunzip [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Uncompress FILEs (or standard input) +.Sp +Options: +.Sp +.Vb 3 +\& \-c Write to standard output +\& \-f Force +\& \-t Test file integrity +.Ve +.IP "\fBgzip\fR" 4 +.IX Item "gzip" +gzip [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Compress FILEs (or standard input) +.Sp +Options: +.Sp +.Vb 3 +\& \-c Write to standard output +\& \-d Decompress +\& \-f Force +.Ve +.IP "\fBhd\fR" 4 +.IX Item "hd" +hd \s-1FILE\s0... +.Sp +hd is an alias for hexdump \-C +.IP "\fBhdparm\fR" 4 +.IX Item "hdparm" +hdparm [\s-1OPTIONS\s0] [\s-1DEVICE\s0] +.Sp +Options: +.Sp +.Vb 10 +\& \-a Get/set fs readahead +\& \-A Set drive read\-lookahead flag (0/1) +\& \-b Get/set bus state (0 == off, 1 == on, 2 == tristate) +\& \-B Set Advanced Power Management setting (1\-255) +\& \-c Get/set IDE 32\-bit IO setting +\& \-C Check IDE power mode status +\& \-d Get/set using_dma flag +\& \-D Enable/disable drive defect\-mgmt +\& \-f Flush buffer cache for device on exit +\& \-g Display drive geometry +\& \-h Display terse usage information +\& \-i Display drive identification +\& \-I Detailed/current information directly from drive +\& \-k Get/set keep_settings_over_reset flag (0/1) +\& \-K Set drive keep_features_over_reset flag (0/1) +\& \-L Set drive doorlock (0/1) (removable harddisks only) +\& \-m Get/set multiple sector count +\& \-n Get/set ignore\-write\-errors flag (0/1) +\& \-p Set PIO mode on IDE interface chipset (0,1,2,3,4,...) +\& \-P Set drive prefetch count +\& \-Q Get/set DMA tagged\-queuing depth (if supported) +\& \-r Get/set readonly flag (DANGEROUS to set) +\& \-R Register an IDE interface (DANGEROUS) +\& \-S Set standby (spindown) timeout +\& \-t Perform device read timings +\& \-T Perform cache read timings +\& \-u Get/set unmaskirq flag (0/1) +\& \-U Un\-register an IDE interface (DANGEROUS) +\& \-v Defaults; same as \-mcudkrag for IDE drives +\& \-V Display program version and exit immediately +\& \-w Perform device reset (DANGEROUS) +\& \-W Set drive write\-caching flag (0/1) (DANGEROUS) +\& \-x Tristate device for hotswap (0/1) (DANGEROUS) +\& \-X Set IDE xfer mode (DANGEROUS) +\& \-y Put IDE drive in standby mode +\& \-Y Put IDE drive to sleep +\& \-Z Disable Seagate auto\-powersaving mode +\& \-z Re\-read partition table +.Ve +.IP "\fBhead\fR" 4 +.IX Item "head" +head [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Print first 10 lines of each \s-1FILE\s0 to standard output. +With more than one \s-1FILE\s0, precede each with a header giving the +file name. With no \s-1FILE\s0, or when \s-1FILE\s0 is \-, read standard input. +.Sp +Options: +.Sp +.Vb 4 +\& \-n NUM Print first NUM lines instead of first 10 +\& \-c NUM Output the first NUM bytes +\& \-q Never output headers giving file names +\& \-v Always output headers giving file names +.Ve +.IP "\fBhexdump\fR" 4 +.IX Item "hexdump" +hexdump [\-bcCdefnosvxR] \s-1FILE\s0... +.Sp +Display file(s) or standard input in a user specified format +.Sp +Options: +.Sp +.Vb 12 +\& \-b One\-byte octal display +\& \-c One\-byte character display +\& \-C Canonical hex+ASCII, 16 bytes per line +\& \-d Two\-byte decimal display +\& \-e FORMAT STRING +\& \-f FORMAT FILE +\& \-n LENGTH Interpret only LENGTH bytes of input +\& \-o Two\-byte octal display +\& \-s OFFSET Skip OFFSET bytes +\& \-v Display all input data +\& \-x Two\-byte hexadecimal display +\& \-R Reverse of \*(Aqhexdump \-Cv\*(Aq +.Ve +.IP "\fBhostid\fR" 4 +.IX Item "hostid" +hostid +.Sp +Print out a unique 32\-bit identifier for the machine +.IP "\fBhostname\fR" 4 +.IX Item "hostname" +hostname [\s-1OPTIONS\s0] [\s-1HOSTNAME\s0 | \-F \s-1FILE\s0] +.Sp +Get or set hostname or \s-1DNS\s0 domain name +.Sp +Options: +.Sp +.Vb 5 +\& \-s Short +\& \-i Addresses for the hostname +\& \-d DNS domain name +\& \-f Fully qualified domain name +\& \-F FILE Use FILE\*(Aqs content as hostname +.Ve +.IP "\fBhttpd\fR" 4 +.IX Item "httpd" +httpd [\-ifv[v]] [\-c \s-1CONFFILE\s0] [\-p [\s-1IP:\s0]PORT] [\-u USER[:GRP]] [\-r \s-1REALM\s0] [\-h \s-1HOME\s0] +or httpd \-d/\-e/\-m \s-1STRING\s0 +.Sp +Listen for incoming \s-1HTTP\s0 requests +.Sp +Options: +.Sp +.Vb 11 +\& \-i Inetd mode +\& \-f Do not daemonize +\& \-v[v] Verbose +\& \-c FILE Configuration file (default httpd.conf) +\& \-p [IP:]PORT Bind to ip:port (default *:80) +\& \-u USER[:GRP] Set uid/gid after binding to port +\& \-r REALM Authentication Realm for Basic Authentication +\& \-h HOME Home directory (default .) +\& \-m STRING MD5 crypt STRING +\& \-e STRING HTML encode STRING +\& \-d STRING URL decode STRING +.Ve +.IP "\fBhwclock\fR" 4 +.IX Item "hwclock" +hwclock [\-r|\-\-show] [\-s|\-\-hctosys] [\-w|\-\-systohc] [\-l|\-\-localtime] [\-u|\-\-utc] [\-f \s-1FILE\s0] +.Sp +Query and set hardware clock (\s-1RTC\s0) +.Sp +Options: +.Sp +.Vb 6 +\& \-r Show hardware clock time +\& \-s Set system time from hardware clock +\& \-w Set hardware clock to system time +\& \-u Hardware clock is in UTC +\& \-l Hardware clock is in local time +\& \-f FILE Use specified device (e.g. /dev/rtc2) +.Ve +.IP "\fBid\fR" 4 +.IX Item "id" +id [\s-1OPTIONS\s0] [\s-1USER\s0] +.Sp +Print information about \s-1USER\s0 or the current user +.Sp +Options: +.Sp +.Vb 5 +\& \-u Print user ID +\& \-g Print group ID +\& \-G Print supplementary group IDs +\& \-n Print name instead of a number +\& \-r Print real user ID instead of effective ID +.Ve +.IP "\fBifconfig\fR" 4 +.IX Item "ifconfig" +ifconfig [\-a] interface [address] +.Sp +Configure a network interface +.Sp +Options: +.Sp +.Vb 10 +\& [add ADDRESS[/PREFIXLEN]] +\& [del ADDRESS[/PREFIXLEN]] +\& [[\-]broadcast [ADDRESS]] [[\-]pointopoint [ADDRESS]] +\& [netmask ADDRESS] [dstaddr ADDRESS] +\& [outfill NN] [keepalive NN] +\& [hw ether|infiniband ADDRESS] [metric NN] [mtu NN] +\& [[\-]trailers] [[\-]arp] [[\-]allmulti] +\& [multicast] [[\-]promisc] [txqueuelen NN] [[\-]dynamic] +\& [mem_start NN] [io_addr NN] [irq NN] +\& [up|down] ... +.Ve +.IP "\fBifdown\fR" 4 +.IX Item "ifdown" +ifdown [\-ainmvf] ifaces... +.Sp +Options: +.Sp +.Vb 7 +\& \-a De/configure all interfaces automatically +\& \-i FILE Use FILE for interface definitions +\& \-n Print out what would happen, but don\*(Aqt do it +\& (note: doesn\*(Aqt disable mappings) +\& \-m Don\*(Aqt run any mappings +\& \-v Print out what would happen before doing it +\& \-f Force de/configuration +.Ve +.IP "\fBifenslave\fR" 4 +.IX Item "ifenslave" +ifenslave [\-cdf] master-iface +.Sp +Configure network interfaces for parallel routing +.Sp +Options: +.Sp +.Vb 3 +\& \-c, \-\-change\-active Change active slave +\& \-d, \-\-detach Remove slave interface from bonding device +\& \-f, \-\-force Force, even if interface is not Ethernet +.Ve +.IP "\fBifplugd\fR" 4 +.IX Item "ifplugd" +ifplugd [\s-1OPTIONS\s0] +.Sp +Network interface plug detection daemon +.Sp +Options: +.Sp +.Vb 10 +\& \-n Do not daemonize +\& \-s Do not log to syslog +\& \-i IFACE Interface +\& \-f/\-F Treat link detection error as link down/link up +\& (otherwise exit on error) +\& \-a Do not up interface automatically +\& \-M Monitor creation/destruction of interface +\& (otherwise it must exist) +\& \-r PROG Script to run +\& \-x ARG Extra argument for script +\& \-I Don\*(Aqt exit on nonzero exit code from script +\& \-p Don\*(Aqt run script on daemon startup +\& \-q Don\*(Aqt run script on daemon quit +\& \-l Run script on startup even if no cable is detected +\& \-t SECS Poll time in seconds +\& \-u SECS Delay before running script after link up +\& \-d SECS Delay after link down +\& \-m MODE API mode (mii, priv, ethtool, wlan, auto) +\& \-k Kill running daemon +.Ve +.IP "\fBifup\fR" 4 +.IX Item "ifup" +ifup [\-ainmvf] ifaces... +.Sp +Options: +.Sp +.Vb 7 +\& \-a De/configure all interfaces automatically +\& \-i FILE Use FILE for interface definitions +\& \-n Print out what would happen, but don\*(Aqt do it +\& (note: doesn\*(Aqt disable mappings) +\& \-m Don\*(Aqt run any mappings +\& \-v Print out what would happen before doing it +\& \-f Force de/configuration +.Ve +.IP "\fBinetd\fR" 4 +.IX Item "inetd" +inetd [\-fe] [\-q N] [\-R N] [\s-1CONFFILE\s0] +.Sp +Listen for network connections and launch programs +.Sp +Options: +.Sp +.Vb 5 +\& \-f Run in foreground +\& \-e Log to stderr +\& \-q N Socket listen queue (default: 128) +\& \-R N Pause services after N connects/min +\& (default: 0 \- disabled) +.Ve +.IP "\fBinit\fR" 4 +.IX Item "init" +init +.Sp +Init is the parent of all processes +.IP "\fBinotifyd\fR" 4 +.IX Item "inotifyd" +inotifyd \s-1PROG\s0 FILE1[:MASK] ... +.Sp +Run \s-1PROG\s0 on filesystem changes. +When a filesystem event matching \s-1MASK\s0 occurs on FILEn, +\&\s-1PROG\s0 [] is run. +Events: +.Sp +.Vb 12 +\& a File is accessed +\& c File is modified +\& e Metadata changed +\& w Writable file is closed +\& 0 Unwritable file is closed +\& r File is opened +\& D File is deleted +\& M File is moved +\& u Backing fs is unmounted +\& o Event queue overflowed +\& x File can\*(Aqt be watched anymore +\&If watching a directory: +\& +\& m Subfile is moved into dir +\& y Subfile is moved out of dir +\& n Subfile is created +\& d Subfile is deleted +.Ve +.Sp +inotifyd waits for \s-1PROG\s0 to exit. +When x event happens for all FILEs, inotifyd exits +.IP "\fBinsmod\fR" 4 +.IX Item "insmod" +insmod [\s-1OPTIONS\s0] \s-1MODULE\s0 [symbol=value]... +.Sp +Load the specified kernel modules into the kernel +.Sp +Options: +.Sp +.Vb 8 +\& \-f Force module to load into the wrong kernel version +\& \-k Make module autoclean\-able +\& \-v Verbose +\& \-q Quiet +\& \-L Lock to prevent simultaneous loads of a module +\& \-m Output load map to stdout +\& \-o NAME Set internal module name to NAME +\& \-x Do not export externs +.Ve +.IP "\fBinstall\fR" 4 +.IX Item "install" +install [\-cdDsp] [\-o \s-1USER\s0] [\-g \s-1GRP\s0] [\-m \s-1MODE\s0] [source] dest|directory +.Sp +Copy files and set attributes +.Sp +Options: +.Sp +.Vb 8 +\& \-c Just copy (default) +\& \-d Create directories +\& \-D Create leading target directories +\& \-s Strip symbol table +\& \-p Preserve date +\& \-o USER Set ownership +\& \-g GRP Set group ownership +\& \-m MODE Set permissions +.Ve +.IP "\fBionice\fR" 4 +.IX Item "ionice" +ionice [\-c 1\-3] [\-n 0\-7] [\-p \s-1PID\s0] [\s-1PROG\s0] +.Sp +Change I/O scheduling class and priority +.Sp +Options: +.Sp +.Vb 2 +\& \-c Class. 1:realtime 2:best\-effort 3:idle +\& \-n Priority +.Ve +.IP "\fBip\fR" 4 +.IX Item "ip" +ip [\s-1OPTIONS\s0] {address | route | link | tunnel | rule} {\s-1COMMAND\s0} +.Sp +ip [\s-1OPTIONS\s0] \s-1OBJECT\s0 {\s-1COMMAND\s0} +where \s-1OBJECT\s0 := {address | route | link | tunnel | rule} +\&\s-1OPTIONS\s0 := { \-f[amily] { inet | inet6 | link } | \-o[neline] } +.IP "\fBipaddr\fR" 4 +.IX Item "ipaddr" +ipaddr { {add|del} \s-1IFADDR\s0 dev \s-1STRING\s0 | {show|flush} + [dev \s-1STRING\s0] [to \s-1PREFIX\s0] } +.Sp +ipaddr {add|delete} \s-1IFADDR\s0 dev \s-1STRING\s0 +ipaddr {show|flush} [dev \s-1STRING\s0] [scope \s-1SCOPE\-ID\s0] + [to \s-1PREFIX\s0] [label \s-1PATTERN\s0] + \s-1IFADDR\s0 := \s-1PREFIX\s0 | \s-1ADDR\s0 peer \s-1PREFIX\s0 + [broadcast \s-1ADDR\s0] [anycast \s-1ADDR\s0] + [label \s-1STRING\s0] [scope \s-1SCOPE\-ID\s0] + SCOPE-ID := [host | link | global | \s-1NUMBER\s0] +.IP "\fBipcalc\fR" 4 +.IX Item "ipcalc" +ipcalc [\s-1OPTIONS\s0] ADDRESS[[/]NETMASK] [\s-1NETMASK\s0] +.Sp +Calculate \s-1IP\s0 network settings from a \s-1IP\s0 address +.Sp +Options: +.Sp +.Vb 6 +\& \-b,\-\-broadcast Display calculated broadcast address +\& \-n,\-\-network Display calculated network address +\& \-m,\-\-netmask Display default netmask for IP +\& \-p,\-\-prefix Display the prefix for IP/NETMASK +\& \-h,\-\-hostname Display first resolved host name +\& \-s,\-\-silent Don\*(Aqt ever display error messages +.Ve +.IP "\fBipcrm\fR" 4 +.IX Item "ipcrm" +ipcrm [\-MQS key] [\-mqs id] +.Sp +Upper-case options \s-1MQS\s0 remove an object by shmkey value. +Lower-case options remove an object by shmid value. +.Sp +Options: +.Sp +.Vb 3 +\& \-mM Remove memory segment after last detach +\& \-qQ Remove message queue +\& \-sS Remove semaphore +.Ve +.IP "\fBipcs\fR" 4 +.IX Item "ipcs" +ipcs [[\-smq] \-i shmid] | [[\-asmq] [\-tcplu]] +.Sp +.Vb 2 +\& \-i Show specific resource +\&Resource specification: +\& +\& \-m Shared memory segments +\& \-q Message queues +\& \-s Semaphore arrays +\& \-a All (default) +\&Output format: +\& +\& \-t Time +\& \-c Creator +\& \-p Pid +\& \-l Limits +\& \-u Summary +.Ve +.IP "\fBiplink\fR" 4 +.IX Item "iplink" +iplink { set \s-1DEVICE\s0 { up | down | arp { on | off } | show [\s-1DEVICE\s0] } +.Sp +iplink set \s-1DEVICE\s0 { up | down | arp | multicast { on | off } | + dynamic { on | off } | + mtu \s-1MTU\s0 } +iplink show [\s-1DEVICE\s0] +.IP "\fBiproute\fR" 4 +.IX Item "iproute" +iproute { list | flush | { add | del | change | append | + replace | monitor } \s-1ROUTE\s0 } +.Sp +iproute { list | flush } \s-1SELECTOR\s0 +iproute get \s-1ADDRESS\s0 [from \s-1ADDRESS\s0 iif \s-1STRING\s0] + [oif \s-1STRING\s0] [tos \s-1TOS\s0] +iproute { add | del | change | append | replace | monitor } \s-1ROUTE\s0 + \s-1SELECTOR\s0 := [root \s-1PREFIX\s0] [match \s-1PREFIX\s0] [proto \s-1RTPROTO\s0] + \s-1ROUTE\s0 := [\s-1TYPE\s0] \s-1PREFIX\s0 [tos \s-1TOS\s0] [proto \s-1RTPROTO\s0] + [metric \s-1METRIC\s0] +.IP "\fBiprule\fR" 4 +.IX Item "iprule" +iprule {[list | add | del] \s-1RULE\s0} +.Sp +iprule [list | add | del] \s-1SELECTOR\s0 \s-1ACTION\s0 + \s-1SELECTOR\s0 := [from \s-1PREFIX\s0] [to \s-1PREFIX\s0] [tos \s-1TOS\s0] [fwmark \s-1FWMARK\s0] + [dev \s-1STRING\s0] [pref \s-1NUMBER\s0] + \s-1ACTION\s0 := [table \s-1TABLE_ID\s0] [nat \s-1ADDRESS\s0] + [prohibit | reject | unreachable] + [realms [\s-1SRCREALM/\s0]DSTREALM] + \s-1TABLE_ID\s0 := [local | main | default | \s-1NUMBER\s0] +.IP "\fBiptunnel\fR" 4 +.IX Item "iptunnel" +iptunnel { add | change | del | show } [\s-1NAME\s0] + [mode { ipip | gre | sit }] + [remote \s-1ADDR\s0] [local \s-1ADDR\s0] [ttl \s-1TTL\s0] +.Sp +iptunnel { add | change | del | show } [\s-1NAME\s0] + [mode { ipip | gre | sit }] [remote \s-1ADDR\s0] [local \s-1ADDR\s0] + [[i|o]seq] [[i|o]key \s-1KEY\s0] [[i|o]csum] + [ttl \s-1TTL\s0] [tos \s-1TOS\s0] [[no]pmtudisc] [dev \s-1PHYS_DEV\s0] +.IP "\fBkbd_mode\fR" 4 +.IX Item "kbd_mode" +kbd_mode [\-a|k|s|u] [\-C \s-1TTY\s0] +.Sp +Report or set the keyboard mode +.Sp +Options: +.Sp +.Vb 5 +\& \-a Default (ASCII) +\& \-k Medium\-raw (keyboard) +\& \-s Raw (scancode) +\& \-u Unicode (utf\-8) +\& \-C TTY Affect TTY instead of /dev/tty +.Ve +.IP "\fBkill\fR" 4 +.IX Item "kill" +kill [\-l] [\-SIG] \s-1PID\s0... +.Sp +Send a signal (default: \s-1TERM\s0) to given PIDs +.Sp +Options: +.Sp +.Vb 1 +\& \-l List all signal names and numbers +.Ve +.IP "\fBkillall\fR" 4 +.IX Item "killall" +killall [\-l] [\-q] [\-SIG] process-name... +.Sp +Send a signal (default: \s-1TERM\s0) to given processes +.Sp +Options: +.Sp +.Vb 2 +\& \-l List all signal names and numbers +\& \-q Do not complain if no processes were killed +.Ve +.IP "\fBkillall5\fR" 4 +.IX Item "killall5" +killall5 [\-l] [\-SIG] [\-o \s-1PID\s0]... +.Sp +Send a signal (default: \s-1TERM\s0) to all processes outside current session +.Sp +Options: +.Sp +.Vb 2 +\& \-l List all signal names and numbers +\& \-o PID Do not signal this PID +.Ve +.IP "\fBklogd\fR" 4 +.IX Item "klogd" +klogd [\-c N] [\-n] +.Sp +Kernel logger +.Sp +Options: +.Sp +.Vb 2 +\& \-c N Only messages with level < N are printed to console +\& \-n Run in foreground +.Ve +.IP "\fBlast\fR" 4 +.IX Item "last" +last [\-HW] [\-f file] +.Sp +Show listing of the last users that logged into the system +.Sp +Options: +.Sp +.Vb 2 +\& \-W Display with no host column truncation +\& \-f file Read from file instead of /var/log/wtmp +.Ve +.IP "\fBlength\fR" 4 +.IX Item "length" +length \s-1STRING\s0 +.Sp +Print \s-1STRING\s0's length +.IP "\fBless\fR" 4 +.IX Item "less" +less [\-EMNmh~I?] [\s-1FILE\s0]... +.Sp +View a file or list of files. The position within files can be +changed, and files can be manipulated in various ways. +.Sp +Options: +.Sp +.Vb 6 +\& \-E Quit once the end of a file is reached +\& \-M,\-m Display status line with line numbers +\& and percentage through the file +\& \-N Prefix line number to each line +\& \-I Ignore case in all searches +\& \-~ Suppress ~s displayed past the end of the file +.Ve +.IP "\fBln\fR" 4 +.IX Item "ln" +ln [\s-1OPTIONS\s0] \s-1TARGET\s0... LINK|DIRECTORY +.Sp +Create a link \s-1LINK\s0 or \s-1DIRECTORY/TARGET\s0 to the specified \s-1TARGET\s0(s) +.Sp +Options: +.Sp +.Vb 5 +\& \-s Make symlinks instead of hardlinks +\& \-f Remove existing destination files +\& \-n Don\*(Aqt dereference symlinks \- treat like normal file +\& \-b Make a backup of the target (if exists) before link operation +\& \-S suf Use suffix instead of ~ when making backup files +.Ve +.IP "\fBloadfont\fR" 4 +.IX Item "loadfont" +loadfont < font +.Sp +Load a console font from standard input +.IP "\fBloadkmap\fR" 4 +.IX Item "loadkmap" +loadkmap < keymap +.Sp +Load a binary keyboard translation table from standard input +.IP "\fBlogger\fR" 4 +.IX Item "logger" +logger [\s-1OPTIONS\s0] [\s-1MESSAGE\s0] +.Sp +Write \s-1MESSAGE\s0 to the system log. If \s-1MESSAGE\s0 is omitted, log stdin. +.Sp +Options: +.Sp +.Vb 3 +\& \-s Log to stderr as well as the system log +\& \-t TAG Log using the specified tag (defaults to user name) +\& \-p PRIO Priority (numeric or facility.level pair) +.Ve +.IP "\fBlogin\fR" 4 +.IX Item "login" +login [\-p] [\-h \s-1HOST\s0] [[\-f] \s-1USER\s0] +.Sp +Begin a new session on the system +.Sp +Options: +.Sp +.Vb 3 +\& \-f Do not authenticate (user already authenticated) +\& \-h Name of the remote host +\& \-p Preserve environment +.Ve +.IP "\fBlogname\fR" 4 +.IX Item "logname" +logname +.Sp +Print the name of the current user +.IP "\fBlogread\fR" 4 +.IX Item "logread" +logread [\s-1OPTIONS\s0] +.Sp +Show messages in syslogd's circular buffer +.Sp +Options: +.Sp +.Vb 1 +\& \-f Output data as log grows +.Ve +.IP "\fBlosetup\fR" 4 +.IX Item "losetup" +losetup [\-o \s-1OFS\s0] \s-1LOOPDEV\s0 \s-1FILE\s0 \- associate loop devices + losetup \-d \s-1LOOPDEV\s0 \- disassociate + losetup [\-f] \- show +.Sp +Options: +.Sp +.Vb 2 +\& \-o OFS Start OFS bytes into FILE +\& \-f Show first free loop device +.Ve +.IP "\fBlpd\fR" 4 +.IX Item "lpd" +lpd \s-1SPOOLDIR\s0 [\s-1HELPER\s0 [\s-1ARGS\s0]] +.Sp +\&\s-1SPOOLDIR\s0 must contain (symlinks to) device nodes or directories +with names matching print queue names. In the first case, jobs are +sent directly to the device. Otherwise each job is stored in queue +directory and \s-1HELPER\s0 program is called. Name of file to print +is passed in \f(CW$DATAFILE\fR variable. +Example: +.Sp +.Vb 1 +\& tcpsvd \-E 0 515 softlimit \-m 999999 lpd /var/spool ./print +.Ve +.IP "\fBlpq\fR" 4 +.IX Item "lpq" +lpq [\-P queue[@host[:port]]] [\-U \s-1USERNAME\s0] [\-d \s-1JOBID\s0...] [\-fs] +.Sp +Options: +.Sp +.Vb 4 +\& \-P lp service to connect to (else uses $PRINTER) +\& \-d Delete jobs +\& \-f Force any waiting job to be printed +\& \-s Short display +.Ve +.IP "\fBlpr\fR" 4 +.IX Item "lpr" +lpr \-P queue[@host[:port]] \-U \s-1USERNAME\s0 \-J \s-1TITLE\s0 \-Vmh [\s-1FILE\s0]... +.Sp +Options: +.Sp +.Vb 4 +\& \-P lp service to connect to (else uses $PRINTER) +\& \-m Send mail on completion +\& \-h Print banner page too +\& \-V Verbose +.Ve +.IP "\fBls\fR" 4 +.IX Item "ls" +ls [\-1AacCdeFilnpLRrSsTtuvwxXhk] [\s-1FILE\s0]... +.Sp +List directory contents +.Sp +Options: +.Sp +.Vb 10 +\& \-1 List in a single column +\& \-A Don\*(Aqt list . and .. +\& \-a Don\*(Aqt hide entries starting with . +\& \-C List by columns +\& \-c With \-l: sort by ctime +\& \-\-color[={always,never,auto}] Control coloring +\& \-d List directory entries instead of contents +\& \-e List full date and time +\& \-F Append indicator (one of */=@|) to entries +\& \-i List inode numbers +\& \-l Long listing format +\& \-n List numeric UIDs and GIDs instead of names +\& \-p Append indicator (one of /=@|) to entries +\& \-L List entries pointed to by symlinks +\& \-R List subdirectories recursively +\& \-r Sort in reverse order +\& \-S Sort by file size +\& \-s List the size of each file, in blocks +\& \-T NUM Assume tabstop every NUM columns +\& \-t With \-l: sort by modification time +\& \-u With \-l: sort by access time +\& \-v Sort by version +\& \-w NUM Assume the terminal is NUM columns wide +\& \-x List by lines +\& \-X Sort by extension +\& \-h List sizes in human readable format (1K 243M 2G) +.Ve +.IP "\fBlsattr\fR" 4 +.IX Item "lsattr" +lsattr [\-Radlv] [\s-1FILE\s0]... +.Sp +List file attributes on an ext2 fs +.Sp +Options: +.Sp +.Vb 5 +\& \-R Recursively list subdirectories +\& \-a Do not hide entries starting with . +\& \-d List directory entries instead of contents +\& \-l List long flag names +\& \-v List the file\*(Aqs version/generation number +.Ve +.IP "\fBlsmod\fR" 4 +.IX Item "lsmod" +lsmod +.Sp +List the currently loaded kernel modules +.IP "\fBlzmacat\fR" 4 +.IX Item "lzmacat" +lzmacat \s-1FILE\s0 +.Sp +Uncompress to stdout +.IP "\fBlzop\fR" 4 +.IX Item "lzop" +lzop [\-cfvd123456789CF] [\s-1FILE\s0]... +.Sp +.Vb 7 +\& \-c Write to standard output +\& \-f Force +\& \-v Verbose +\& \-d Decompress +\& \-F Don\*(Aqt store or verify checksum +\& \-C Also write checksum of compressed block +\& \-1..9 Compression level +.Ve +.IP "\fBlzopcat\fR" 4 +.IX Item "lzopcat" +lzopcat [\-vCF] [\s-1FILE\s0]... +.Sp +.Vb 2 +\& \-v Verbose +\& \-F Don\*(Aqt store or verify checksum +.Ve +.IP "\fBmakemime\fR" 4 +.IX Item "makemime" +makemime [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Create multipart MIME-encoded message from FILEs +.Sp +Options: +.Sp +.Vb 5 +\& \-o FILE Output. Default: stdout +\& \-a HDR Add header. Examples: +\& "From: user@host.org", "Date: \`date \-R\`" +\& \-c CT Content type. Default: text/plain +\& \-C CS Charset. Default: us\-ascii +.Ve +.Sp +Other options are silently ignored +.IP "\fBman\fR" 4 +.IX Item "man" +man [\s-1OPTIONS\s0] [\s-1MANPAGE\s0]... +.Sp +Format and display manual page +.Sp +Options: +.Sp +.Vb 2 +\& \-a Display all pages +\& \-w Show page locations +.Ve +.IP "\fBmd5sum\fR" 4 +.IX Item "md5sum" +md5sum [\s-1OPTIONS\s0] [\s-1FILE\s0]... + or: md5sum [\s-1OPTIONS\s0] \-c [\s-1FILE\s0] +.Sp +Print or check \s-1MD5\s0 checksums +.Sp +Options: +.Sp +.Vb 3 +\& \-c Check sums against given list +\& \-s Don\*(Aqt output anything, status code shows success +\& \-w Warn about improperly formatted checksum lines +.Ve +.IP "\fBmdev\fR" 4 +.IX Item "mdev" +mdev [\-s] +.Sp +.Vb 1 +\& \-s Scan /sys and populate /dev during system boot +.Ve +.Sp +It can be run by kernel as a hotplug helper. To activate it: + echo /bin/mdev >/proc/sys/kernel/hotplug +It uses /etc/mdev.conf with lines +[\-]DEVNAME \s-1UID:GID\s0 \s-1PERM\s0 [>|=PATH] [@|$|*PROG] +.IP "\fBmesg\fR" 4 +.IX Item "mesg" +mesg [y|n] +.Sp +Control write access to your terminal + y Allow write access to your terminal + n Disallow write access to your terminal +.IP "\fBmicrocom\fR" 4 +.IX Item "microcom" +microcom [\-d \s-1DELAY\s0] [\-t \s-1TIMEOUT\s0] [\-s \s-1SPEED\s0] [\-X] \s-1TTY\s0 +.Sp +Copy bytes for stdin to \s-1TTY\s0 and from \s-1TTY\s0 to stdout +.Sp +Options: +.Sp +.Vb 5 +\& \-d Wait up to DELAY ms for TTY output before sending every +\& next byte to it +\& \-t Exit if both stdin and TTY are silent for TIMEOUT ms +\& \-s Set serial line to SPEED +\& \-X Disable special meaning of NUL and Ctrl\-X from stdin +.Ve +.IP "\fBmkdir\fR" 4 +.IX Item "mkdir" +mkdir [\s-1OPTIONS\s0] \s-1DIRECTORY\s0... +.Sp +Create \s-1DIRECTORY\s0 +.Sp +Options: +.Sp +.Vb 2 +\& \-m Mode +\& \-p No error if exists; make parent directories as needed +.Ve +.IP "\fBmkdosfs\fR" 4 +.IX Item "mkdosfs" +mkdosfs [\-v] [\-n \s-1LABEL\s0] \s-1FILE_OR_DEVICE\s0 [\s-1SIZE_IN_KB\s0] +.Sp +Make a \s-1FAT32\s0 filesystem +.Sp +Options: +.Sp +.Vb 2 +\& \-v Verbose +\& \-n LBL Volume label +.Ve +.IP "\fBmkfifo\fR" 4 +.IX Item "mkfifo" +mkfifo [\s-1OPTIONS\s0] name +.Sp +Create named pipe (identical to 'mknod name p') +.Sp +Options: +.Sp +.Vb 1 +\& \-m MODE Mode (default a=rw) +.Ve +.IP "\fBmkfs.minix\fR" 4 +.IX Item "mkfs.minix" +mkfs.minix [\-c | \-l filename] [\-nXX] [\-iXX] /dev/name [blocks] +.Sp +Make a \s-1MINIX\s0 filesystem +.Sp +Options: +.Sp +.Vb 5 +\& \-c Check device for bad blocks +\& \-n [14|30] Maximum length of filenames +\& \-i INODES Number of inodes for the filesystem +\& \-l FILENAME Read bad blocks list from FILENAME +\& \-v Make version 2 filesystem +.Ve +.IP "\fBmkfs.vfat\fR" 4 +.IX Item "mkfs.vfat" +mkfs.vfat [\-v] [\-n \s-1LABEL\s0] \s-1FILE_OR_DEVICE\s0 [\s-1SIZE_IN_KB\s0] +.Sp +Make a \s-1FAT32\s0 filesystem +.Sp +Options: +.Sp +.Vb 2 +\& \-v Verbose +\& \-n LBL Volume label +.Ve +.IP "\fBmknod\fR" 4 +.IX Item "mknod" +mknod [\s-1OPTIONS\s0] \s-1NAME\s0 \s-1TYPE\s0 \s-1MAJOR\s0 \s-1MINOR\s0 +.Sp +Create a special file (block, character, or pipe) +.Sp +Options: +.Sp +.Vb 2 +\& \-m Create the special file using the specified mode (default a=rw) +\&TYPEs include: +\& +\& b: Make a block device +\& c or u: Make a character device +\& p: Make a named pipe (MAJOR and MINOR are ignored) +.Ve +.IP "\fBmkpasswd\fR" 4 +.IX Item "mkpasswd" +mkpasswd [\s-1OPTIONS\s0] [\s-1PASSWORD\s0] [\s-1SALT\s0] +.Sp +Crypt the \s-1PASSWORD\s0 using \fIcrypt\fR\|(3) +.Sp +Options: +.Sp +.Vb 3 +\& \-P,\-\-password\-fd=NUM Read password from fd NUM +\& \-m,\-\-method=TYPE Encryption method TYPE +\& \-S,\-\-salt=SALT +.Ve +.IP "\fBmkswap\fR" 4 +.IX Item "mkswap" +mkswap \s-1DEVICE\s0 +.Sp +Prepare block device to be used as swap partition +.IP "\fBmktemp\fR" 4 +.IX Item "mktemp" +mktemp [\-dt] [\-p \s-1DIR\s0] [\s-1TEMPLATE\s0] +.Sp +Create a temporary file with name based on \s-1TEMPLATE\s0 and print its name. +\&\s-1TEMPLATE\s0 must end with \s-1XXXXXX\s0 (e.g. [/dir/]nameXXXXXX). +.Sp +Options: +.Sp +.Vb 3 +\& \-d Make a directory instead of a file +\& \-t Generate a path rooted in temporary directory +\& \-p DIR Use DIR as a temporary directory (implies \-t) +.Ve +.Sp +For \-t or \-p, directory is chosen as follows: +\&\f(CW$TMPDIR\fR if set, else \-p \s-1DIR\s0, else /tmp +.IP "\fBmodprobe\fR" 4 +.IX Item "modprobe" +modprobe [\-knqrsvb] \s-1MODULE\s0 [symbol=value...] +.Sp +Options: +.Sp +.Vb 7 +\& \-k Make module autoclean\-able +\& \-n Dry run +\& \-q Quiet +\& \-r Remove module (stacks) or do autoclean +\& \-s Report via syslog instead of stderr +\& \-v Verbose +\& \-b Apply blacklist to module names too +.Ve +.IP "\fBmore\fR" 4 +.IX Item "more" +more [\s-1FILE\s0]... +.Sp +View \s-1FILE\s0 or standard input one screenful at a time +.IP "\fBmount\fR" 4 +.IX Item "mount" +mount [flags] \s-1DEVICE\s0 \s-1NODE\s0 [\-o \s-1OPT\s0,OPT] +.Sp +Mount a filesystem. Filesystem autodetection requires /proc. +.Sp +Options: +.Sp +.Vb 10 +\& \-a Mount all filesystems in fstab +\& \-f Dry run +\& \-i Don\*(Aqt run mount helper +\& \-r Read\-only mount +\& \-w Read\-write mount (default) +\& \-t FSTYPE Filesystem type +\& \-O OPT Mount only filesystems with option OPT (\-a only) +\&\-o OPT: +\& loop Ignored (loop devices are autodetected) +\& [a]sync Writes are [a]synchronous +\& [no]atime Disable/enable updates to inode access times +\& [no]diratime Disable/enable atime updates to directories +\& [no]relatime Disable/enable atime updates relative to modification time +\& [no]dev (Dis)allow use of special device files +\& [no]exec (Dis)allow use of executable files +\& [no]suid (Dis)allow set\-user\-id\-root programs +\& [r]shared Convert [recursively] to a shared subtree +\& [r]slave Convert [recursively] to a slave subtree +\& [r]private Convert [recursively] to a private subtree +\& [un]bindable Make mount point [un]able to be bind mounted +\& bind Bind a directory to an additional location +\& move Relocate an existing mount point +\& remount Remount a mounted filesystem, changing its flags +\& ro/rw Read\-only/read\-write mount +.Ve +.Sp +There are \s-1EVEN\s0 \s-1MORE\s0 flags that are specific to each filesystem +You'll have to see the written documentation for those filesystems +.IP "\fBmountpoint\fR" 4 +.IX Item "mountpoint" +mountpoint [\-q] <[\-dn] \s-1DIR\s0 | \-x \s-1DEVICE\s0> +.Sp +Check if the directory is a mountpoint +.Sp +Options: +.Sp +.Vb 4 +\& \-q Quiet +\& \-d Print major/minor device number of the filesystem +\& \-n Print device name of the filesystem +\& \-x Print major/minor device number of the blockdevice +.Ve +.IP "\fBmt\fR" 4 +.IX Item "mt" +mt [\-f device] opcode value +.Sp +Control magnetic tape drive operation +.Sp +Available Opcodes: +.Sp +bsf bsfm bsr bss datacompression drvbuffer eof eom erase +fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2 +ras3 reset retension rewind rewoffline seek setblk setdensity +setpart tell unload unlock weof wset +.IP "\fBmv\fR" 4 +.IX Item "mv" +mv [\s-1OPTIONS\s0] \s-1SOURCE\s0 \s-1DEST\s0 +or: mv [\s-1OPTIONS\s0] \s-1SOURCE\s0... \s-1DIRECTORY\s0 +.Sp +Rename \s-1SOURCE\s0 to \s-1DEST\s0, or move \s-1SOURCE\s0(s) to \s-1DIRECTORY\s0 +.Sp +Options: +.Sp +.Vb 2 +\& \-f Don\*(Aqt prompt before overwriting +\& \-i Interactive, prompt before overwrite +.Ve +.IP "\fBnameif\fR" 4 +.IX Item "nameif" +nameif [\-s] [\-c \s-1FILE\s0] [{\s-1IFNAME\s0 \s-1MACADDR\s0}] +.Sp +Rename network interface while it in the down state +.Sp +Options: +.Sp +.Vb 3 +\& \-c FILE Use configuration file (default: /etc/mactab) +\& \-s Use syslog (LOCAL0 facility) +\& IFNAME MACADDR new_interface_name interface_mac_address +.Ve +.IP "\fBnc\fR" 4 +.IX Item "nc" +nc [\s-1OPTIONS\s0] \s-1HOST\s0 \s-1PORT\s0 \- connect +nc [\s-1OPTIONS\s0] \-l \-p \s-1PORT\s0 [\s-1HOST\s0] [\s-1PORT\s0] \- listen +.Sp +Options: +.Sp +.Vb 11 +\& \-e PROG Run PROG after connect (must be last) +\& \-l Listen mode, for inbound connects +\& \-n Don\*(Aqt do DNS resolution +\& \-s ADDR Local address +\& \-p PORT Local port +\& \-u UDP mode +\& \-v Verbose +\& \-w SEC Timeout for connects and final net reads +\& \-i SEC Delay interval for lines sent +\& \-o FILE Hex dump traffic +\& \-z Zero\-I/O mode (scanning) +.Ve +.IP "\fBnetstat\fR" 4 +.IX Item "netstat" +netstat [\-laentuwxrWp] +.Sp +Display networking information +.Sp +Options: +.Sp +.Vb 11 +\& \-l Display listening server sockets +\& \-a Display all sockets (default: connected) +\& \-e Display other/more information +\& \-n Don\*(Aqt resolve names +\& \-t Tcp sockets +\& \-u Udp sockets +\& \-w Raw sockets +\& \-x Unix sockets +\& \-r Display routing table +\& \-W Display with no column truncation +\& \-p Display PID/Program name for sockets +.Ve +.IP "\fBnice\fR" 4 +.IX Item "nice" +nice [\-n \s-1ADJUST\s0] [\s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Run \s-1PROG\s0 with modified scheduling priority +.Sp +Options: +.Sp +.Vb 1 +\& \-n ADJUST Adjust priority by ADJUST +.Ve +.IP "\fBnmeter\fR" 4 +.IX Item "nmeter" +nmeter format_string +.Sp +Monitor system in real time +.Sp +Format specifiers: +.Sp +.Vb 10 +\& %Nc or %[cN] Monitor CPU. N \- bar size, default 10 +\& (displays: S:system U:user N:niced D:iowait I:irq i:softirq) +\& %[niface] Monitor network interface \*(Aqiface\*(Aq +\& %m Monitor allocated memory +\& %[mf] Monitor free memory +\& %[mt] Monitor total memory +\& %s Monitor allocated swap +\& %f Monitor number of used file descriptors +\& %Ni Monitor total/specific IRQ rate +\& %x Monitor context switch rate +\& %p Monitor forks +\& %[pn] Monitor # of processes +\& %b Monitor block io +\& %Nt Show time (with N decimal points) +\& %Nd Milliseconds between updates (default:1000) +\& %r Print instead of at EOL +.Ve +.IP "\fBnohup\fR" 4 +.IX Item "nohup" +nohup \s-1PROG\s0 [\s-1ARGS\s0] +.Sp +Run \s-1PROG\s0 immune to hangups, with output to a non-tty +.IP "\fBnslookup\fR" 4 +.IX Item "nslookup" +nslookup [\s-1HOST\s0] [\s-1SERVER\s0] +.Sp +Query the nameserver for the \s-1IP\s0 address of the given \s-1HOST\s0 +optionally using a specified \s-1DNS\s0 server +.IP "\fBod\fR" 4 +.IX Item "od" +od [\-aBbcDdeFfHhIiLlOovXx] [\-t \s-1TYPE\s0] [\s-1FILE\s0] +.Sp +Write an unambiguous representation, octal bytes by default, of \s-1FILE\s0 +to standard output. With no \s-1FILE\s0 or when \s-1FILE\s0 is \-, read standard input. +.IP "\fBopenvt\fR" 4 +.IX Item "openvt" +openvt [\-c N] [\-sw] [\s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Start \s-1PROG\s0 on a new virtual terminal +.Sp +Options: +.Sp +.Vb 3 +\& \-c N Use specified VT +\& \-s Switch to the VT +\& \-w Wait for PROG to exit +.Ve +.IP "\fBpasswd\fR" 4 +.IX Item "passwd" +passwd [\s-1OPTIONS\s0] [\s-1USER\s0] +.Sp +Change \s-1USER\s0's password. If no \s-1USER\s0 is specified, +changes the password for the current user. +.Sp +Options: +.Sp +.Vb 4 +\& \-a Algorithm to use for password (choices: des, md5) +\& \-d Delete password for the account +\& \-l Lock (disable) account +\& \-u Unlock (re\-enable) account +.Ve +.IP "\fBpatch\fR" 4 +.IX Item "patch" +patch [\-p \s-1NUM\s0] [\-i \s-1DIFF\s0] [\-R] [\-N] +.Sp +.Vb 4 +\& \-p NUM Strip NUM leading components from file names +\& \-i DIFF Read DIFF instead of stdin +\& \-R Reverse patch +\& \-N Ignore already applied patches +.Ve +.IP "\fBpgrep\fR" 4 +.IX Item "pgrep" +pgrep [\-flnovx] [\-s SID|\-P PPID|PATTERN] +.Sp +Display process(es) selected by regex \s-1PATTERN\s0 +.Sp +Options: +.Sp +.Vb 8 +\& \-l Show command name too +\& \-f Match against entire command line +\& \-n Show the newest process only +\& \-o Show the oldest process only +\& \-v Negate the match +\& \-x Match whole name (not substring) +\& \-s Match session ID (0 for current) +\& \-P Match parent process ID +.Ve +.IP "\fBpidof\fR" 4 +.IX Item "pidof" +pidof [\s-1OPTIONS\s0] [\s-1NAME\s0...] +.Sp +List PIDs of all processes with names that match NAMEs +.Sp +Options: +.Sp +.Vb 3 +\& \-s Show only one PID +\& \-o PID Omit given pid +\& Use %PPID to omit pid of pidof\*(Aqs parent +.Ve +.IP "\fBping\fR" 4 +.IX Item "ping" +ping [\s-1OPTIONS\s0] \s-1HOST\s0 +.Sp +Send \s-1ICMP\s0 \s-1ECHO_REQUEST\s0 packets to network hosts +.Sp +Options: +.Sp +.Vb 10 +\& \-4, \-6 Force IPv4 or IPv6 hostname resolution +\& \-c CNT Send only CNT pings +\& \-s SIZE Send SIZE data bytes in packets (default:56) +\& \-I IFACE/IP Use interface or IP address as source +\& \-W SEC Seconds to wait for the first response (default:10) +\& (after all \-c CNT packets are sent) +\& \-w SEC Seconds until ping exits (default:infinite) +\& (can exit earlier with \-c CNT) +\& \-q Quiet, only displays output at start +\& and when finished +.Ve +.IP "\fBping6\fR" 4 +.IX Item "ping6" +ping6 [\s-1OPTIONS\s0] \s-1HOST\s0 +.Sp +Send \s-1ICMP\s0 \s-1ECHO_REQUEST\s0 packets to network hosts +.Sp +Options: +.Sp +.Vb 5 +\& \-c CNT Send only CNT pings +\& \-s SIZE Send SIZE data bytes in packets (default:56) +\& \-I IFACE/IP Use interface or IP address as source +\& \-q Quiet, only displays output at start +\& and when finished +.Ve +.IP "\fBpivot_root\fR" 4 +.IX Item "pivot_root" +pivot_root \s-1NEW_ROOT\s0 \s-1PUT_OLD\s0 +.Sp +Move the current root file system to \s-1PUT_OLD\s0 and make \s-1NEW_ROOT\s0 +the new root file system +.IP "\fBpkill\fR" 4 +.IX Item "pkill" +pkill [\-l|\-SIGNAL] [\-fnovx] [\-s SID|\-P PPID|PATTERN] +.Sp +Send a signal to process(es) selected by regex \s-1PATTERN\s0 +.Sp +Options: +.Sp +.Vb 8 +\& \-l List all signals +\& \-f Match against entire command line +\& \-n Signal the newest process only +\& \-o Signal the oldest process only +\& \-v Negate the match +\& \-x Match whole name (not substring) +\& \-s Match session ID (0 for current) +\& \-P Match parent process ID +.Ve +.IP "\fBpopmaildir\fR" 4 +.IX Item "popmaildir" +popmaildir [\s-1OPTIONS\s0] Maildir [connection\-helper ...] +.Sp +Fetch content of remote mailbox to local maildir +.Sp +Options: +.Sp +.Vb 10 +\& \-b Binary mode. Ignored +\& \-d Debug. Ignored +\& \-m Show used memory. Ignored +\& \-V Show version. Ignored +\& \-c Use tcpclient. Ignored +\& \-a Use APOP protocol. Implied. If server supports APOP \-> use it +\& \-s Skip authorization +\& \-T Get messages with TOP instead with RETR +\& \-k Keep retrieved messages on the server +\& \-t timeout Network timeout +\& \-F "program arg1 arg2 ..." Filter by program. May be multiple +\& \-M "program arg1 arg2 ..." Deliver by program +\& \-R size Remove old messages on the server >= size (in bytes). Ignored +\& \-Z N1\-N2 Remove messages from N1 to N2 (dangerous). Ignored +\& \-L size Do not retrieve new messages >= size (in bytes). Ignored +\& \-H lines Type specified number of lines of a message. Ignored +.Ve +.IP "\fBprintenv\fR" 4 +.IX Item "printenv" +printenv [\s-1VARIABLE\s0...] +.Sp +Print all or part of environment. +If no environment \s-1VARIABLE\s0 specified, print them all. +.IP "\fBprintf\fR" 4 +.IX Item "printf" +printf \s-1FORMAT\s0 [\s-1ARGUMENT\s0...] +.Sp +Format and print \s-1ARGUMENT\s0(s) according to \s-1FORMAT\s0, +where \s-1FORMAT\s0 controls the output exactly as in C printf +.IP "\fBps\fR" 4 +.IX Item "ps" +ps +.Sp +Report process status +.Sp +Options: +.Sp +.Vb 2 +\& \-o col1,col2=header Select columns for display +\& \-T Show threads +.Ve +.IP "\fBpscan\fR" 4 +.IX Item "pscan" +pscan [\-cb] [\-p \s-1MIN_PORT\s0] [\-P \s-1MAX_PORT\s0] [\-t \s-1TIMEOUT\s0] [\-T \s-1MIN_RTT\s0] \s-1HOST\s0 +.Sp +Scan a host, print all open ports +.Sp +Options: +.Sp +.Vb 6 +\& \-c Show closed ports too +\& \-b Show blocked ports too +\& \-p Scan from this port (default 1) +\& \-P Scan up to this port (default 1024) +\& \-t Timeout (default 5000 ms) +\& \-T Minimum rtt (default 5 ms, increase for congested hosts) +.Ve +.IP "\fBpwd\fR" 4 +.IX Item "pwd" +pwd +.Sp +Print the full filename of the current working directory +.IP "\fBraidautorun\fR" 4 +.IX Item "raidautorun" +raidautorun \s-1DEVICE\s0 +.Sp +Tell the kernel to automatically search and start \s-1RAID\s0 arrays +.IP "\fBrdate\fR" 4 +.IX Item "rdate" +rdate [\-sp] \s-1HOST\s0 +.Sp +Get and possibly set the system date and time from a remote \s-1HOST\s0 +.Sp +Options: +.Sp +.Vb 2 +\& \-s Set the system date and time (default) +\& \-p Print the date and time +.Ve +.IP "\fBrdev\fR" 4 +.IX Item "rdev" +rdev +.Sp +Print the device node associated with the filesystem mounted at '/' +.IP "\fBreadlink\fR" 4 +.IX Item "readlink" +readlink [\-fnv] \s-1FILE\s0 +.Sp +Display the value of a symlink +.Sp +Options: +.Sp +.Vb 3 +\& \-f Canonicalize by following all symlinks +\& \-n Don\*(Aqt add newline +\& \-v Verbose +.Ve +.IP "\fBreadprofile\fR" 4 +.IX Item "readprofile" +readprofile [\s-1OPTIONS\s0] +.Sp +Options: +.Sp +.Vb 10 +\& \-m mapfile (Default: /boot/System.map) +\& \-p profile (Default: /proc/profile) +\& \-M mult Set the profiling multiplier to mult +\& \-i Print only info about the sampling step +\& \-v Verbose +\& \-a Print all symbols, even if count is 0 +\& \-b Print individual histogram\-bin counts +\& \-s Print individual counters within functions +\& \-r Reset all the counters (root only) +\& \-n Disable byte order auto\-detection +.Ve +.IP "\fBrealpath\fR" 4 +.IX Item "realpath" +realpath pathname... +.Sp +Return the absolute pathnames of given argument +.IP "\fBreformime\fR" 4 +.IX Item "reformime" +reformime [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Parse MIME-encoded message +.Sp +Options: +.Sp +.Vb 3 +\& \-x prefix Extract content of MIME sections to files +\& \-X prog [args] Filter content of MIME sections through prog. +\& Must be the last option +.Ve +.Sp +Other options are silently ignored. +.IP "\fBrenice\fR" 4 +.IX Item "renice" +renice {{\-n \s-1INCREMENT\s0} | \s-1PRIORITY\s0} [[\-p | \-g | \-u] \s-1ID\s0...] +.Sp +Change priority of running processes +.Sp +Options: +.Sp +.Vb 4 +\& \-n Adjust current nice value (smaller is faster) +\& \-p Process id(s) (default) +\& \-g Process group id(s) +\& \-u Process user name(s) and/or id(s) +.Ve +.IP "\fBreset\fR" 4 +.IX Item "reset" +reset +.Sp +Reset the screen +.IP "\fBresize\fR" 4 +.IX Item "resize" +resize +.Sp +Resize the screen +.IP "\fBrm\fR" 4 +.IX Item "rm" +rm [\s-1OPTIONS\s0] \s-1FILE\s0... +.Sp +Remove (unlink) the \s-1FILE\s0(s). Use '\-\-' to +indicate that all following arguments are non-options. +.Sp +Options: +.Sp +.Vb 3 +\& \-i Always prompt before removing +\& \-f Never prompt +\& \-r,\-R Remove directories recursively +.Ve +.IP "\fBrmdir\fR" 4 +.IX Item "rmdir" +rmdir [\s-1OPTIONS\s0] \s-1DIRECTORY\s0... +.Sp +Remove the \s-1DIRECTORY\s0, if it is empty +.Sp +Options: +.Sp +.Vb 2 +\& \-p|\-\-parents Include parents +\& \-\-ignore\-fail\-on\-non\-empty +.Ve +.IP "\fBrmmod\fR" 4 +.IX Item "rmmod" +rmmod [\s-1OPTIONS\s0] [\s-1MODULE\s0]... +.Sp +Unload the specified kernel modules from the kernel +.Sp +Options: +.Sp +.Vb 3 +\& \-w Wait until the module is no longer used +\& \-f Force unloading +\& \-a Remove all unused modules (recursively) +.Ve +.IP "\fBroute\fR" 4 +.IX Item "route" +route [{add|del|delete}] +.Sp +Edit kernel routing tables +.Sp +Options: +.Sp +.Vb 3 +\& \-n Don\*(Aqt resolve names +\& \-e Display other/more information +\& \-A inet{6} Select address family +.Ve +.IP "\fBrpm\fR" 4 +.IX Item "rpm" +rpm \-i \-q[ildc]p package.rpm +.Sp +Manipulate \s-1RPM\s0 packages +.Sp +Options: +.Sp +.Vb 7 +\& \-i Install package +\& \-q Query package +\& \-p Query uninstalled package +\& \-i Show information +\& \-l List contents +\& \-d List documents +\& \-c List config files +.Ve +.IP "\fBrpm2cpio\fR" 4 +.IX Item "rpm2cpio" +rpm2cpio package.rpm +.Sp +Output a cpio archive of the rpm file +.IP "\fBrtcwake\fR" 4 +.IX Item "rtcwake" +rtcwake [\-a | \-l | \-u] [\-d \s-1DEV\s0] [\-m \s-1MODE\s0] [\-s \s-1SEC\s0 | \-t \s-1TIME\s0] +.Sp +Enter a system sleep state until specified wakeup time +.Sp +.Vb 7 +\& \-a,\-\-auto Read clock mode from adjtime +\& \-l,\-\-local Clock is set to local time +\& \-u,\-\-utc Clock is set to UTC time +\& \-d,\-\-device=DEV Specify the RTC device +\& \-m,\-\-mode=MODE Set the sleep state (default: standby) +\& \-s,\-\-seconds=SEC Set the timeout in SEC seconds from now +\& \-t,\-\-time=TIME Set the timeout to TIME seconds from epoch +.Ve +.IP "\fBrun-parts\fR" 4 +.IX Item "run-parts" +run-parts [\-t] [\-l] [\-a \s-1ARG\s0] [\-u \s-1MASK\s0] \s-1DIRECTORY\s0 +.Sp +Run a bunch of scripts in a directory +.Sp +Options: +.Sp +.Vb 4 +\& \-t Print what would be run, but don\*(Aqt actually run anything +\& \-a ARG Pass ARG as argument for every program +\& \-u MASK Set the umask to MASK before running every program +\& \-l Print names of all matching files even if they are not executable +.Ve +.IP "\fBrunlevel\fR" 4 +.IX Item "runlevel" +runlevel [utmp] +.Sp +Find the current and previous system runlevel +.Sp +If no utmp file exists or if no runlevel record can be found, +print \*(L"unknown\*(R" +.IP "\fBrunsv\fR" 4 +.IX Item "runsv" +runsv dir +.Sp +Start and monitor a service and optionally an appendant log service +.IP "\fBrunsvdir\fR" 4 +.IX Item "runsvdir" +runsvdir [\-P] [\-s \s-1SCRIPT\s0] dir +.Sp +Start a runsv process for each subdirectory. If it exits, restart it. +.Sp +.Vb 2 +\& \-P Put each runsv in a new session +\& \-s SCRIPT Run SCRIPT after signal is processed +.Ve +.IP "\fBrx\fR" 4 +.IX Item "rx" +rx \s-1FILE\s0 +.Sp +Receive a file using the xmodem protocol +.IP "\fBscript\fR" 4 +.IX Item "script" +script [\-afqt] [\-c \s-1PROG\s0] [\s-1OUTFILE\s0] +.Sp +Options: +.Sp +.Vb 5 +\& \-a Append output +\& \-c Run PROG, not shell +\& \-f Flush output after each write +\& \-q Quiet +\& \-t Send timing to stderr +.Ve +.IP "\fBscriptreplay\fR" 4 +.IX Item "scriptreplay" +scriptreplay timingfile [typescript [divisor]] +.Sp +Play back typescripts, using timing information +.IP "\fBsed\fR" 4 +.IX Item "sed" +sed [\-efinr] \s-1SED_CMD\s0 [\s-1FILE\s0]... +.Sp +Options: +.Sp +.Vb 5 +\& \-e CMD Add CMD to sed commands to be executed +\& \-f FILE Add FILE contents to sed commands to be executed +\& \-i Edit files in\-place +\& \-n Suppress automatic printing of pattern space +\& \-r Use extended regex syntax +.Ve +.Sp +If no \-e or \-f is given, the first non-option argument is taken as the sed +command to interpret. All remaining arguments are names of input files; if no +input files are specified, then the standard input is read. Source files +will not be modified unless \-i option is given. +.IP "\fBsendmail\fR" 4 +.IX Item "sendmail" +sendmail [\s-1OPTIONS\s0] [\s-1RECIPIENT_EMAIL\s0]... +.Sp +Read email from stdin and send it +.Sp +Standard options: +.Sp +.Vb 3 +\& \-t Read additional recipients from message body +\& \-f sender Sender (required) +\& \-o options Various options. \-oi implied, others are ignored +.Ve +.Sp +Busybox specific options: +.Sp +.Vb 10 +\& \-w seconds Network timeout +\& \-H \*(AqPROG ARGS\*(Aq Run connection helper +\& Examples: +\& \-H \*(Aqexec openssl s_client \-quiet \-tls1 \-starttls smtp +\& \-connect smtp.gmail.com:25\*(Aq \-ap] +\& \-H \*(Aqexec openssl s_client \-quiet \-tls1 +\& \-connect smtp.gmail.com:465\*(Aq \-ap] +\& \-S server[:port] Server +\& \-au Username for AUTH LOGIN +\& \-ap Password for AUTH LOGIN +\& \-am Authentication method. Ignored. LOGIN is implied +.Ve +.Sp +Other options are silently ignored; \-oi \-t is implied +Use makemime applet to create message with attachments +.IP "\fBseq\fR" 4 +.IX Item "seq" +seq [\-w] [\-s \s-1SEP\s0] [\s-1FIRST\s0 [\s-1INC\s0]] \s-1LAST\s0 +.Sp +Print numbers from \s-1FIRST\s0 to \s-1LAST\s0, in steps of \s-1INC\s0. +\&\s-1FIRST\s0, \s-1INC\s0 default to 1 +.Sp +Options: +.Sp +.Vb 2 +\& \-w Pad to last with leading zeros +\& \-s SEP String separator +.Ve +.IP "\fBsetarch\fR" 4 +.IX Item "setarch" +setarch personality program [args...] +.Sp +Personality may be: +.Sp +.Vb 2 +\& linux32 Set 32bit uname emulation +\& linux64 Set 64bit uname emulation +.Ve +.IP "\fBsetconsole\fR" 4 +.IX Item "setconsole" +setconsole [\-r|\-\-reset] [\s-1DEVICE\s0] +.Sp +Redirect system console output to \s-1DEVICE\s0 (default: /dev/tty) +.Sp +Options: +.Sp +.Vb 1 +\& \-r Reset output to /dev/console +.Ve +.IP "\fBsetfont\fR" 4 +.IX Item "setfont" +setfont \s-1FONT\s0 [\-m \s-1MAPFILE\s0] [\-C \s-1TTY\s0] +.Sp +Load a console font +.Sp +Options: +.Sp +.Vb 2 +\& \-m MAPFILE Load console screen map +\& \-C TTY Affect TTY instead of /dev/tty +.Ve +.IP "\fBsetkeycodes\fR" 4 +.IX Item "setkeycodes" +setkeycodes \s-1SCANCODE\s0 \s-1KEYCODE\s0... +.Sp +Set entries into the kernel's scancode-to-keycode map, +allowing unusual keyboards to generate usable keycodes. +.Sp +\&\s-1SCANCODE\s0 may be either xx or e0xx (hexadecimal), +and \s-1KEYCODE\s0 is given in decimal +.IP "\fBsetlogcons\fR" 4 +.IX Item "setlogcons" +setlogcons N +.Sp +Redirect the kernel output to console N (0 for current) +.IP "\fBsetsid\fR" 4 +.IX Item "setsid" +setsid \s-1PROG\s0 [\s-1ARG\s0...] +.Sp +Run \s-1PROG\s0 in a new session. \s-1PROG\s0 will have no controlling terminal +and will not be affected by keyboard signals (Ctrl-C etc). +See \fIsetsid\fR\|(2) for details. +.IP "\fBsetuidgid\fR" 4 +.IX Item "setuidgid" +setuidgid account prog args +.Sp +Set uid and gid to account's uid and gid, removing all supplementary +groups and run \s-1PROG\s0 +.IP "\fBsha1sum\fR" 4 +.IX Item "sha1sum" +sha1sum [\s-1OPTIONS\s0] [\s-1FILE\s0]... + or: sha1sum [\s-1OPTIONS\s0] \-c [\s-1FILE\s0] +.Sp +Print or check \s-1SHA1\s0 checksums +.Sp +Options: +.Sp +.Vb 3 +\& \-c Check sums against given list +\& \-s Don\*(Aqt output anything, status code shows success +\& \-w Warn about improperly formatted checksum lines +.Ve +.IP "\fBsha256sum\fR" 4 +.IX Item "sha256sum" +sha256sum [\s-1OPTIONS\s0] [\s-1FILE\s0]... + or: sha256sum [\s-1OPTIONS\s0] \-c [\s-1FILE\s0] +.Sp +Print or check \s-1SHA256\s0 checksums +.Sp +Options: +.Sp +.Vb 3 +\& \-c Check sums against given list +\& \-s Don\*(Aqt output anything, status code shows success +\& \-w Warn about improperly formatted checksum lines +.Ve +.IP "\fBsha512sum\fR" 4 +.IX Item "sha512sum" +sha512sum [\s-1OPTIONS\s0] [\s-1FILE\s0]... + or: sha512sum [\s-1OPTIONS\s0] \-c [\s-1FILE\s0] +.Sp +Print or check \s-1SHA512\s0 checksums +.Sp +Options: +.Sp +.Vb 3 +\& \-c Check sums against given list +\& \-s Don\*(Aqt output anything, status code shows success +\& \-w Warn about improperly formatted checksum lines +.Ve +.IP "\fBshowkey\fR" 4 +.IX Item "showkey" +showkey [\-a | \-k | \-s] +.Sp +Show keys pressed +.Sp +Options: +.Sp +.Vb 3 +\& \-a Display decimal/octal/hex values of the keys +\& \-k Display interpreted keycodes (default) +\& \-s Display raw scan\-codes +.Ve +.IP "\fBslattach\fR" 4 +.IX Item "slattach" +slattach [\-cehmLF] [\-s \s-1SPEED\s0] [\-p \s-1PROTOCOL\s0] \s-1DEVICE\s0 +.Sp +Attach network interface(s) to serial line(s) +.Sp +Options: +.Sp +.Vb 8 +\& \-p PROT Set protocol (slip, cslip, slip6, clisp6 or adaptive) +\& \-s SPD Set line speed +\& \-e Exit after initializing device +\& \-h Exit when the carrier is lost +\& \-c PROG Run PROG when the line is hung up +\& \-m Do NOT initialize the line in raw 8 bits mode +\& \-L Enable 3\-wire operation +\& \-F Disable RTS/CTS flow control +.Ve +.IP "\fBsleep\fR" 4 +.IX Item "sleep" +sleep [N]... +.Sp +Pause for a time equal to the total of the args given, where each arg can +have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays +.IP "\fBsoftlimit\fR" 4 +.IX Item "softlimit" +softlimit [\-a \s-1BYTES\s0] [\-m \s-1BYTES\s0] [\-d \s-1BYTES\s0] [\-s \s-1BYTES\s0] [\-l \s-1BYTES\s0] + [\-f \s-1BYTES\s0] [\-c \s-1BYTES\s0] [\-r \s-1BYTES\s0] [\-o N] [\-p N] [\-t N] + \s-1PROG\s0 \s-1ARGS\s0 +.Sp +Set soft resource limits, then run \s-1PROG\s0 +.Sp +Options: +.Sp +.Vb 8 +\& \-a BYTES Limit total size of all segments +\& \-m BYTES Same as \-d BYTES \-s BYTES \-l BYTES \-a BYTES +\& \-d BYTES Limit data segment +\& \-s BYTES Limit stack segment +\& \-l BYTES Limit locked memory size +\& \-o N Limit number of open files per process +\& \-p N Limit number of processes per uid +\&Options controlling file sizes: +\& +\& \-f BYTES Limit output file sizes +\& \-c BYTES Limit core file size +\&Efficiency opts: +\& +\& \-r BYTES Limit resident set size +\& \-t N Limit CPU time, process receives +\& a SIGXCPU after N seconds +.Ve +.IP "\fBsort\fR" 4 +.IX Item "sort" +sort [\-nrugMcszbdfimSTokt] [\-o \s-1FILE\s0] [\-k start[.offset][opts][,end[.offset][opts]] [\-t \s-1CHAR\s0] [\s-1FILE\s0]... +.Sp +Sort lines of text +.Sp +Options: +.Sp +.Vb 10 +\& \-b Ignore leading blanks +\& \-c Check whether input is sorted +\& \-d Dictionary order (blank or alphanumeric only) +\& \-f Ignore case +\& \-g General numerical sort +\& \-i Ignore unprintable characters +\& \-k Sort key +\& \-M Sort month +\& \-n Sort numbers +\& \-o Output to file +\& \-k Sort by key +\& \-t CHAR Key separator +\& \-r Reverse sort order +\& \-s Stable (don\*(Aqt sort ties alphabetically) +\& \-u Suppress duplicate lines +\& \-z Lines are terminated by NUL, not newline +\& \-mST Ignored for GNU compatibility +.Ve +.IP "\fBsplit\fR" 4 +.IX Item "split" +split [\s-1OPTIONS\s0] [\s-1INPUT\s0 [\s-1PREFIX\s0]] +.Sp +Options: +.Sp +.Vb 3 +\& \-b n[k|m] Split by bytes +\& \-l n Split by lines +\& \-a n Use n letters as suffix +.Ve +.IP "\fBstart-stop-daemon\fR" 4 +.IX Item "start-stop-daemon" +start-stop-daemon [\s-1OPTIONS\s0] [\-S|\-K] ... [\-\- arguments...] +.Sp +Search for matching processes, and then +\&\-K: stop all matching processes. +\&\-S: start a process unless a matching process is found. +.Sp +Process matching: +.Sp +.Vb 10 +\& \-u,\-\-user USERNAME|UID Match only this user\*(Aqs processes +\& \-n,\-\-name NAME Match processes with NAME +\& in comm field in /proc/PID/stat +\& \-x,\-\-exec EXECUTABLE Match processes with this command +\& in /proc/PID/cmdline +\& \-p,\-\-pidfile FILE Match a process with PID from the file +\& All specified conditions must match +\&\-S only: +\& \-x,\-\-exec EXECUTABLE Program to run +\& \-a,\-\-startas NAME Zeroth argument +\& \-b,\-\-background Background +\& \-N,\-\-nicelevel N Change nice level +\& \-c,\-\-chuid USER[:[GRP]] Change to user/group +\& \-m,\-\-make\-pidfile Write PID to the pidfile specified by \-p +\&\-K only: +\& \-s,\-\-signal SIG Signal to send +\& \-t,\-\-test Match only, exit with 0 if a process is found +\&Other: +\& +\& \-o,\-\-oknodo Exit with status 0 if nothing is done +\& \-v,\-\-verbose Verbose +\& \-q,\-\-quiet Quiet +.Ve +.IP "\fBstat\fR" 4 +.IX Item "stat" +stat [\s-1OPTIONS\s0] \s-1FILE\s0... +.Sp +Display file (default) or filesystem status +.Sp +Options: +.Sp +.Vb 4 +\& \-c fmt Use the specified format +\& \-f Display filesystem status +\& \-L Dereference links +\& \-t Display info in terse form +.Ve +.Sp +Valid format sequences for files: +.Sp +.Vb 10 +\& %a Access rights in octal +\& %A Access rights in human readable form +\& %b Number of blocks allocated (see %B) +\& %B The size in bytes of each block reported by %b +\& %d Device number in decimal +\& %D Device number in hex +\& %f Raw mode in hex +\& %F File type +\& %g Group ID of owner +\& %G Group name of owner +\& %h Number of hard links +\& %i Inode number +\& %n File name +\& %N Quoted file name with dereference if symlink +\& %o I/O block size +\& %s Total size, in bytes +\& %t Major device type in hex +\& %T Minor device type in hex +\& %u User ID of owner +\& %U User name of owner +\& %x Time of last access +\& %X Time of last access as seconds since Epoch +\& %y Time of last modification +\& %Y Time of last modification as seconds since Epoch +\& %z Time of last change +\& %Z Time of last change as seconds since Epoch +.Ve +.Sp +Valid format sequences for file systems: +.Sp +.Vb 12 +\& %a Free blocks available to non\-superuser +\& %b Total data blocks in file system +\& %c Total file nodes in file system +\& %d Free file nodes in file system +\& %f Free blocks in file system +\& %i File System ID in hex +\& %l Maximum length of filenames +\& %n File name +\& %s Block size (for faster transfer) +\& %S Fundamental block size (for block counts) +\& %t Type in hex +\& %T Type in human readable form +.Ve +.IP "\fBstrings\fR" 4 +.IX Item "strings" +strings [\-afo] [\-n \s-1LEN\s0] [\s-1FILE\s0]... +.Sp +Display printable strings in a binary file +.Sp +Options: +.Sp +.Vb 4 +\& \-a Scan whole file (default) +\& \-f Precede strings with filenames +\& \-n LEN At least LEN characters form a string (default 4) +\& \-o Precede strings with decimal offsets +.Ve +.IP "\fBstty\fR" 4 +.IX Item "stty" +stty [\-a|g] [\-F \s-1DEVICE\s0] [\s-1SETTING\s0]... +.Sp +Without arguments, prints baud rate, line discipline, +and deviations from stty sane +.Sp +Options: +.Sp +.Vb 4 +\& \-F DEVICE Open device instead of stdin +\& \-a Print all current settings in human\-readable form +\& \-g Print in stty\-readable form +\& [SETTING] See manpage +.Ve +.IP "\fBsu\fR" 4 +.IX Item "su" +su [\s-1OPTIONS\s0] [\-] [username] +.Sp +Change user id or become root +.Sp +Options: +.Sp +.Vb 3 +\& \-p, \-m Preserve environment +\& \-c CMD Command to pass to \*(Aqsh \-c\*(Aq +\& \-s SH Shell to use instead of default shell +.Ve +.IP "\fBsulogin\fR" 4 +.IX Item "sulogin" +sulogin [\s-1OPTIONS\s0] [\s-1TTY\s0] +.Sp +Single user login +.Sp +Options: +.Sp +.Vb 1 +\& \-t N Timeout +.Ve +.IP "\fBsum\fR" 4 +.IX Item "sum" +sum [\-rs] [\s-1FILE\s0]... +.Sp +Checksum and count the blocks in a file +.Sp +Options: +.Sp +.Vb 2 +\& \-r Use BSD sum algorithm (1K blocks) +\& \-s Use System V sum algorithm (512byte blocks) +.Ve +.IP "\fBsv\fR" 4 +.IX Item "sv" +sv [\-v] [\-w sec] command service... +.Sp +Control services monitored by runsv supervisor. +Commands (only first character is enough): +.Sp +status: query service status +up: if service isn't running, start it. If service stops, restart it +once: like 'up', but if service stops, don't restart it +down: send \s-1TERM\s0 and \s-1CONT\s0 signals. If ./run exits, start ./finish + if it exists. After it stops, do not restart service +exit: send \s-1TERM\s0 and \s-1CONT\s0 signals to service and log service. If they exit, + runsv exits too +pause, cont, hup, alarm, interrupt, quit, 1, 2, term, kill: send +\&\s-1STOP\s0, \s-1CONT\s0, \s-1HUP\s0, \s-1ALRM\s0, \s-1INT\s0, \s-1QUIT\s0, \s-1USR1\s0, \s-1USR2\s0, \s-1TERM\s0, \s-1KILL\s0 signal to service +.IP "\fBsvlogd\fR" 4 +.IX Item "svlogd" +svlogd [\-ttv] [\-r c] [\-R abc] [\-l len] [\-b buflen] dir... +.Sp +Continuously read log data from standard input, optionally +filter log messages, and write the data to one or more automatically +rotated logs +.IP "\fBswapoff\fR" 4 +.IX Item "swapoff" +swapoff [\-a] [\s-1DEVICE\s0] +.Sp +Stop swapping on \s-1DEVICE\s0 +.Sp +Options: +.Sp +.Vb 1 +\& \-a Stop swapping on all swap devices +.Ve +.IP "\fBswapon\fR" 4 +.IX Item "swapon" +swapon [\-a] [\-p pri] [\s-1DEVICE\s0] +.Sp +Start swapping on \s-1DEVICE\s0 +.Sp +Options: +.Sp +.Vb 2 +\& \-a Start swapping on all swap devices +\& \-p pri Set swap device priority +.Ve +.IP "\fBswitch_root\fR" 4 +.IX Item "switch_root" +switch_root [\-c /dev/console] \s-1NEW_ROOT\s0 \s-1NEW_INIT\s0 [\s-1ARGS\s0] +.Sp +Free initramfs and switch to another root fs: +.Sp +chroot to \s-1NEW_ROOT\s0, delete all in /, move \s-1NEW_ROOT\s0 to /, +execute \s-1NEW_INIT\s0. \s-1PID\s0 must be 1. \s-1NEW_ROOT\s0 must be a mountpoint. +.Sp +Options: +.Sp +.Vb 1 +\& \-c DEV Reopen stdio to DEV after switch +.Ve +.IP "\fBsync\fR" 4 +.IX Item "sync" +sync +.Sp +Write all buffered blocks to disk +.IP "\fBsysctl\fR" 4 +.IX Item "sysctl" +sysctl [\s-1OPTIONS\s0] [\s-1VALUE\s0]... +.Sp +Configure kernel parameters at runtime +.Sp +Options: +.Sp +.Vb 6 +\& \-n Don\*(Aqt print key names +\& \-e Don\*(Aqt warn about unknown keys +\& \-w Change sysctl setting +\& \-p FILE Load sysctl settings from FILE (default /etc/sysctl.conf) +\& \-a Display all values +\& \-A Display all values in table form +.Ve +.IP "\fBsyslogd\fR" 4 +.IX Item "syslogd" +syslogd [\s-1OPTIONS\s0] +.Sp +System logging utility. +Note that this version of syslogd ignores /etc/syslog.conf. +.Sp +Options: +.Sp +.Vb 10 +\& \-n Run in foreground +\& \-O FILE Log to given file (default:/var/log/messages) +\& \-l n Set local log level +\& \-S Smaller logging output +\& \-s SIZE Max size (KB) before rotate (default:200KB, 0=off) +\& \-b NUM Number of rotated logs to keep (default:1, max=99, 0=purge) +\& \-R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP) +\& \-L Log locally and via network (default is network only if \-R) +\& \-D Drop duplicates +\& \-C[size(KiB)] Log to shared mem buffer (read it using logread) +.Ve +.IP "\fBtac\fR" 4 +.IX Item "tac" +tac [\s-1FILE\s0]... +.Sp +Concatenate \s-1FILE\s0(s) and print them in reverse +.IP "\fBtail\fR" 4 +.IX Item "tail" +tail [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Print last 10 lines of each \s-1FILE\s0 to standard output. +With more than one \s-1FILE\s0, precede each with a header giving the +file name. With no \s-1FILE\s0, or when \s-1FILE\s0 is \-, read standard input. +.Sp +Options: +.Sp +.Vb 6 +\& \-c N[kbm] Output the last N bytes +\& \-n N[kbm] Print last N lines instead of last 10 +\& \-f Output data as the file grows +\& \-q Never output headers giving file names +\& \-s SEC Wait SEC seconds between reads with \-f +\& \-v Always output headers giving file names +.Ve +.Sp +If the first character of N (bytes or lines) is a '+', output begins with +the Nth item from the start of each file, otherwise, print the last N items +in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2). +.IP "\fBtar\fR" 4 +.IX Item "tar" +tar \-[czjaZxtvO] [\-X \s-1FILE\s0] [\-f \s-1TARFILE\s0] [\-C \s-1DIR\s0] [\s-1FILE\s0(s)]... +.Sp +Create, extract, or list files from a tar file +.Sp +Options: +.Sp +.Vb 4 +\& c Create +\& x Extract +\& t List +\&Archive format selection: +\& +\& z Filter the archive through gzip +\& j Filter the archive through bzip2 +\& a Filter the archive through lzma +\& Z Filter the archive through compress +\&File selection: +\& +\& f Name of TARFILE or "\-" for stdin +\& O Extract to stdout +\& exclude File to exclude +\& X File with names to exclude +\& C Change to directory DIR before operation +\& v Verbose +.Ve +.IP "\fBtaskset\fR" 4 +.IX Item "taskset" +taskset [\-p] [\s-1MASK\s0] [\s-1PID\s0 | \s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Set or get \s-1CPU\s0 affinity +.Sp +Options: +.Sp +.Vb 1 +\& \-p Operate on an existing PID +.Ve +.IP "\fBtcpsvd\fR" 4 +.IX Item "tcpsvd" +tcpsvd [\-hEv] [\-c N] [\-C N[:MSG]] [\-b N] [\-u \s-1USER\s0] [\-l \s-1NAME\s0] \s-1IP\s0 \s-1PORT\s0 \s-1PROG\s0 +.Sp +Create \s-1TCP\s0 socket, bind to \s-1IP:PORT\s0 and listen +for incoming connection. Run \s-1PROG\s0 for each connection. +.Sp +.Vb 10 +\& IP IP to listen on. \*(Aq0\*(Aq = all +\& PORT Port to listen on +\& PROG [ARGS] Program to run +\& \-l NAME Local hostname (else looks up local hostname in DNS) +\& \-u USER[:GRP] Change to user/group after bind +\& \-c N Handle up to N connections simultaneously +\& \-b N Allow a backlog of approximately N TCP SYNs +\& \-C N[:MSG] Allow only up to N connections from the same IP +\& New connections from this IP address are closed +\& immediately. MSG is written to the peer before close +\& \-h Look up peer\*(Aqs hostname +\& \-E Do not set up environment variables +\& \-v Verbose +.Ve +.IP "\fBtee\fR" 4 +.IX Item "tee" +tee [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Copy standard input to each \s-1FILE\s0, and also to standard output +.Sp +Options: +.Sp +.Vb 2 +\& \-a Append to the given FILEs, do not overwrite +\& \-i Ignore interrupt signals (SIGINT) +.Ve +.IP "\fBtelnet\fR" 4 +.IX Item "telnet" +telnet [\-a] [\-l \s-1USER\s0] \s-1HOST\s0 [\s-1PORT\s0] +.Sp +Connect to telnet server +.Sp +Options: +.Sp +.Vb 2 +\& \-a Automatic login with $USER variable +\& \-l USER Automatic login as USER +.Ve +.IP "\fBtelnetd\fR" 4 +.IX Item "telnetd" +telnetd [\s-1OPTIONS\s0] +.Sp +Handle incoming telnet connections +.Sp +Options: +.Sp +.Vb 10 +\& \-l LOGIN Exec LOGIN on connect +\& \-f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue +\& \-K Close connection as soon as login exits +\& (normally wait until all programs close slave pty) +\& \-p PORT Port to listen on +\& \-b ADDR[:PORT] Address to bind to +\& \-F Run in foreground +\& \-i Run as inetd service +\& \-w SEC Run as inetd service in wait mode, linger time SEC +\& \-S Log to syslog (implied by \-i or without \-F and \-w) +.Ve +.IP "\fBtest\fR" 4 +.IX Item "test" +test \s-1EXPRESSION\s0 ] +.Sp +Check file types, compare values etc. Return a 0/1 exit code +depending on logical value of \s-1EXPRESSION\s0 +.IP "\fBtftp\fR" 4 +.IX Item "tftp" +tftp [\s-1OPTIONS\s0] \s-1HOST\s0 [\s-1PORT\s0] +.Sp +Transfer a file from/to tftp server +.Sp +Options: +.Sp +.Vb 5 +\& \-l FILE Local FILE +\& \-r FILE Remote FILE +\& \-g Get file +\& \-p Put file +\& \-b SIZE Transfer blocks of SIZE octets +.Ve +.IP "\fBtftpd\fR" 4 +.IX Item "tftpd" +tftpd [\-cr] [\-u \s-1USER\s0] [\s-1DIR\s0] +.Sp +Transfer a file on tftp client's request +.Sp +tftpd should be used as an inetd service. +tftpd's line for inetd.conf: + 69 dgram udp nowait root tftpd tftpd /files/to/serve +It also can be ran from udpsvd: +.Sp +.Vb 1 +\& udpsvd \-vE 0.0.0.0 69 tftpd /files/to/serve +.Ve +.Sp +Options: +.Sp +.Vb 3 +\& \-r Prohibit upload +\& \-c Allow file creation via upload +\& \-u Access files as USER +.Ve +.IP "\fBtime\fR" 4 +.IX Item "time" +time [\s-1OPTIONS\s0] \s-1PROG\s0 [\s-1ARGS\s0] +.Sp +Run \s-1PROG\s0. When it finishes, its resource usage is displayed. +.Sp +Options: +.Sp +.Vb 1 +\& \-v Verbose +.Ve +.IP "\fBtimeout\fR" 4 +.IX Item "timeout" +timeout [\-t \s-1SECS\s0] [\-s \s-1SIG\s0] \s-1PROG\s0 [\s-1ARGS\s0] +.Sp +Runs \s-1PROG\s0. Sends \s-1SIG\s0 to it if it is not gone in \s-1SECS\s0 seconds. +Defaults: \s-1SECS:\s0 10, \s-1SIG:\s0 \s-1TERM\s0. +.IP "\fBtop\fR" 4 +.IX Item "top" +top [\-b] [\-nCOUNT] [\-dSECONDS] [\-m] +.Sp +Provide a view of process activity in real time. +Read the status of all processes from /proc each \s-1SECONDS\s0 +and show the status for however many processes will fit on the screen. +.IP "\fBtouch\fR" 4 +.IX Item "touch" +touch [\-c] [\-d \s-1DATE\s0] \s-1FILE\s0 [\s-1FILE\s0]... +.Sp +Update the last-modified date on the given FILE[s] +.Sp +Options: +.Sp +.Vb 2 +\& \-c Do not create files +\& \-d DT Date/time to use +.Ve +.IP "\fBtr\fR" 4 +.IX Item "tr" +tr [\-cds] \s-1STRING1\s0 [\s-1STRING2\s0] +.Sp +Translate, squeeze, and/or delete characters from +standard input, writing to standard output +.Sp +Options: +.Sp +.Vb 3 +\& \-c Take complement of STRING1 +\& \-d Delete input characters coded STRING1 +\& \-s Squeeze multiple output characters of STRING2 into one character +.Ve +.IP "\fBtraceroute\fR" 4 +.IX Item "traceroute" +traceroute [\-FIldnrv] [\-f 1st_ttl] [\-m max_ttl] [\-p port#] [\-q nqueries] + [\-s src_addr] [\-t tos] [\-w wait] [\-g gateway] [\-i iface] + [\-z pausemsecs] \s-1HOST\s0 [data size] +.Sp +Trace the route to \s-1HOST\s0 +.Sp +Options: +.Sp +.Vb 10 +\& \-F Set the don\*(Aqt fragment bit +\& \-I Use ICMP ECHO instead of UDP datagrams +\& \-l Display the ttl value of the returned packet +\& \-d Set SO_DEBUG options to socket +\& \-n Print hop addresses numerically rather than symbolically +\& \-r Bypass the normal routing tables and send directly to a host +\& \-v Verbose +\& \-m max_ttl Max time\-to\-live (max number of hops) +\& \-p port# Base UDP port number used in probes +\& (default 33434) +\& \-q nqueries Number of probes per \*(Aqttl\*(Aq (default 3) +\& \-s src_addr IP address to use as the source address +\& \-t tos Type\-of\-service in probe packets (default 0) +\& \-w wait Time in seconds to wait for a response +\& (default 3 sec) +\& \-g Loose source route gateway (8 max) +.Ve +.IP "\fBtrue\fR" 4 +.IX Item "true" +true +.Sp +Return an exit code of \s-1TRUE\s0 (0) +.IP "\fBtty\fR" 4 +.IX Item "tty" +tty +.Sp +Print file name of standard input's terminal +.Sp +Options: +.Sp +.Vb 1 +\& \-s Print nothing, only return exit status +.Ve +.IP "\fBttysize\fR" 4 +.IX Item "ttysize" +ttysize [w] [h] +.Sp +Print dimension(s) of standard input's terminal, on error return 80x25 +.IP "\fBudhcpc\fR" 4 +.IX Item "udhcpc" +udhcpc [\-Cfbnqtvo] [\-c \s-1CID\s0] [\-V \s-1VCLS\s0] [\-H \s-1HOSTNAME\s0] [\-i \s-1INTERFACE\s0] + [\-p pidfile] [\-r \s-1IP\s0] [\-s script] [\-O dhcp\-option]... +.Sp +.Vb 10 +\& \-V,\-\-vendorclass=CLASSID Vendor class identifier +\& \-i,\-\-interface=INTERFACE Interface to use (default eth0) +\& \-H,\-h,\-\-hostname=HOSTNAME Client hostname +\& \-c,\-\-clientid=CLIENTID Client identifier +\& \-C,\-\-clientid\-none Suppress default client identifier +\& \-p,\-\-pidfile=file Create pidfile +\& \-r,\-\-request=IP IP address to request +\& \-s,\-\-script=file Run file at DHCP events (default /usr/share/udhcpc/default.script) +\& \-t,\-\-retries=N Send up to N request packets +\& \-T,\-\-timeout=N Try to get a lease for N seconds (default 3) +\& \-A,\-\-tryagain=N Wait N seconds (default 20) after failure +\& \-O,\-\-request\-option=OPT Request DHCP option OPT (cumulative) +\& \-o,\-\-no\-default\-options Do not request any options (unless \-O is also given) +\& \-f,\-\-foreground Run in foreground +\& \-b,\-\-background Background if lease is not immediately obtained +\& \-S,\-\-syslog Log to syslog too +\& \-n,\-\-now Exit with failure if lease is not immediately obtained +\& \-q,\-\-quit Quit after obtaining lease +\& \-R,\-\-release Release IP on quit +\& \-a,\-\-arping Use arping to validate offered address +.Ve +.IP "\fBudhcpd\fR" 4 +.IX Item "udhcpd" +udhcpd [\-fS] [configfile] +.Sp +\&\s-1DHCP\s0 server +.Sp +.Vb 2 +\& \-f Run in foreground +\& \-S Log to syslog too +.Ve +.IP "\fBudpsvd\fR" 4 +.IX Item "udpsvd" +udpsvd [\-hEv] [\-c N] [\-u \s-1USER\s0] [\-l \s-1NAME\s0] \s-1IP\s0 \s-1PORT\s0 \s-1PROG\s0 +.Sp +Create \s-1UDP\s0 socket, bind to \s-1IP:PORT\s0 and wait +for incoming packets. Run \s-1PROG\s0 for each packet, +redirecting all further packets with same peer ip:port to it. +.Sp +.Vb 9 +\& IP IP to listen on. \*(Aq0\*(Aq = all +\& PORT Port to listen on +\& PROG [ARGS] Program to run +\& \-l NAME Local hostname (else looks up local hostname in DNS) +\& \-u USER[:GRP] Change to user/group after bind +\& \-c N Handle up to N connections simultaneously +\& \-h Look up peer\*(Aqs hostname +\& \-E Do not set up environment variables +\& \-v Verbose +.Ve +.IP "\fBumount\fR" 4 +.IX Item "umount" +umount [flags] FILESYSTEM|DIRECTORY +.Sp +Unmount file systems +.Sp +Options: +.Sp +.Vb 5 +\& \-a Unmount all file systems +\& \-r Try to remount devices as read\-only if mount is busy +\& \-l Lazy umount (detach filesystem) +\& \-f Force umount (i.e., unreachable NFS server) +\& \-d Free loop device if it has been used +.Ve +.IP "\fBuname\fR" 4 +.IX Item "uname" +uname [\-amnrspv] +.Sp +Print system information +.Sp +Options: +.Sp +.Vb 7 +\& \-a Print all +\& \-m The machine (hardware) type +\& \-n Hostname +\& \-r OS release +\& \-s OS name (default) +\& \-p Processor type +\& \-v OS version +.Ve +.IP "\fBuncompress\fR" 4 +.IX Item "uncompress" +uncompress [\-c] [\-f] [name...] +.Sp +Uncompress .Z file[s] +.Sp +Options: +.Sp +.Vb 2 +\& \-c Extract to stdout +\& \-f Overwrite an existing file +.Ve +.IP "\fBunexpand\fR" 4 +.IX Item "unexpand" +unexpand [\-f][\-a][\-t \s-1NUM\s0] [FILE|\-] +.Sp +Convert spaces to tabs, writing to standard output +.Sp +Options: +.Sp +.Vb 3 +\& \-a,\-\-all Convert all blanks +\& \-f,\-\-first\-only Convert only leading blanks +\& \-t,\-\-tabs=N Tabstops every N chars +.Ve +.IP "\fBuniq\fR" 4 +.IX Item "uniq" +uniq [\-fscduw]... [\s-1INPUT\s0 [\s-1OUTPUT\s0]] +.Sp +Discard duplicate lines +.Sp +Options: +.Sp +.Vb 6 +\& \-c Prefix lines by the number of occurrences +\& \-d Only print duplicate lines +\& \-u Only print unique lines +\& \-f N Skip first N fields +\& \-s N Skip first N chars (after any skipped fields) +\& \-w N Compare N characters in line +.Ve +.IP "\fBunix2dos\fR" 4 +.IX Item "unix2dos" +unix2dos [\s-1OPTION\s0] [\s-1FILE\s0] +.Sp +Convert \s-1FILE\s0 in-place from Unix to \s-1DOS\s0 format. +When no file is given, use stdin/stdout. +.Sp +Options: +.Sp +.Vb 2 +\& \-u dos2unix +\& \-d unix2dos +.Ve +.IP "\fBunlzma\fR" 4 +.IX Item "unlzma" +unlzma [\s-1OPTIONS\s0] [\s-1FILE\s0] +.Sp +Uncompress \s-1FILE\s0 (or standard input if \s-1FILE\s0 is '\-' or omitted) +.Sp +Options: +.Sp +.Vb 2 +\& \-c Write to standard output +\& \-f Force +.Ve +.IP "\fBunlzop\fR" 4 +.IX Item "unlzop" +unlzop [\-cfvCF] [\s-1FILE\s0]... +.Sp +.Vb 4 +\& \-c Write to standard output +\& \-f Force +\& \-v Verbose +\& \-F Don\*(Aqt store or verify checksum +.Ve +.IP "\fBunzip\fR" 4 +.IX Item "unzip" +unzip [\-opts[modifiers]] file[.zip] [list] [\-x xlist] [\-d exdir] +.Sp +Extract files from \s-1ZIP\s0 archives +.Sp +Options: +.Sp +.Vb 7 +\& \-l List archive contents (with \-q for short form) +\& \-n Never overwrite existing files (default) +\& \-o Overwrite files without prompting +\& \-p Send output to stdout +\& \-q Quiet +\& \-x Exclude these files +\& \-d Extract files into this directory +.Ve +.IP "\fBuptime\fR" 4 +.IX Item "uptime" +uptime +.Sp +Display the time since the last boot +.IP "\fBusleep\fR" 4 +.IX Item "usleep" +usleep N +.Sp +Pause for N microseconds +.IP "\fBuudecode\fR" 4 +.IX Item "uudecode" +uudecode [\-o outfile] [infile] +.Sp +Uudecode a file +Finds outfile name in uuencoded source unless \-o is given +.IP "\fBuuencode\fR" 4 +.IX Item "uuencode" +uuencode [\-m] [infile] stored_filename +.Sp +Uuencode a file to stdout +.Sp +Options: +.Sp +.Vb 1 +\& \-m Use base64 encoding per RFC1521 +.Ve +.IP "\fBvconfig\fR" 4 +.IX Item "vconfig" +vconfig \s-1COMMAND\s0 [\s-1OPTIONS\s0] +.Sp +Create and remove virtual ethernet devices +.Sp +Options: +.Sp +.Vb 6 +\& add [interface\-name] [vlan_id] +\& rem [vlan\-name] +\& set_flag [interface\-name] [flag\-num] [0 | 1] +\& set_egress_map [vlan\-name] [skb_priority] [vlan_qos] +\& set_ingress_map [vlan\-name] [skb_priority] [vlan_qos] +\& set_name_type [name\-type] +.Ve +.IP "\fBvi\fR" 4 +.IX Item "vi" +vi [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Edit \s-1FILE\s0 +.Sp +Options: +.Sp +.Vb 3 +\& \-c Initial command to run ($EXINIT also available) +\& \-R Read\-only \- do not write to the file +\& \-H Short help regarding available features +.Ve +.IP "\fBvlock\fR" 4 +.IX Item "vlock" +vlock [\s-1OPTIONS\s0] +.Sp +Lock a virtual terminal. A password is required to unlock. +.Sp +Options: +.Sp +.Vb 1 +\& \-a Lock all VTs +.Ve +.IP "\fBvolname\fR" 4 +.IX Item "volname" +volname [\s-1DEVICE\s0] +.Sp +Show \s-1CD\s0 volume name of the \s-1DEVICE\s0 (default /dev/cdrom) +.IP "\fBwatch\fR" 4 +.IX Item "watch" +watch [\-n seconds] [\-t] \s-1PROG\s0 [\s-1ARGS\s0] +.Sp +Run \s-1PROG\s0 periodically +.Sp +Options: +.Sp +.Vb 2 +\& \-n Loop period in seconds (default 2) +\& \-t Don\*(Aqt print header +.Ve +.IP "\fBwatchdog\fR" 4 +.IX Item "watchdog" +watchdog [\-t N[ms]] [\-T N[ms]] [\-F] \s-1DEV\s0 +.Sp +Periodically write to watchdog device \s-1DEV\s0 +.Sp +Options: +.Sp +.Vb 3 +\& \-T N Reboot after N seconds if not reset (default 60) +\& \-t N Reset every N seconds (default 30) +\& \-F Run in foreground +.Ve +.Sp +Use 500ms to specify period in milliseconds +.IP "\fBwc\fR" 4 +.IX Item "wc" +wc [\s-1OPTIONS\s0] [\s-1FILE\s0]... +.Sp +Print line, word, and byte counts for each \s-1FILE\s0, and a total line if +more than one \s-1FILE\s0 is specified. With no \s-1FILE\s0, read standard input. +.Sp +Options: +.Sp +.Vb 4 +\& \-c Print the byte counts +\& \-l Print the newline counts +\& \-L Print the length of the longest line +\& \-w Print the word counts +.Ve +.IP "\fBwget\fR" 4 +.IX Item "wget" +wget [\-c|\-\-continue] [\-s|\-\-spider] [\-q|\-\-quiet] [\-O|\-\-output\-document file] + [\-\-header 'header: value'] [\-Y|\-\-proxy on/off] [\-P \s-1DIR\s0] + [\-U|\-\-user\-agent agent] url +.Sp +Retrieve files via \s-1HTTP\s0 or \s-1FTP\s0 +.Sp +Options: +.Sp +.Vb 7 +\& \-s Spider mode \- only check file existence +\& \-c Continue retrieval of aborted transfer +\& \-q Quiet +\& \-P Set directory prefix to DIR +\& \-O Save to filename (\*(Aq\-\*(Aq for stdout) +\& \-U Adjust \*(AqUser\-Agent\*(Aq field +\& \-Y Use proxy (\*(Aqon\*(Aq or \*(Aqoff\*(Aq) +.Ve +.IP "\fBwhich\fR" 4 +.IX Item "which" +which [\s-1COMMAND\s0]... +.Sp +Locate a \s-1COMMAND\s0 +.IP "\fBwho\fR" 4 +.IX Item "who" +who [\-a] +.Sp +Show who is logged on +.Sp +Options: +.Sp +.Vb 1 +\& \-a show all +.Ve +.IP "\fBwhoami\fR" 4 +.IX Item "whoami" +whoami +.Sp +Print the user name associated with the current effective user id +.IP "\fBxargs\fR" 4 +.IX Item "xargs" +xargs [\s-1OPTIONS\s0] [\s-1PROG\s0 [\s-1ARGS\s0]] +.Sp +Run \s-1PROG\s0 on every item given by standard input +.Sp +Options: +.Sp +.Vb 8 +\& \-p Ask user whether to run each command +\& \-r Do not run command if input is empty +\& \-0 Input is separated by NUL characters +\& \-t Print the command on stderr before execution +\& \-e[STR] STR stops input processing +\& \-n N Pass no more than N args to PROG +\& \-s N Pass command line of no more than N bytes +\& \-x Exit if size is exceeded +.Ve +.IP "\fByes\fR" 4 +.IX Item "yes" +yes [\s-1OPTIONS\s0] [\s-1STRING\s0] +.Sp +Repeatedly output a line with \s-1STRING\s0, or 'y' +.IP "\fBzcat\fR" 4 +.IX Item "zcat" +zcat \s-1FILE\s0 +.Sp +Uncompress to stdout +.IP "\fBzcip\fR" 4 +.IX Item "zcip" +zcip [\s-1OPTIONS\s0] \s-1IFACE\s0 \s-1SCRIPT\s0 +.Sp +Manage a ZeroConf IPv4 link-local address +.Sp +Options: +.Sp +.Vb 4 +\& \-f Run in foreground +\& \-q Quit after obtaining address +\& \-r 169.254.x.x Request this address first +\& \-v Verbose +.Ve +.Sp +With no \-q, runs continuously monitoring for \s-1ARP\s0 conflicts, +exits only on I/O errors (link down etc) +.SH "LIBC NSS" +.IX Header "LIBC NSS" +\&\s-1GNU\s0 Libc (glibc) uses the Name Service Switch (\s-1NSS\s0) to configure the behavior +of the C library for the local environment, and to configure how it reads +system data, such as passwords and group information. This is implemented +using an /etc/nsswitch.conf configuration file, and using one or more of the +/lib/libnss_* libraries. BusyBox tries to avoid using any libc calls that make +use of \s-1NSS\s0. Some applets however, such as login and su, will use libc functions +that require \s-1NSS\s0. +.PP +If you enable \s-1CONFIG_USE_BB_PWD_GRP\s0, BusyBox will use internal functions to +directly access the /etc/passwd, /etc/group, and /etc/shadow files without +using \s-1NSS\s0. This may allow you to run your system without the need for +installing any of the \s-1NSS\s0 configuration files and libraries. +.PP +When used with glibc, the BusyBox 'networking' applets will similarly require +that you install at least some of the glibc \s-1NSS\s0 stuff (in particular, +/etc/nsswitch.conf, /lib/libnss_dns*, /lib/libnss_files*, and /lib/libresolv*). +.PP +Shameless Plug: As an alternative, one could use a C library such as uClibc. In +addition to making your system significantly smaller, uClibc does not require the +use of any \s-1NSS\s0 support files or libraries. +.SH "MAINTAINER" +.IX Header "MAINTAINER" +Denis Vlasenko +.SH "AUTHORS" +.IX Header "AUTHORS" +The following people have contributed code to BusyBox whether they know it or +not. If you have written code included in BusyBox, you should probably be +listed here so you can obtain your bit of eternal glory. If you should be +listed here, or the description of what you have done needs more detail, or is +incorrect, please send in an update. +.PP +Emanuele Aina + run-parts +.PP +Erik Andersen +.PP +.Vb 4 +\& Tons of new stuff, major rewrite of most of the +\& core apps, tons of new apps as noted in header files. +\& Lots of tedious effort writing these boring docs that +\& nobody is going to actually read. +.Ve +.PP +Laurence Anderson +.PP +.Vb 1 +\& rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm +.Ve +.PP +Jeff Angielski +.PP +.Vb 1 +\& ftpput, ftpget +.Ve +.PP +Edward Betts +.PP +.Vb 1 +\& expr, hostid, logname, whoami +.Ve +.PP +John Beppu +.PP +.Vb 1 +\& du, nslookup, sort +.Ve +.PP +Brian Candler +.PP +.Vb 1 +\& tiny\-ls(ls) +.Ve +.PP +Randolph Chung +.PP +.Vb 1 +\& fbset, ping, hostname +.Ve +.PP +Dave Cinege +.PP +.Vb 2 +\& more(v2), makedevs, dutmp, modularization, auto links file, +\& various fixes, Linux Router Project maintenance +.Ve +.PP +Jordan Crouse +.PP +.Vb 1 +\& ipcalc +.Ve +.PP +Magnus Damm +.PP +.Vb 1 +\& tftp client insmod powerpc support +.Ve +.PP +Larry Doolittle +.PP +.Vb 1 +\& pristine source directory compilation, lots of patches and fixes. +.Ve +.PP +Glenn Engel +.PP +.Vb 1 +\& httpd +.Ve +.PP +Gennady Feldman +.PP +.Vb 2 +\& Sysklogd (single threaded syslogd, IPC Circular buffer support, +\& logread), various fixes. +.Ve +.PP +Karl M. Hegbloom +.PP +.Vb 1 +\& cp_mv.c, the test suite, various fixes to utility.c, &c. +.Ve +.PP +Daniel Jacobowitz +.PP +.Vb 1 +\& mktemp.c +.Ve +.PP +Matt Kraai +.PP +.Vb 1 +\& documentation, bugfixes, test suite +.Ve +.PP +Stephan Linz +.PP +.Vb 1 +\& ipcalc, Red Hat equivalence +.Ve +.PP +John Lombardo +.PP +.Vb 1 +\& tr +.Ve +.PP +Glenn McGrath +.PP +.Vb 3 +\& Common unarchiving code and unarchiving applets, ifupdown, ftpgetput, +\& nameif, sed, patch, fold, install, uudecode. +\& Various bugfixes, review and apply numerous patches. +.Ve +.PP +Manuel Novoa \s-1III\s0 +.PP +.Vb 3 +\& cat, head, mkfifo, mknod, rmdir, sleep, tee, tty, uniq, usleep, wc, yes, +\& mesg, vconfig, make_directory, parse_mode, dirname, mode_string, +\& get_last_path_component, simplify_path, and a number trivial libbb routines +\& +\& also bug fixes, partial rewrites, and size optimizations in +\& ash, basename, cal, cmp, cp, df, du, echo, env, ln, logname, md5sum, mkdir, +\& mv, realpath, rm, sort, tail, touch, uname, watch, arith, human_readable, +\& interface, dutmp, ifconfig, route +.Ve +.PP +Vladimir Oleynik +.PP +.Vb 4 +\& cmdedit; xargs(current), httpd(current); +\& ports: ash, crond, fdisk, inetd, stty, traceroute, top; +\& locale, various fixes +\& and irreconcilable critic of everything not perfect. +.Ve +.PP +Bruce Perens +.PP +.Vb 2 +\& Original author of BusyBox in 1995, 1996. Some of his code can +\& still be found hiding here and there... +.Ve +.PP +Tim Riker +.PP +.Vb 1 +\& bug fixes, member of fan club +.Ve +.PP +Kent Robotti +.PP +.Vb 1 +\& reset, tons and tons of bug reports and patches. +.Ve +.PP +Chip Rosenthal , +.PP +.Vb 1 +\& wget \- Contributed by permission of Covad Communications +.Ve +.PP +Pavel Roskin +.PP +.Vb 1 +\& Lots of bugs fixes and patches. +.Ve +.PP +Gyepi Sam +.PP +.Vb 1 +\& Remote logging feature for syslogd +.Ve +.PP +Linus Torvalds +.PP +.Vb 1 +\& mkswap, fsck.minix, mkfs.minix +.Ve +.PP +Mark Whitley +.PP +.Vb 2 +\& grep, sed, cut, xargs(previous), +\& style\-guide, new\-applet\-HOWTO, bug fixes, etc. +.Ve +.PP +Charles P. Wright +.PP +.Vb 1 +\& gzip, mini\-netcat(nc) +.Ve +.PP +Enrique Zanardi +.PP +.Vb 1 +\& tarcat (since removed), loadkmap, various fixes, Debian maintenance +.Ve +.PP +Tito Ragusa +.PP +.Vb 1 +\& devfsd and size optimizations in strings, openvt and deallocvt. +.Ve diff --git a/busybox-1.17.2.tar.bz2 b/busybox-1.17.2.tar.bz2 deleted file mode 100644 index 86fa008..0000000 --- a/busybox-1.17.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a4c9d59098734c86c3bfef421719c3239ca213bba071e284e2352ff4a01cac6 -size 2094392 diff --git a/busybox-1.18.3-buildsys.patch b/busybox-1.18.3-buildsys.patch new file mode 100644 index 0000000..fd3bbd6 --- /dev/null +++ b/busybox-1.18.3-buildsys.patch @@ -0,0 +1,10 @@ +--- busybox-1.18.3/Config.in ++++ busybox-1.18.3-buildsys/Config.in +@@ -126,7 +126,6 @@ config FEATURE_INSTALLER + config INSTALL_NO_USR + bool "Don't use /usr" + default n +- depends on FEATURE_INSTALLER + help + Disable use of /usr. busybox --install and "make install" + will install applets only to /bin and /sbin, diff --git a/busybox-1.18.3-cksum.patch b/busybox-1.18.3-cksum.patch new file mode 100644 index 0000000..f5634ef --- /dev/null +++ b/busybox-1.18.3-cksum.patch @@ -0,0 +1,10 @@ +--- busybox-1.18.3/coreutils/cksum.c ++++ busybox-1.18.3-cksum/coreutils/cksum.c +@@ -38,6 +38,7 @@ int cksum_main(int argc UNUSED_PARAM, ch + + #define read_buf bb_common_bufsiz1 + while ((bytes_read = safe_read(fd, read_buf, sizeof(read_buf))) > 0) { ++ length += bytes_read; + crc = crc32_block_endian1(crc, read_buf, bytes_read, crc32_table); + } + close(fd); diff --git a/busybox-1.18.3-klogd.patch b/busybox-1.18.3-klogd.patch new file mode 100644 index 0000000..0a7a907 --- /dev/null +++ b/busybox-1.18.3-klogd.patch @@ -0,0 +1,45 @@ +--- busybox-1.18.3/sysklogd/klogd.c ++++ busybox-1.18.3-klogd/sysklogd/klogd.c +@@ -150,12 +150,41 @@ int klogd_main(int argc UNUSED_PARAM, ch + */ + klogd_open(); + openlog("kernel", 0, LOG_KERN); ++ /* ++ * glibc problem: for some reason, glibc changes LOG_KERN to LOG_USER ++ * above. The logic behind this is that standard ++ * http://pubs.opengroup.org/onlinepubs/9699919799/functions/syslog.html ++ * says the following about openlog and syslog: ++ * "LOG_USER ++ * Messages generated by arbitrary processes. ++ * This is the default facility identifier if none is specified." ++ * ++ * I believe glibc misinterpreted this text as "if openlog's ++ * third parameter is 0 (=LOG_KERN), treat it as LOG_USER". ++ * Whereas it was meant to say "if *syslog* is called with facility ++ * 0 in its 1st parameter without prior call to openlog, then perform ++ * implicit openlog(LOG_USER)". ++ * ++ * As a result of this, eh, feature, standard klogd was forced ++ * to open-code its own openlog and syslog implementation (!). ++ * ++ * Note that prohibiting openlog(LOG_KERN) on libc level does not ++ * add any security: any process can open a socket to "/dev/log" ++ * and write a string "<0>Voila, a LOG_KERN + LOG_EMERG message" ++ * ++ * Google code search tells me there is no widespread use of ++ * openlog("foo", 0, 0), thus fixing glibc won't break userspace. ++ * ++ * The bug against glibc was filed: ++ * bugzilla.redhat.com/show_bug.cgi?id=547000 ++ */ + + if (i) + klogd_setloglevel(i); + +- bb_signals(BB_FATAL_SIGS, record_signo); + signal(SIGHUP, SIG_IGN); ++ /* We want klogd_read to not be restarted, thus _norestart: */ ++ bb_signals_recursive_norestart(BB_FATAL_SIGS, record_signo); + + syslog(LOG_NOTICE, "klogd started: %s", bb_banner); + diff --git a/busybox-1.18.3-libarchive.patch b/busybox-1.18.3-libarchive.patch new file mode 100644 index 0000000..1a37a4f --- /dev/null +++ b/busybox-1.18.3-libarchive.patch @@ -0,0 +1,13 @@ +diff -ruN busybox-1.18.3-orig/archival/libarchive/get_header_tar.c busybox-1.18.3/archival/libarchive/get_header_tar.c +--- busybox-1.18.3-orig/archival/libarchive/get_header_tar.c 2011-02-08 18:24:57.000000000 +0100 ++++ busybox-1.18.3/archival/libarchive/get_header_tar.c 2011-03-12 23:28:59.000000000 +0100 +@@ -287,6 +287,9 @@ + } + file_header->link_target = NULL; + if (!p_linkname && parse_names && tar.linkname[0]) { ++ /* we trash magic[0] here to terminate tar.linkname, it's ok */ ++ tar.magic[0] = '\0'; ++ + file_header->link_target = xstrndup(tar.linkname, sizeof(tar.linkname)); + /* FIXME: what if we have non-link object with link_target? */ + /* Will link_target be free()ed? */ diff --git a/busybox-1.18.3-menuconfig.patch b/busybox-1.18.3-menuconfig.patch new file mode 100644 index 0000000..42ad90d --- /dev/null +++ b/busybox-1.18.3-menuconfig.patch @@ -0,0 +1,11 @@ +--- busybox-1.18.3/scripts/kconfig/mconf.c ++++ busybox-1.18.3-menuconfig/scripts/kconfig/mconf.c +@@ -256,7 +256,7 @@ search_help[] = N_( + " USB$ => find all CONFIG_ symbols ending with USB\n" + "\n"); + +-static char buf[4096], *bufptr = buf; ++static char buf[4096*10], *bufptr = buf; + static char input_buf[4096]; + static const char filename[] = ".config"; + static char *args[1024], **argptr = args; diff --git a/busybox-1.18.3-modutils24.patch b/busybox-1.18.3-modutils24.patch new file mode 100644 index 0000000..1f7e9df --- /dev/null +++ b/busybox-1.18.3-modutils24.patch @@ -0,0 +1,36 @@ +--- busybox-1.18.3/modutils/modutils-24.c ++++ busybox-1.18.3-modutils24/modutils/modutils-24.c +@@ -2474,6 +2474,7 @@ new_process_module_arguments(struct obj_ + n = 0; + p = val; + while (*p != 0) { ++ char sv_ch; + char *endp; + + if (++n > max) +@@ -2482,14 +2483,17 @@ new_process_module_arguments(struct obj_ + switch (*pinfo) { + case 's': + len = strcspn(p, ","); ++ sv_ch = p[len]; + p[len] = 0; + obj_string_patch(f, sym->secidx, + loc - contents, p); + loc += tgt_sizeof_char_p; + p += len; ++ *p = sv_ch; + break; + case 'c': + len = strcspn(p, ","); ++ sv_ch = p[len]; + p[len] = 0; + if (len >= charssize) + bb_error_msg_and_die("string too long for %s (max %ld)", param, +@@ -2497,6 +2501,7 @@ new_process_module_arguments(struct obj_ + strcpy((char *) loc, p); + loc += charssize; + p += len; ++ *p = sv_ch; + break; + case 'b': + *loc++ = strtoul(p, &endp, 0); diff --git a/busybox-1.18.3-wget.patch b/busybox-1.18.3-wget.patch new file mode 100644 index 0000000..c2fb13a --- /dev/null +++ b/busybox-1.18.3-wget.patch @@ -0,0 +1,128 @@ +--- busybox-1.18.3/networking/wget.c ++++ busybox-1.18.3-wget/networking/wget.c +@@ -446,7 +446,7 @@ static FILE* prepare_ftp_session(FILE ** + + static void NOINLINE retrieve_file_data(FILE *dfp, int output_fd) + { +- char buf[512]; ++ char buf[4*1024]; /* made bigger to speed up local xfers */ + #if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT + # if ENABLE_FEATURE_WGET_TIMEOUT + unsigned second_cnt; +@@ -455,7 +455,6 @@ static void NOINLINE retrieve_file_data( + + polldata.fd = fileno(dfp); + polldata.events = POLLIN | POLLPRI; +- ndelay_on(polldata.fd); + #endif + progress_meter(PROGRESS_START); + +@@ -464,6 +463,10 @@ static void NOINLINE retrieve_file_data( + + /* Loops only if chunked */ + while (1) { ++ ++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT ++ ndelay_on(polldata.fd); ++#endif + while (1) { + int n; + unsigned rdsz; +@@ -493,22 +496,46 @@ static void NOINLINE retrieve_file_data( + progress_meter(PROGRESS_BUMP); + } + #endif ++ /* fread internally uses read loop, which in our case ++ * is usually exited when we get EAGAIN. ++ * In this case, libc sets error marker on the stream. ++ * Need to clear it before next fread to avoid possible ++ * rare false positive ferror below. Rare because usually ++ * fread gets more than zero bytes, and we don't fall ++ * into if (n <= 0) ... ++ */ ++ clearerr(dfp); ++ errno = 0; + n = safe_fread(buf, rdsz, dfp); ++ /* man fread: ++ * If error occurs, or EOF is reached, the return value ++ * is a short item count (or zero). ++ * fread does not distinguish between EOF and error. ++ */ + if (n <= 0) { +- if (ferror(dfp)) { +- /* perror will not work: ferror doesn't set errno */ +- bb_error_msg_and_die(bb_msg_read_error); +- } +- break; ++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT ++ if (errno == EAGAIN) /* poll lied, there is no data? */ ++ continue; /* yes */ ++#endif ++ if (ferror(dfp)) ++ bb_perror_msg_and_die(bb_msg_read_error); ++ break; /* EOF, not error */ + } ++ + xwrite(output_fd, buf, n); + #if ENABLE_FEATURE_WGET_STATUSBAR + G.transferred += n; + progress_meter(PROGRESS_BUMP); + #endif +- if (G.got_clen) ++ if (G.got_clen) { + G.content_len -= n; ++ if (G.content_len == 0) ++ break; ++ } + } ++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT ++ ndelay_off(polldata.fd); ++#endif + + if (!G.chunked) + break; +@@ -706,6 +733,11 @@ int wget_main(int argc UNUSED_PARAM, cha + fprintf(sfp, "Host: %s\r\nUser-Agent: %s\r\n", + target.host, user_agent); + ++ /* Ask server to close the connection as soon as we are done ++ * (IOW: we do not intend to send more requests) ++ */ ++ fprintf(sfp, "Connection: close\r\n"); ++ + #if ENABLE_FEATURE_WGET_AUTHENTICATION + if (target.user) { + fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6, +@@ -719,22 +751,25 @@ int wget_main(int argc UNUSED_PARAM, cha + + if (G.beg_range) + fprintf(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range); ++ + #if ENABLE_FEATURE_WGET_LONG_OPTIONS + if (extra_headers) + fputs(extra_headers, sfp); + + if (opt & WGET_OPT_POST_DATA) { + char *estr = URL_escape(post_data); +- fprintf(sfp, "Content-Type: application/x-www-form-urlencoded\r\n"); +- fprintf(sfp, "Content-Length: %u\r\n" "\r\n" "%s", +- (int) strlen(estr), estr); +- /*fprintf(sfp, "Connection: Keep-Alive\r\n\r\n");*/ +- /*fprintf(sfp, "%s\r\n", estr);*/ ++ fprintf(sfp, ++ "Content-Type: application/x-www-form-urlencoded\r\n" ++ "Content-Length: %u\r\n" ++ "\r\n" ++ "%s", ++ (int) strlen(estr), estr ++ ); + free(estr); + } else + #endif +- { /* If "Connection:" is needed, document why */ +- fprintf(sfp, /* "Connection: close\r\n" */ "\r\n"); ++ { ++ fprintf(sfp, "\r\n"); + } + + fflush(sfp); diff --git a/busybox-1.18.3.tar.bz2 b/busybox-1.18.3.tar.bz2 new file mode 100644 index 0000000..e6228da --- /dev/null +++ b/busybox-1.18.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83f112ee88b7eb85bea1cac0b1af33f61387a1036f1898c5ecd79813191a619b +size 2119251 diff --git a/busybox-static.changes b/busybox-static.changes index 163c148..bf12212 100644 --- a/busybox-static.changes +++ b/busybox-static.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Sat Mar 12 23:03:39 UTC 2011 - chris@computersalat.de + +- update to 1.18.13 + see http://www.busybox.net/ for full changelog +- add upstream patches + o buildsys.patch + o cksum.patch + o klogd.patch + o menuconfig.patch + o modutils24.patch + o wget.patch +- rework libunarchive-array patch + o -> libarchive patch +- remove .gitignore files +- added missing BusyBox.1 as S:1 +- added export CFLAGS="{optflags} -fno-strict-aliasing" + ------------------------------------------------------------------- Sun Oct 31 12:37:02 UTC 2010 - jengelh@medozas.de diff --git a/busybox-static.spec b/busybox-static.spec index b3584be..a6083bc 100644 --- a/busybox-static.spec +++ b/busybox-static.spec @@ -1,5 +1,5 @@ # -# spec file for package busybox-static (Version 1.17.2) +# spec file for package busybox-static # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -15,24 +15,30 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - - Name: busybox-static Url: http://www.busybox.net/ -Version: 1.17.2 +Version: 1.18.3 Release: 1 Summary: The Swiss Army Knife of Embedded Linux License: GPLv2+ Group: System/Base AutoReqProv: on Source: http://busybox.net/downloads/busybox-%{version}.tar.bz2 +Source1: BusyBox.1 Source2: busybox.SuSE.config Source3: mkinitrd-setup.sh Source4: mkinitrd-boot.sh -Patch1: busybox.uClibc-build-fix.patch +# upstream patches +Patch0: busybox-1.18.3-buildsys.patch +Patch1: busybox-1.18.3-cksum.patch +Patch2: busybox-1.18.3-klogd.patch +Patch3: busybox-1.18.3-menuconfig.patch +Patch4: busybox-1.18.3-modutils24.patch +Patch5: busybox-1.18.3-wget.patch +# other patches +Patch99: busybox.uClibc-build-fix.patch Patch100: busybox.install.patch -Patch101: busybox.libunarchive-array.patch +Patch101: busybox-1.18.3-libarchive.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: uClibc-devel ExcludeArch: s390 s390x ppc64 @@ -50,16 +56,26 @@ counterparts. %prep %setup -q -n busybox-%{version} +%patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch99 -p1 %patch100 -p1 %patch101 -p1 +%{__cp} -a %{S:1} docs/ +%{__cp} -a %{S:2} .config +find -name CVS | xargs rm -rf +find -name .cvsignore | xargs rm -rf +find -name .svn | xargs rm -rf +find -name .gitignore | xargs rm -rf %build -cp -avL %{S:2} .config -find -name CVS | xargs rm -rf -find -name .svn | xargs rm -rf export VERBOSE=-v export BUILD_VERBOSE=2 +export CFLAGS="%{optflags} -fno-strict-aliasing" # somehow uClibc prefers it's own ar.h header, so rename it mv include/ar.h include/b_ar.h sed -i -e 's/"ar.h"/"b_ar.h"/' archival/*.c archival/*/*.c @@ -67,7 +83,6 @@ make -e oldconfig make -e CC=gcc-uClibc %{?_smp_mflags} %install -find -name ".cvsignore" -exec rm {} \; install -d $RPM_BUILD_ROOT/usr/bin install busybox $RPM_BUILD_ROOT/usr/bin/busybox-static diff --git a/busybox.changes b/busybox.changes index 23a4861..91a50d2 100644 --- a/busybox.changes +++ b/busybox.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Sat Mar 12 23:03:39 UTC 2011 - chris@computersalat.de + +- update to 1.18.13 + see http://www.busybox.net/ for full changelog +- add upstream patches + o buildsys.patch + o cksum.patch + o klogd.patch + o menuconfig.patch + o modutils24.patch + o wget.patch +- rework libunarchive-array patch + o -> libarchive patch +- remove .gitignore files +- added missing BusyBox.1 as S:1 +- added export CFLAGS="{optflags} -fno-strict-aliasing" + ------------------------------------------------------------------- Sun Oct 31 12:37:02 UTC 2010 - jengelh@medozas.de diff --git a/busybox.libunarchive-array.patch b/busybox.libunarchive-array.patch deleted file mode 100644 index 4ce554e..0000000 --- a/busybox.libunarchive-array.patch +++ /dev/null @@ -1,22 +0,0 @@ -archival/libunarchive/get_header_tar.c: In function 'get_header_tar': -archival/libunarchive/get_header_tar.c:140: warning: array subscript is above array bounds -archival/libunarchive/get_header_tar.c:155: warning: array subscript is above array bounds -archival/libunarchive/get_header_tar.c:158: warning: array subscript is above array bounds -make[1]: *** [archival/libunarchive/get_header_tar.o] Error 1 - ---- - archival/libunarchive/get_header_tar.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/archival/libunarchive/get_header_tar.c -+++ b/archival/libunarchive/get_header_tar.c -@@ -225,6 +225,9 @@ char FAST_FUNC get_header_tar(archive_ha - } - file_header->link_target = NULL; - if (!p_linkname && parse_names && tar.linkname[0]) { -+ /* we trash magic[0] here to terminate tar.linkname, it's ok */ -+ tar.magic[0] = '\0'; -+ - file_header->link_target = xstrndup(tar.linkname, sizeof(tar.linkname)); - /* FIXME: what if we have non-link object with link_target? */ - /* Will link_target be free()ed? */ diff --git a/busybox.spec b/busybox.spec index bf9250c..d9bfa9d 100644 --- a/busybox.spec +++ b/busybox.spec @@ -1,5 +1,5 @@ # -# spec file for package busybox (Version 1.17.2) +# spec file for package busybox # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -15,23 +15,29 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - - Name: busybox Url: http://www.busybox.net/ -Version: 1.17.2 +Version: 1.18.3 Release: 1 Summary: The Swiss Army Knife of Embedded Linux License: GPLv2+ Group: System/Base AutoReqProv: on Source: http://busybox.net/downloads/%{name}-%{version}.tar.bz2 +Source1: BusyBox.1 Source2: busybox.SuSE.config Source3: mkinitrd-setup.sh Source4: mkinitrd-boot.sh +# upstream patches +Patch0: %{name}-1.18.3-buildsys.patch +Patch1: %{name}-1.18.3-cksum.patch +Patch2: %{name}-1.18.3-klogd.patch +Patch3: %{name}-1.18.3-menuconfig.patch +Patch4: %{name}-1.18.3-modutils24.patch +Patch5: %{name}-1.18.3-wget.patch +# other patches Patch100: busybox.install.patch -Patch101: busybox.libunarchive-array.patch +Patch101: %{name}-1.18.3-libarchive.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -47,21 +53,30 @@ counterparts. %prep %setup -q -n %{name}-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 %patch100 -p1 %patch101 -p1 +%{__cp} -a %{S:1} docs/ +%{__cp} -a %{S:2} .config +find -name CVS | xargs rm -rf +find -name .cvsignore | xargs rm -rf +find -name .svn | xargs rm -rf +find -name .gitignore | xargs rm -rf %build -cp -avL %{S:2} .config -find -name CVS | xargs rm -rf -find -name .svn | xargs rm -rf export VERBOSE=-v export BUILD_VERBOSE=2 +export CFLAGS="%{optflags} -fno-strict-aliasing" make -e oldconfig make -e %{?_smp_mflags} make -e doc busybox.links %{?_smp_mflags} %install -find -name ".cvsignore" -exec rm {} \; install -d $RPM_BUILD_ROOT/usr/bin install -d $RPM_BUILD_ROOT/usr/share/busybox install busybox.links $RPM_BUILD_ROOT/usr/share/busybox