2014-02-12 09:34:09 -05:00
|
|
|
sbase - suckless unix tools
|
|
|
|
===========================
|
|
|
|
|
|
|
|
sbase is a collection of unix tools that are inherently portable
|
|
|
|
across UNIX and UNIX-like systems.
|
|
|
|
|
|
|
|
The following programs are currently implemented:
|
|
|
|
|
2014-11-13 09:52:41 -05:00
|
|
|
+---------+-----------+--------+
|
|
|
|
|UTILITY |POSIX |FEATURES|
|
|
|
|
| |CONFORMANCE|MISSING |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|basename | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cal | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cat | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|chgrp | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|chmod | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|chown | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|chroot | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cksum | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cmp | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|col | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cols | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|comm | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cp | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|csplit | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|cut | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|date | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|dirname | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|du | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|echo | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|env | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|expand | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|expr | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|false | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|fold | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|grep | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|head | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|hostname | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|kill | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|link | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|ln | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|logname | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|ls | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|md5sum | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|mkdir | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|mkfifo | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|mktemp | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|mv | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|nice | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|nl | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|nohup | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|paste | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|printenv | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|printf | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|pwd | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|readlink | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|renice | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|rm | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|rmdir | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sleep | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|setsid | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sort | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|split | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sponge | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|strings | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sync | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|tail | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|tar | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|tee | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|test | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|touch | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|tr | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|true | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|tty | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|uudecode | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|uuencode | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|uname | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|unexpand | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|uniq | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|unlink | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|seq | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sha1sum | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sha256sum| | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|sha512sum| | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|wc | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|xargs | | |
|
|
|
|
+---------+-----------+--------+
|
|
|
|
|yes | | |
|
|
|
|
+---------+-----------+--------+
|
2014-02-12 09:34:09 -05:00
|
|
|
|
2014-02-12 13:39:13 -05:00
|
|
|
The complement of sbase is ubase[1] which is Linux-specific and
|
2014-02-12 09:34:09 -05:00
|
|
|
provides all the non-portable tools. Together they are intended to
|
|
|
|
form a base system similar to busybox but much smaller and suckless.
|
|
|
|
|
|
|
|
Building
|
|
|
|
--------
|
|
|
|
|
|
|
|
To build sbase, simply type make. You may have to fiddle with
|
|
|
|
config.mk depending on your system.
|
|
|
|
|
|
|
|
You can also build sbase-box, which generates a single binary
|
|
|
|
containing all the required tools. You can then symlink the
|
|
|
|
individual tools to sbase-box.
|
|
|
|
|
|
|
|
Ideally you will want to statically link sbase. If you are on Linux
|
|
|
|
we recommend using musl-libc[2].
|
|
|
|
|
|
|
|
Portability
|
|
|
|
-----------
|
|
|
|
|
|
|
|
sbase has been compiled on a variety of different operating systems,
|
|
|
|
including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others.
|
|
|
|
|
2014-02-27 11:54:40 -05:00
|
|
|
sbase also compiles and runs on minix3 with slight modifications.
|
|
|
|
They do not provide mmap()/munmap() so you need to use minix_mmap()
|
|
|
|
and minix_munmap() respectively.
|
|
|
|
|
2014-02-12 09:34:09 -05:00
|
|
|
Various combinations of operating systems and architectures have also
|
|
|
|
been built.
|
|
|
|
|
|
|
|
You can build sbase with gcc, clang, tcc, nwcc and pcc.
|
|
|
|
|
|
|
|
[1] http://git.suckless.org/ubase/
|
|
|
|
[2] http://www.musl-libc.org/
|