s6-linux-utils
What is it ?
s6-linux-utils is a set of minimalistic Linux-specific system utilities.
Prefixing the name of this package — and the names of the binaries it provides — with s6- was a naming mistake. It happened in the early days of the s6 project, before it grew and became an ecosystem focused on supervision, service management and init; despite sharing the same author and the same philosophy, and being designed to work with it, s6-linux-utils is not, stricto sensu, part of the s6 ecosystem, and if you arrived here while trying to understand what s6 is, you are on the wrong page. I apologize for the confusion.
Installation
Requirements
- A Linux-based system with a standard C development environment. The Linux kernel must be 3.5 or later.
- GNU make, version 3.81 or later
- skalibs version 2.15.0.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library.
- execline version 2.9.9.0 or later. It's a build-time requirement.
Licensing
s6-linux-utils is free software. It is available under the ISC license.
Download
- The current released version of s6-linux-utils is 2.6.4.1. You can access its checksum here.
- Alternatively, you can checkout a copy of the
s6-linux-utils
git repository:
git clone git://git.skarnet.org/s6-linux-utils
- There's also a Codeberg mirror, or a GitHub mirror, or a SourceHut mirror of the s6-linux-utils git repository.
Compilation
- See the enclosed INSTALL file for installation details.
- Starting with version 2.6.1.0, you can use the --enable-multicall configure option to save disk space.
Upgrade notes
- This page lists the differences to be aware of between the previous versions of s6-linux-utils and the current one.
Reference
Commands
All these commands exit 111 if they encounter a temporary error, and 100 if they encounter a permanent error - such as a misuse. They exit 127 if they're trying to execute into a program and cannot find it, and 126 if they fail to execute into a program for another reason.
(Miscellaneous tools)
- The fstab2s6rc program
- The rngseed program
- The s6-chroot program
- The s6-freeramdisk program
- The s6-hostname program
- The s6-logwatch program
- The s6-mount program
- The s6-pivotchroot program
- The s6-ps program
- The s6-swapoff program
- The s6-swapon program
- The s6-umount program
(Multicall configuration)
- The s6-linux-utils multicall binary
Related resources
- s6-linux-utils is discussed on the skaware mailing-list.
Similar work
There are several good projects aiming to provide a minimal userspace environment for Linux, suitable for embedded systems. Among them, for instance:
Most of the time, these projects aim to implement standard commands in a lightweight way, and they do it well enough. So, although some standard reimplentation already exists in s6-linux-utils and its sibling package s6-portable-utils, it is an explicit non-goal of those packages to duplicate the work of those projects, and no more rewriting of standard commands will occur.
