fiss

Friedel's Initialization and Service Supervision
Log | Files | Refs | LICENSE

commit bb4e42faa5185966c9cb189b631d1f6abcf6045e
parent 38366495fd5a7ac8399f46008846a65fa9954414
Author: Friedel Schön <[email protected]>
Date:   Fri,  2 Jun 2023 17:56:24 +0200

removing man, docs

Diffstat:
Ddocs/assets/github-mark-white.svg | 2--
Ddocs/assets/github-mark.svg | 2--
Ddocs/assets/style.css | 72------------------------------------------------------------------------
Ddocs/assets/toggle-dark.js | 20--------------------
Ddocs/chpst.8.html | 95-------------------------------------------------------------------------------
Ddocs/finit.8.html | 91-------------------------------------------------------------------------------
Ddocs/fsvc.8.html | 95-------------------------------------------------------------------------------
Ddocs/fsvs.8.html | 53-----------------------------------------------------
Ddocs/halt.8.html | 56--------------------------------------------------------
Ddocs/index.html | 277-------------------------------------------------------------------------------
Ddocs/modules-load.8.html | 68--------------------------------------------------------------------
Ddocs/shutdown.8.html | 72------------------------------------------------------------------------
Ddocs/sigremap.8.html | 54------------------------------------------------------
Ddocs/vlogger.1.html | 141-------------------------------------------------------------------------------
Ddocs/zzz.8.html | 64----------------------------------------------------------------
Dman/chpst.8 | 86-------------------------------------------------------------------------------
Dman/finit.8 | 59-----------------------------------------------------------
Dman/fsvc.8 | 85-------------------------------------------------------------------------------
Dman/fsvs.8 | 30------------------------------
Dman/halt.8 | 36------------------------------------
Dman/modules-load.8 | 43-------------------------------------------
Dman/shutdown.8 | 58----------------------------------------------------------
Dman/sigremap.8 | 32--------------------------------
Dman/vlogger.1 | 130-------------------------------------------------------------------------------
Dman/zzz.8 | 41-----------------------------------------
25 files changed, 0 insertions(+), 1762 deletions(-)

diff --git a/docs/assets/github-mark-white.svg b/docs/assets/github-mark-white.svg @@ -1 +0,0 @@ -<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg> -\ No newline at end of file diff --git a/docs/assets/github-mark.svg b/docs/assets/github-mark.svg @@ -1 +0,0 @@ -<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg> -\ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css @@ -1,71 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;700&display=swap'); - -body { - background: #eee; - color: #222; -} - -body.dark { - background: #222; - color: #eee; -} - -#toggle_dark { - background: #3c3836; - color: #eee; - cursor: pointer; -} - -.dark #toggle_dark { - background: #eee; - color: #3c3836; -} - -a { - color: inherit; - text-decoration: underline; -} - -a:hover { - font-weight: bold; -} - -.title { - color: #772121; - font-weight: bold; - text-decoration: none; - font-size: 14pt; -} - -.title:hover { - text-decoration: underline; -} - -.dark .title { - color: #ba3333; -} - -#wrapper { - overflow-x: hidden; - width: 80ch; - font: 12pt 'Source Code Pro', monospace; - margin: 20px auto; - white-space: pre-wrap; -} - -#github { - height: 1em; -} - -.list { - text-indent: -2ch; - padding-left: 2ch; -} - -.header .title { - float:left; -} - -.header .right { - float: right; -} -\ No newline at end of file diff --git a/docs/assets/toggle-dark.js b/docs/assets/toggle-dark.js @@ -1,20 +0,0 @@ -function toggle_dark() { - var githubImage = document.getElementById('github'); - var toggleButton = document.getElementById('toggle_dark'); - if (document.body.classList.toggle('dark')) { - // is dark - githubImage.src = 'assets/github-mark-white.svg'; - toggleButton.innerHTML = ' turn the lights on '; - } else { - // is light - githubImage.src = 'assets/github-mark.svg'; - toggleButton.innerHTML = ' turn the lights off '; - } -} - -/*document.addEventListener('readystatechange', function (state) { - if (document.readyState == 'complete') - if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { - toggle_dark(); - } -});*/ diff --git a/docs/chpst.8.html b/docs/chpst.8.html @@ -1,95 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>chpst(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>chpst</b> - runs a program with a changed process state - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>chpst</b> [<b>-vP012</b>] [<b>-u</b> user] [<b>-U</b> user] [<b>-b</b> argv0] [<b>-e</b> dir] [<b>-/</b> root] [<b>-n</b> inc] [<b>-l</b>|<b>-L</b> lock] [<b>-m</b> bytes] [<b>-d</b> bytes] [<b>-o</b> n] [<b>-p</b> n] [<b>-f</b> bytes] [<b>-c</b> bytes] prog [arguments...] - - - -<a class=title id=description href=#description>Description</a> ---------------------------------------------------------------------------------<div class=list>* <b>-u [:]user[:group]</b> -setuidgid. Set uid and gid to the user's uid and gid, as found in /etc/passwd. If user is followed by a colon and a group, set the gid to group's gid, as found in /etc/group, instead of user's gid. If group consists of a colon-separated list of group names, chpst sets the group ids of all listed groups. If user is prefixed with a colon, the user and all group arguments are interpreted as uid and gids respectivly, and not looked up in the password or group file. All initial supplementary groups are removed. </div> -<div class=list>* <b>-U [:]user[:group]</b> -envuidgid. Set the environment variables $UID and $GID to the user's uid and gid, as found in /etc/passwd. If user is followed by a colon and a group, set $GID to the group's gid, as found in /etc/group, instead of user's gid. If user is prefixed with a colon, the user and group arguments are interpreted as uid and gid respectivly, and not looked up in the password or group file. </div> -<div class=list>* <b>-b argv0</b> -Run prog with argv0 as the 0th argument. </div> -<div class=list>* <b>-/ root</b> -Change the root directory to root before starting prog. </div> -<div class=list>* <b>-C pwd</b> -Change the working directory to pwd before starting prog. When combined with -/, the working directory is changed after the chroot. </div> -<div class=list>* <b>-n inc</b> -Add inc to the nice(2) value before starting prog. inc must be an integer, and may start with a minus or plus. </div> -<div class=list>* <b>-l lock</b> -Open the file lock for writing, and obtain an exclusive lock on it. lock will be created if it does not exist. If lock is locked by another process, wait until a new lock can be obtained. </div> -<div class=list>* <b>-L lock</b> -The same as -l, but fail immediately if lock is locked by another process. </div> -<div class=list>* <b>-P</b> -Run prog in a new process group. </div> -<div class=list>* <b>-0</b> -Close standard input before starting prog. </div> -<div class=list>* <b>-1</b> -Close standard output before starting prog. </div> -<div class=list>* <b>-2</b> -Close standard error before starting prog. </div> - - - -<a class=title id=not-implemented href=#not-implemented>Not Implemented</a> --------------------------------------------------------------------------------- - -Following options are defined in runit's chpst but are ignored by fiss' implementation. - -<div class=list>* <b>-e dir</b> -Set various environment variables as specified by files in the directory dir: If dir contains a file named k whose first line is v, chpst removes the environment variable k if it exists, and then adds the environment variable k with the value v. The name k must not contain =. Spaces and tabs at the end of v are removed, and nulls in v are changed to newlines. If the file k is empty (0 bytes long), chpst removes the environment variable k if it exists, without adding a new variable. </div> -<div class=list>* <b>-m bytes</b> -Limit the data segment, stack segment, locked physical pages, and total of all segment per process to bytes bytes each. </div> -<div class=list>* <b>-d bytes</b> -limit data segment. Limit the data segment per process to bytes bytes. </div> -<div class=list>* <b>-o n</b> -Limit the number of open file descriptors per process to n. </div> -<div class=list>* <b>-p n</b> -Limit the number of processes per uid to n. </div> -<div class=list>* <b>-f bytes</b> -Limit the output file size to bytes bytes. </div> -<div class=list>* <b>-c bytes</b> -Limit the core file size to bytes bytes. </div> -<div class=list>* <b>-v</b> -Print verbose messages to standard error. This includes warnings about limits unsupported by the system. </div> - -<a class=title id=exit-codes href=#exit-codes>Exit Codes</a> --------------------------------------------------------------------------------- - -chpst exits 100 when called with wrong options. It prints an error message and exits 111 if it has trouble changing the process state. Otherwise its exit code is the same as that of prog. - - - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Based on the implementation by Gerrit Pape &lt;[email protected]&gt;, rewritten by Friedel Schon &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/docs/finit.8.html b/docs/finit.8.html @@ -1,91 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>finit(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>fiss</b> - a UNIX process no 1 - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> ---------------------------------------------------------------------------------<div class=list>* <b>fsvc</b> when running as PID 0 (as init) </div> -<div class=list>* <b>fsvc</b> &lt;0|6&gt; when running regulary to controll init </div> - -<a class=title id=controlling href=#controlling>Controlling</a> --------------------------------------------------------------------------------- - -If <b>finit</b> is invoked by any other user than <u>root</u>, it failes. - -<div class=list>* <b>finit</b> 0 halts the system </div> -<div class=list>* <b>finit</b> 6 reboots the system </div> - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -<b>fiss</b> must be run as Unix process no 1 if invoked without arguments and handles the boot process in user-land. - -This happens in three stages: - - - -<a class=title id=stage href=#stage>Stage 1</a> --------------------------------------------------------------------------------- - -<b>fiss</b> runs <u>/etc/fiss/start</u> and waits for it to terminate. The system's one time tasks are done here. <u>/etc/fiss/start</u> has full control of <u>/dev/console</u> to be able to start an emergency shell if the one time initialization tasks fail. If <u>/etc/fiss/start</u> crashes, <b>finit</b> will skip stage 2 and enter stage 3. - - - -<a class=title id=stage href=#stage>Stage 2</a> --------------------------------------------------------------------------------- - -<b>fiss</b> starts all services in <u>/etc/fiss/service.d</u> which should not return until system shutdown; if it crashes, it will be restarted. - - - -<a class=title id=stage href=#stage>Stage 3</a> --------------------------------------------------------------------------------- - -If <b>fiss</b> is told to shutdown the system, it terminates stage 2 if it is running, and runs <u>/etc/fiss/stop</u>. The systems tasks to shutdown and possibly halt or reboot the system are done here. If stage 3 returns, <b>finit</b> checks if the file - - - -<a class=title id=signals href=#signals>Signals</a> --------------------------------------------------------------------------------- - -<b>finit</b> only accepts signals in stage 2. - -If <b>finit</b> receives a CONT signal and the file <b>finit</b> is told to shutdown the system. - -if <b>finit</b> receives an INT signal, <b>finit</b> restarts the system. - - - -<a class=title id=see href=#see>See Also</a> --------------------------------------------------------------------------------- - -fiss-init(8), runsvdir(8), runsvchdir(8), sv(8), runsv(8), chpst(8), utmpset(8), svlogd(8) - - - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Friedel Schön &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/docs/fsvc.8.html b/docs/fsvc.8.html @@ -1,95 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>fsvc(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>fsvc</b> - fiss' service controller - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>fsvc</b> <b>start</b> [<u>options</u>] [<b>--pin_</b>] &lt;service&gt; - -<b>fsvc</b> <b>stop</b> [<u>options</u>] [<b>--pin</b>] &lt;service&gt; - -<b>fsvc</b> <b>enable</b> [<u>options</u>] [<b>--once</b>] &lt;service&gt; - -<b>fsvc</b> <b>disable</b> [<u>options</u>] [<b>--once</b>] &lt;service&gt; - -<b>fsvc</b> <b>kill</b> [<u>options</u>] &lt;service&gt; &lt;signal|signo&gt; - -<b>fsvc</b> <b>status</b> [<u>options</u>] [<b>--check</b>] [&lt;service&gt;] - -<b>fsvc</b> <b>pause</b> [<u>options</u>] &lt;service&gt; - -<b>fsvc</b> <b>resume</b> [<u>options</u>] &lt;service&gt; - -<b>fsvc</b> <b>switch</b> [<u>options</u>] [<b>--reset</b>] &lt;runlevel&gt; - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -<b>fsvc</b> is a command line tool for controlling services on a fiss system. It provides various commands for starting, stopping, enabling, disabling, sending signals to, checking the status of, pausing, resuming, and switching the runlevel of services. - -<a class=title id=options href=#options>Options</a> --------------------------------------------------------------------------------- - -The following options are available for every command: - -<div class=list>* <b>-q, --short</b> Will print brief information about the service. </div> -<div class=list>* <b>-r, --runlevel &lt;runlevel&gt;</b> Will use fBrunlevelfB instead of <u>default</u>. </div> -<div class=list>* <b>-s, --service-dir &lt;path&gt;</b> Will use <b>path</b> as service directory instead of <u>/etc/fiss/service.d</u>. </div> -<div class=list>* <b>-v, --verbose</b> Prints verbose information. </div> -<div class=list>* <b>-V, --version</b> Prints the version and exits. </div> -<div class=list>* The following options are available per command: </div> -<div class=list>* <b>-p, --pin</b> Pins the state. If issued with <b>start</b> it will cause the service to restart. If issued with <b>stop</b> it will cause the service to be hold down. </div> -<div class=list>* <b>-o, --once</b> Specifies that the service should only be enabled/disabled once and not automatically started/stopped on subsequent bootups. </div> -<div class=list>* <b>-c, --check</b> Command will return <u>0</u> if the specified service is active otherwise <u>1</u> </div> -<div class=list>* <b>-r, --reset</b> Specifies that the switch command should reset all running services (if manually set to up/down) </div> - -<a class=title id=commands href=#commands>Commands</a> --------------------------------------------------------------------------------- - -The following commands are available: - -<div class=list>* <b>start</b> Starts the specified service. A synonym is <b>up</b>. </div> -<div class=list>* <b>stop</b> Stops the specified service. A synonym is <b>down</b>. </div> -<div class=list>* <b>enable</b> Enables the specified service, causing it to automatically start on subsequent bootups. </div> -<div class=list>* <b>disable</b> Disables the specified service, causing it to not start automatically on subsequent bootups. </div> -<div class=list>* <b>kill</b> Sends the specified signal or signal number to the specified service. A synonym is <b>send</b>. </div> -<div class=list>* <b>status</b> Displays the status of the specified service. If no service is specified, displays the status of all services. </div> -<div class=list>* <b>pause</b> Pauses the specified service. </div> -<div class=list>* <b>resume</b> Resumes the specified service. </div> -<div class=list>* <b>switch</b> Switches the runlevel to the specified value. </div> - -<a class=title id=see href=#see>See ALSO</a> --------------------------------------------------------------------------------- - -finit(1), fsvc(8), fsvs(8), halt(8), modules-load(8), shutdown(8), - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Friedel Schön &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/docs/fsvs.8.html b/docs/fsvs.8.html @@ -1,53 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>fsvc(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>fsvs</b> - friedel's service superviser - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>fsvs</b> [options] service-dir runlevel - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -<b>fsvs</b> is the superviser called by <b>finit</b> but without initialization. - -Following options are available: - -<div class=list>* <b>-v, --verbose</b> Prints more information, easier to debug problems </div> -<div class=list>* <b>-f, --force</b> Forces the socket if existing, if called without <b>-f</b> and the socket already exists, it failes. </div> -<div class=list>* <b>-V, --version</b> Prints the version and exits. </div> - -Services can be controlled with <b>fsvc 8</b> - - - -<a class=title id=authors href=#authors>Authors</a> --------------------------------------------------------------------------------- - -Friedel Schon &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/docs/halt.8.html b/docs/halt.8.html @@ -1,56 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>halt(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>halt</b>, <b>reboot</b>, <b>poweroff</b> - stop the system - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> ---------------------------------------------------------------------------------<div class=list>* <b>poweroff</b> [<b>-n</b>] [<b>-f</b>] [<b>-d</b>] [<b>-w</b>] [<b>-b</b>] </div> -<div class=list>* <b>reboot</b> [<b>-n</b>] [<b>-f</b>] [<b>-d</b>] [<b>-w</b>] [<b>-b</b>] </div> -<div class=list>* <b>halt</b> [<b>-n</b>] [<b>-f</b>] [<b>-d</b>] [<b>-w</b>] [<b>-b</b>] </div> - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -<b>poweroff</b> / <b>reboot</b> / <b>halt</b> tells <b>init</b> to stop running services and stop the system. Invoked without <b>-f</b>, it is a shortcut for <b>init &lt;0|6&gt;</b> - - - -<a class=title id=options href=#options>Options</a> ---------------------------------------------------------------------------------<div class=list>* <b>-n</b> Don't sync devices, this doensn't imply that the kernel is not synced already </div> -<div class=list>* <b>-f</b> Forces halt / reboot without notifying <b>init</b>. Forcing the system to halt should be the last hope and can be dangerous, you should not try it </div> -<div class=list>* <b>-d</b> Don't write the <u>wtmp</u> record </div> -<div class=list>* <b>-w</b> Only write the wtmp record, no further action </div> - -<a class=title id=see href=#see>See ALSO</a> --------------------------------------------------------------------------------- - -finit(1), fsvc(8), fsvs(8), halt(8), modules-load(8), shutdown(8), - - - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Based on the version of Leah Neukirchen &lt;[email protected]&gt;, rewritten by Friedel Schön &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/docs/index.html b/docs/index.html @@ -1,277 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>fiss 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -Aloha! You somehow landed on the website of <b>fiss</b> (<u>Friedel's Initialization and Service Supervision</u>). <b>fiss</b> is a supervision suite for Unix and Unix-like systems with the power off system initialization. This project is based on <b>runit</b> and other <b>daemontools</b>-based utilities. - -<a class=title id=manuals href=#manuals>fiss' manuals</a> --------------------------------------------------------------------------------- - -<div class=list>* <a href="chpst.8.html"><b>chpst(8)</b></a> - runs a program with a changed process state </div> -<div class=list>* <a href="finit.8.html"><b>finit(8)</b></a> - a UNIX process no 1 </div> -<div class=list>* <a href="fsvc.8.html"><b>fsvc(8)</b></a> - fiss' service controller </div> -<div class=list>* <a href="fsvs.8.html"><b>fsvs(8)</b></a> - fiss' service superviser </div> -<div class=list>* <a href="halt.8.html"><b>halt(8)</b></a> - halts the system </div> -<div class=list>* <a href="halt.8.html"><b>reboot(8)</b></a> - reboots the system </div> -<div class=list>* <a href="halt.8.html"><b>poweroff(8)</b></a> - stop the system </div> -<div class=list>* <a href="modules-load.8.html"><b>modules-load(8)</b></a> - configure kernel modules at boot </div> -<div class=list>* <a href="shutdown.8.html"><b>shutdown(8)</b></a> – bring down the system </div> -<div class=list>* <a href="sigremap.8.html"><b>sigremap(8)</b></a> - catches signals and redirects mapped signal to executable </div> -<div class=list>* <a href="vlogger.1.html"><b>vlogger(1)</b></a> - log messages to syslog or an arbitrary executable </div> -<div class=list>* <a href="zzz.8.html"><b>zzz(8)</b></a> - suspend or hibernate your system </div> - -<a class=title id=init href=#init>What does an init-system do?</a> --------------------------------------------------------------------------------- - -After the kernel has loaded all the hardware stuff and setting up a working environment, it executes <u>/sbin/init</u> by default which mounts pseude-drives, the root-drive read-writable and more. This depends on your system, the package does include start and stop scripts and basic agetty services. - -After the initialization is done, services must be started. A service is a long- running process, which needs to be restarted if it suddenly terminates. FreeBSD and other BSD's as far as I know, are handling services pretty rudimentally with plain shell scripts and without supervision. The most Linux distributions are shipped with SystemD which is the opposite of FreeBSD's rc.d idea. SystemD is one massive and bulky project with a lot of (useless) features. I've used Void Linux which is shipped with <b>runit</b>, a <b>daemontools</b>-derivate with initialization. Unlike <b>SystemD</b>, <b>runit</b> is a fine in-between: minimal but feature-rich. Bit too minimal so I thought of making <b>fiss</b>! - -<a class=title id=why href=#why>Why fiss tho?</a> --------------------------------------------------------------------------------- - -<b>fiss</b> is a lightweight and easy-to-use tool for initializing and supervising long-running services on Unix-like systems. It provides a simple and reliable way to start, stop, and monitor services. It supports automatic restarts, logging, and customizable startup options. It's no fork and uses the standard POSIX libc without other runtime dependencies. <b>fiss</b> support all the features to make services efficient running. It can be compatible with <b>runit</b> and <b>daemontools</b> utilities and is highly customizable at runtime to make <b>fiss</b> fit your needs. - -<a class=title id=compare href=#compare>fiss vs runit</a> --------------------------------------------------------------------------------- - -<b>runit</b> is a good init-system and is lovely to use but there are some features which are just missing. - -<div class=list>* <b>fiss</b> has service-ordering (aka. dependencies), thus if <u>service-b</u> depends on <u>service-a</u>, you can configure it as a dependency and <b>fiss</b> will keep <u>service-a</u> running as long as <u>service-b</u> is running. </div> -<div class=list>* <b>fiss</b> has background-services, some services just won't let you run them in foreground. <b>runit</b> solves this problem with <b>pause</b>, a little program which just waits on an incoming signal. But this solution requires extra resources and a process-slot. It's bearly possible to hit the process-roof but for every process, the kernel needs to reserve memory and manage cpu-time. </div> -<div class=list>* <b>runit</b> has no built-in environment settings, it always runs services with a clear environment and you can modify it with chpst. That extends the process chain and cost more start-up time. <b>fiss</b> has build-in environment options for changing the user and group, the arguments, argv[0] or environment-variables. This project also includes a simplified and rewritten version of chpst, for compatibility use. </div> -<div class=list>* <b>runit</b>'s controller sv is really basic. It does not need to be very beautiful or feature-rich, but enabling services and enabling services once (one time after boot) is not possible. <b>runit</b>'s <u>down</u>-file method seems more like a hack. <b>fiss</b> supports enabling and once-enabling by default. If you like <b>sv</b>'s simplicity or its helpers like <b>vsv</b> or <b>rsv</b>, there is a compatibility-layer for <b>runit</b> or <b>daemontools</b> </div> -<div class=list>* finit and fsvc directly call the service executable. That means there is no process-chaining as <b>runit</b> does. If you are running <b>runit</b> as init (runit-init): -- kernel executes <b>runit-init</b> -- this executes <b>runit</b> -- <b>runit</b> forks and executes <u>/etc/runit/{1,2,3}</u> -- <u>/etc/runit/2</u> executes <b>runsvdir</b> -- <b>runsvdir</b> forks and executes <b>runsv</b> -- and finally <b>runsv</b> executes the underlying service executable </div> -<div class=list>* Every fork and execute causes an overhead. Also <b>runsvdir</b> is decentralized, thus no central control unit can be used and every <b>runsv</b> has its own control unit. </div> -<div class=list>* On the other hand this results in more security, if a executable failes due to a bug, the underlying executable will catch this (if implemented). Which implementation is better is up to yourself. </div> -<div class=list>* <b>fiss</b> and <b>runit</b> are entirely written in C, init has to be minimal and a garbage collector would only slow down the whole system. With C you have direct control of the operating system. </div> -<div class=list>* <b>fiss</b> is written from scratch using the libc implementaions, this results in a readable code thus easier for contributers to dive into the codebase. <b>runit</b> and <b>daemontools</b> are written using the djb-library which is an alternative general library. It's completely fine to use the library and maybe it is even faster than your libc-implementation (glibc, musl, freebsd-libc). </div> - -<a class=title id=install href=#install>Installation</a> --------------------------------------------------------------------------------- - -Now that you are really hyped to install <b>fiss</b>, you first have to compile it. - -To compile make sure you have installed the dependencies. -- C compiler like <b>gcc</b> or <b>clang</b> which supports the <u>gnu99</u>-standard -- POSIX-compliant shell like dash or bash -- GNU make -- <a href="https://github.com/sunaku/md2man">md2man</a> to make the manuals - -If running <b>fiss</b>, you require to have following dependencies installed: -- POSIX-compliant shell like dash or bash -- GNU <b>awk</b> - -Download the last release from GitHub or clone this project with git to build from HEAD. - -+------------------------------------------------------------------------------+ -| git clone https://github.com/friedelschoen/fiss.git | -| cd fiss/ | -+------------------------------------------------------------------------------+ - -Then you have to compile the project with make. - -+------------------------------------------------------------------------------+ -| make binary # to compile the executables | -| make manual # to compile the manuals | -+------------------------------------------------------------------------------+ - -Executables are now stored in ./bin, standard configuration-files are stored in ./etc, runtime-required files are in ./share and manuals in ./man. - -<a class=title id=voidlinux href=#voidlinux>Installation on Void Linux</a> --------------------------------------------------------------------------------- - -If you don't have the source-tree yet, clone and bootstrap it with git. - -+------------------------------------------------------------------------------+ -| git clone https://github.com/void-linux/void-packages.git | -| cd void-packages/ | -| ./xbps-src binary-bootstrap | -+------------------------------------------------------------------------------+ - -<b>fiss</b> is not a official package yet, as it's too unstable to include, but you can add my void-packages as remote and compile. - -+------------------------------------------------------------------------------+ -| git remote add fiss https://github.com/friedelschoen/void-packages.git | -| git pull fiss fiss | -| ./xbps-src pkg fiss | -| xi fiss # if xtools is installed | -| sudo xbps-install -R hostdir/binpkgs fiss # if xtools is not installed | -+------------------------------------------------------------------------------+ - -<a class=title id=convert-runit href=#convert-runit>Convert runit services</a> --------------------------------------------------------------------------------- - -The very most runit-service should work with fsvc but some not very efficient, thats why converting them is handy. Because runit (and fiss) only execute the <u>./run</u> script, these scripts <u>can</u> be pretty bulky. - - - -All services installed by <b>xbps</b>, thus available in <a href="https://github.com/void-linux/void-packages.git"><b>void-packages</b></a> follow some unwritten rules (unwritten as I haven't found them yet but services tent to follow some similarities). - -Services tent to follow this structure: - -+------------------------------------------------------------------------------+ -| #!/bin/sh (1) | -| | -| [ -r ./conf ] && . .conf (2) | -| exec chpst -u user:group service -p $PORT $OPTS (3) | -+------------------------------------------------------------------------------+ - -(1) The <u>./run</u>-file always is a shell-executable, which executes the actual service. - -(2) If <u>./conf</u> exist in the service-directory, it is sourced. - -(3) <b>chpst</b> is executed with some parameters like <u>-u</u> which executes as user. <b>chpst</b> then executes service with modified state and predefined parameters from <u>./conf</u>. - -This is a foreground service, it means that the executable does not exit til the service is stopped. If the executable exits, you can expect the service to be down. -<b>fiss</b> also includes a stripped-down version of <b>chpst</b> for compability use, <b>fiss</b> includes a basic state management. - -You can extract the chpst-part to <u>./user</u> and <u>./env</u> (see below). - -If you executable has static parameters, thus no <u>./conf</u> and no environment-variables, you can also pass the parameters in <u>./params</u> and sym-link the executable directly to <u>./run</u>. - -Void Linux packages always comes with a symbolic link <u>./supervise</u> to <u>/run/runit/supervise.&lt;service&gt;</u>, which is meant for read-only systems running runit (expecting <u>/run/</u> to be a temporary filesystem). If you are running a writable system, you can remove the link and <b>fiss</b> will create a directory. If you are running a read-only system you can either create the directory <u>/run/runit/</u> and don't have to mess with runit-services or at an other location and sym-link the supervise-directories by yourself. - - - -If your <u>./run</u> execute looks like the following, stressing the <b>pause</b>... - -+------------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| service -p 990 start | -| exec chpst -b service pause | -+------------------------------------------------------------------------------+ - -... and you <u>./finish</u> like that... - -+------------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| service stop | -+------------------------------------------------------------------------------+ - -... it's a runit-<u>background</u> service which should be converted to a fiss-service. The service executable exits immediately, the actual service is running in the background. - -<b>pause</b> is a runit-hack, a program which just suspends until it is signaled by runit. It blocks a process-slot and the kernel still needs to care about it. <b>fiss</b> handles background-services different by calling <u>./start</u> and <u>./stop</u>. - -You can safely remove the last exec line and rename <u>./run</u> to <u>./start</u> and <u>./finish</u> to <u>./stop</u> and it should work. - -<a class=title id=getting-started href=#getting-started>Getting Started</a> --------------------------------------------------------------------------------- - -<b>fiss</b> does not parse any configuration file, everything is configured through different files inside for example /etc/service.d. - -Following files are executed by finit: - -<div class=list>* <u>/usr/share/fiss/start</u> -This is the entry point of your system (similar to <u>/etc/runit/1</u>). By default this script sources files in unix-order inside <u>/etc/start.d/*.sh</u>. </div> -<div class=list>* <u>/etc/service.d/*</u> -In this directory the services are stored, underneath is descripted how a service is constructed. The utility fsvs is written to supervise a service- directory without issuing start and stop mechanisms. </div> -<div class=list>* <u>/usr/share/fiss/stop</u> -This is the ending point of your system-lifetime (similar to <u>/etc/runit/3</u>). By default this script sources file in unix-order inside <u>/etc/stop.d/*.sh</u>. </div> - -<b>zzz</b> is a utility shipped with <b>fiss</b> to suspend your system, following files are executed by <b>zzz</b>. <div class=list>* <u>/usr/share/fiss/suspend</u> -This file is executed before suspending, by default this script sources files in unix-order inside <u>/etc/zzz.d/suspend/*.sh</u>. </div> -<div class=list>* <u>/usr/share/fiss/resume</u> -This file is executed after suspending (thus before resuming), by default this script sources files in unix-order inside <u>/etc/zzz.d/resume/*.sh</u>. </div> - -<a class=title id=service href=#service>How to create a service?</a> --------------------------------------------------------------------------------- - -Services are usually placed into <u>/etc/service.d</u>, a services is a long-running executable like for example sshd, which should be running the whole lifetime of your system. Sadly do some services terminate before your system halts because of an error or signaling, this is where <b>fiss</b> plays its role. - -<div class=list>* <u>./run</u> -Usually your service runs in the foreground, in this case you can create a run executable, either linked to the actual binary or as a script that executes the service. run is meant to be running the whole time in the foreground and must not daemonize itself into the background as <b>fiss</b> would restart it. +----------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| [ -r ./conf ] && . ./conf | -| | -| exec myservice $ARGS | -+----------------------------------------------------------------------------+This example sources conf in the service-directory if present and executes myservice with <u>$ARGS</u>. </div> -<div class=list>* <u>./params</u> -run often needs parameters, these can be defined inside params. Your arguments must be newline-demilitered. Usually the 0th argument is not included and defaults to './run', but if you want to define the 0th argument you can prefix the first line with '%' and the argument counting starts at 0. No shell-substitution will be done. +----------------------------------------------------------------------------+ -| %fiss-service | -| -L | -| -p 8000 | -+----------------------------------------------------------------------------+In this example, run would be executed with 'fiss-service' as 0th argument and '-L' '-p 8000' </div> -<div class=list>* <u>./env</u> -This file describes environment-variables for run. This is as params a newline-demilitered file with key=value pairs. As for params, there is no shell-substitution done. +----------------------------------------------------------------------------+ -| HOME=/home/foo | -| XDG_CONFIG_DIRS=/etc/ | -| PATH=/bin:/sbin:/usr/bin:/usr/sbin | -+----------------------------------------------------------------------------+</div> -<div class=list>* <u>./user</u> -If this file is present, run will be executes as defined user and group(s). You can define your user as 'user' and the group will be the user group or you explicitly define 'user:group'. You can add multiple groups with 'user:group:group2:group3', if user is prefixed with a colon (':'), users and groups will be parsed as numeric thus ':1000:1000:1001'. +----------------------------------------------------------------------------+ -| foo:foo:mysql | -+----------------------------------------------------------------------------+In this example, run would be executed as 'foo' and als 'foo' as group with 'mysql' as additional group. </div> -<div class=list>* <u>./start</u> -If your services cannot be run in the foreground, you should execute link it to start, start is a short-running executable, if start exits it is considered as running. To supervise your services, it's handy to provide a pid-file inside your service as some services provide print its process-id to the console. If no pid-file is found you must implement a stop file. +----------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| myserver --print-pid > ./pid | -+----------------------------------------------------------------------------+</div> -<div class=list>* <u>./pid</u> -This is a plain-text file containing just the PID of the service in decimal. </div> -<div class=list>* <u>./stop</u> -This script is meant to stop the service, if this file exits the service is considered inactive. This file must not coexist with pid. +----------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| myserver2 --stop | -+----------------------------------------------------------------------------+</div> -<div class=list>* <u>./depends</u> -This file contains newline-demilitered service-names which are dependencies of the service. dependencies are started before the service will be started and stopped if no enabled and no other service depend on it. Dependencies are just started, no consideration will be done that the dependency is actually active. </div> -<div class=list>* +----------------------------------------------------------------------------+ -| dbus | -| networking | -+----------------------------------------------------------------------------+</div> -<div class=list>* <u>./setup</u> -If this file is present and executable, it will be executed before run or start, it is meant for example to create files or directories. +----------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| mkdir /var/myserver | -+----------------------------------------------------------------------------+</div> -<div class=list>* <u>./finish</u> -If this file is present and executable, it will be executed after run has exited or after stop was executed. This is meant to remove unnessasary files or directories. </div> -<div class=list>* +----------------------------------------------------------------------------+ -| #!/bin/sh | -| | -| rm -rf /var/myserver | -+----------------------------------------------------------------------------+</div> -<div class=list>* <u>./log</u> -If this file is present, <b>fiss</b> will write the stdout and stderr of run to it. This will be done without any modifications. </div> -<div class=list>* <u>./log/</u> service -If this directory is present and a valid service-directory, stdout and stderr of your service will be redirected to the run of the log-service. This is done with a internal pipe, thus no data will be lost of either services failes. </div> -<div class=list>* <u>./no-log</u> -If this file is present, no logging will be done at all. This is meant for very verbose services, which would overflout the system. -If <u>log</u>, <u>log/</u> or <u>no-log</u> is not present, the output of will be redirected to /run/fiss/log/&lt;service&gt;. </div> -<div class=list>* <u>./up-&lt;runlevel&gt;</u> -If this file is present, the services will be started automatically and restarted if this services dies. On other systems, this is called 'enabling' a service. </div> -<div class=list>* <u>./once-&lt;runlevel&gt;</u> -If this file is present, the services will be started automatically but not restarted if this services dies. </div> - -To be a valid service, <u>run</u>, <u>start</u> or <u>depends</u> must be present. If only depends is present, this service is a dummy service thus no actual action will be taken but starting and stopping dependencies. - -<u>start</u>, <u>stop</u>, <u>setup</u> and <u>finish</u> are executed as the same user as <b>fsvs</b> or <b>finit</b> is started, thus root in the most cased. <u>user</u>, <u>env</u>, <u>params</u> are not read when handling a background-service. Every file will be executed in the services directory, reading a file like './conf' will be read out of the service directory. -</div> -</body> -</html> - diff --git a/docs/modules-load.8.html b/docs/modules-load.8.html @@ -1,68 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>modules-load(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>modules-load</b> - configure kernel modules at boot - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>modules-load</b> [<b>-nv</b>] - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -modules-load reads files which contain kernel modules to load during boot from the list of locations below. - -<div class=list>* <b>-n</b> dry-run mode. This option does everything but actually insert or delete the modules. </div> -<div class=list>* <b>-v</b> verbose mode. Print messages about what the program is doing. </div> - -<a class=title id=files href=#files>Files</a> --------------------------------------------------------------------------------- - -Configuration files are read from the following locations: - -<div class=list>* <u>/etc/modules-load.d/*.conf</u> </div> -<div class=list>* <u>/run/modules-load.d/*.conf</u> </div> -<div class=list>* <u>/usr/lib/modules-load.d/*.conf</u> </div> - -The configuration files should simply contain a list of kernel module names to load, separated by newlines. Empty lines and lines whose first non-whitespace character is # or ; are ignored. - - - -<a class=title id=history href=#history>History</a> --------------------------------------------------------------------------------- - -This program is a replacement for the modules-load utility provided by systemd. - - - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Leah Neukirchen, [email protected] (first shell-implementation) - -Friedel Schon, [email protected] (C-implementation) -</div> -</body> -</html> - diff --git a/docs/shutdown.8.html b/docs/shutdown.8.html @@ -1,72 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>shutdown(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>shutdown</b> – bring down the system - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>shutdown</b> [<b>-rhP</b>] [<b>-fF</b>] [now | +mins] [message ...] - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -shutdown brings the system down in a secure way. All logged-in users are notified that the system is going down, and login(1) is blocked. - -By default, shutdown puts the system into single user mode. Rebooting and halting the system can be done using the following options: - -<div class=list>* <b>-c</b> Cancel an ongoing shutdown. </div> -<div class=list>* <b>-f</b> Enable fast booting; skip fsck(8) on next boot. </div> -<div class=list>* <b>-F</b> Force run of fsck(8) on next boot. </div> -<div class=list>* <b>-h</b> Halt the system. </div> -<div class=list>* <b>-k</b> Don't really shutdown; only send the warning messages to everybody. </div> -<div class=list>* <b>-P</b> Poweroff the system. </div> -<div class=list>* <b>-r</b> Reboot the system. </div> -<div class=list>* <b>now</b> Shutdown without further waiting. </div> -<div class=list>* <b>+mins</b> Wait mins minutes before shutting down. </div> -<div class=list>* <b>message</b> Message displayed to all users, defaults to "system is going down". </div> - -<a class=title id=unsupported href=#unsupported>Unsupported OPTIONS</a> --------------------------------------------------------------------------------- - -This version of shutdown is based on runit(8), the following features are not supported: <div class=list>* <b>-t secs</b> to wait secs seconds between SIGKILL and SIGTERM on shutdown is silently ignored. </div> -<div class=list>* <b>-a</b> Use /etc/shutdown.allow. </div> -<div class=list>* <b>-H</b> Drop into boot monitor. </div> -<div class=list>* <b>-n</b> Don't call init(8). </div> -<div class=list>* <b>hh:mm</b> Absolute time specification is not implemented. </div> - -<a class=title id=see href=#see>See Also</a> --------------------------------------------------------------------------------- - -fsck(8), halt(8), init(8), poweroff(8), reboot(8), fiss(8), runsvchdir(8) - - - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Leah Neukirchen, [email protected]. -</div> -</body> -</html> - diff --git a/docs/sigremap.8.html b/docs/sigremap.8.html @@ -1,54 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>sigremap(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>sigremap</b> - a minimal init system for Linux containers - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>sigremap</b> [option] [old-signal=new-signal...] command [arguments ...] - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -<b>sigremap</b> is a simple process supervisor that forwards signals to children. It is designed to run as PID1 in minimal container environments. - - - -Optional arguments: - -<div class=list>* <b>-c, --single</b> Run in single-child mode. In this mode, signals are only proxied to the direct child and not any of its descendants. </div> -<div class=list>* <b>-v, --verbose</b> Print debugging information to stderr. </div> -<div class=list>* <b>-V, --version</b> Print the current version and exit. </div> -<div class=list>* <b>old-signal=new-signal</b> Rewrite received signal s to new signal r before proxying. To ignore (not proxy) a signal, rewrite it to 0. This option can be specified multiple times. </div> - -<a class=title id=authors href=#authors>Authors</a> --------------------------------------------------------------------------------- - -<b>sigremap</b> is based on <a href="https://github.com/Yelp/dumb-init">dumb-init by Yelp</a>. - -Rewritten by Friedel Schon &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/docs/vlogger.1.html b/docs/vlogger.1.html @@ -1,141 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>vlogger(1) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>vlogger</b> - log messages to syslog or an arbitrary executable - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>vlogger</b> [<b>-isS</b>] [<b>-f</b> file] [<b>-p</b> pri] [<b>-t</b> tag] [message ...] - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -The vlogger utility writes messages to the system log or an arbitrary executable. - - - -If vlogger is executed as logger it will always use the system log and behave like the regular logger(1). - - - -Without message arguments vlogger reads messages from stdin or the file specified with the -f flag. If the /etc/vlogger executable exists vlogger executes it with tag, level and facility as arguments, replacing the vlogger process. - - - -If vlogger is executed as a log service for fiss(8) or another daemontools like supervision suite it uses the service name as default tag. As example if vlogger is linked to /var/service/foo/log/run it uses “foo” as tag and “daemon.notice” as pri. - - - -The options are as follows: - -<div class=list>* <b>-f file</b> Read lines from the specified file. This option cannot be combine message arguments. </div> -<div class=list>* <b>-i</b> Log the PID of the vlogger process. Only supported if syslog(3) is used. </div> -<div class=list>* <b>-p pri</b> The. pri can be facility.level or just facility. See FACILITIES, LEVELS or syslog(3). The default is “user.notice”. </div> -<div class=list>* <b>-S</b> Force vlogger to use syslog(3) even if /etc/vlogger exists. </div> -<div class=list>* <b>-s</b> Output the message to standard error, as well as syslog(3). Only supported if syslog(3) is used. </div> -<div class=list>* <b>-t tag</b> Defines the openlog(3) ident which is used as prefix for each log message or passed as first argument to /etc/vlogger. The default is the LOGNAME environment variable. </div> -<div class=list>* <b>message</b> Write the message to the system log. </div> - -<a class=title id=facilities href=#facilities>Facilities</a> --------------------------------------------------------------------------------- - -auth -authpriv -cron -daemon -ftp -kern can not be used from userspace replaced with daemon -lpr -mail -news -syslog -user -uucp -local[0-7] -security deprecated synonym for auth - - - -<a class=title id=levels href=#levels>Levels</a> --------------------------------------------------------------------------------- - -emerg -alert -crit -err -warning -notice -info -debug -panic deprecated synonym for emerg -error deprecated synonym for err -warn deprecated synonym for warning - - - - -<a class=title id=files href=#files>Files</a> ---------------------------------------------------------------------------------<div class=list>* <b>/etc/vlogger</b> -An optional executable file that is used to handle the messages. It is executed with tag, level and facility as arguments and replaces the vlogger process. </div> - -<a class=title id=exit href=#exit>Exit STATUS</a> --------------------------------------------------------------------------------- - -The vlogger utility exits 0 on success, and &gt;0 if an error occurs. - - - -<a class=title id=see href=#see>See Also</a> --------------------------------------------------------------------------------- - -logger(1), syslog(3), svlogd(8) - - - -<a class=title id=history href=#history>History</a> --------------------------------------------------------------------------------- - -This program is a replacement for the logger utility provided by util-linux and forked from daemontools. - - - -<a class=title id=authors href=#authors>Authors</a> --------------------------------------------------------------------------------- - -Duncan Overbruck &lt;[email protected]&gt; - - - -<a class=title id=license href=#license>License</a> --------------------------------------------------------------------------------- - -vlogger is in the public domain. - -To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to this work. - -http://creativecommons.org/publicdomain/zero/1.0/ -</div> -</body> -</html> - diff --git a/docs/zzz.8.html b/docs/zzz.8.html @@ -1,64 +0,0 @@ -<!doctype html> -<html lang=en> - -<head> - <title>Friedel's Initialization and Service Supervision</title> - <meta charset=utf-8 /> - <meta name=viewport content='width=device-width,initial-scale=1' /> - <link rel=stylesheet href=assets/style.css /> - <script type=text/javascript src=assets/toggle-dark.js></script> -</head> - -<body> -<div id=wrapper> -<span class=header><a class=title id=top href=#top>zzz(8) 0.3.3</a><span class=right><span id=toggle_dark onclick=toggle_dark()> turn the lights on </span> <a href=https://github.com/friedelschoen/fiss><img id=github alt=GitHub src=assets/github-mark.svg /></a></span></span> -================================================================================ - -<a class=title id=name href=#name>Name</a> --------------------------------------------------------------------------------- - -<b>zzz</b> - suspend or hibernate your system - - - -<a class=title id=synopsis href=#synopsis>Synopsis</a> --------------------------------------------------------------------------------- - -<b>zzz [-nSzZRH]</b> - - - -<a class=title id=description href=#description>Description</a> --------------------------------------------------------------------------------- - -<b>zzz</b> is a simple utility to hibernate or suspend your computer and part of the fiss-system. It supports suspend/resume-hooks. - -<div class=list>* <b>-n, --noop</b> dry-run, sleep for 5sec instead of actually running ACPI actions. </div> -<div class=list>* <b>-S, --freeze</b> enter low-power idle mode </div> -<div class=list>* <b>-z, --suspend</b> suspend to RAM, this is the default behaviour of <b>zzz</b> </div> -<div class=list>* <b>-Z, --hibernate</b> hibernate to disk and power off </div> -<div class=list>* <b>-R, --reboot</b> hibernate to disk and reboot (useful for switching operating systems) </div> -<div class=list>* <b>-H, --hybrid</b> hibernate to disk and suspend </div> - -<a class=title id=hooks href=#hooks>Hooks</a> --------------------------------------------------------------------------------- - -Before suspending, <b>zzz</b> executes <u>/usr/share/fiss/suspend</u> which intents to execute scripts inside <u>/etc/zzz.d/suspend</u> in alphanumeric order. After resuming, <b>zzz</b> executes <u>/usr/share/fiss/resume</u> which intents to execute scripts inside <u>/etc/zzz.d/resume</u> in alphanumeric order. - - - -<a class=title id=see href=#see>See ALSO</a> --------------------------------------------------------------------------------- - -fiss-init(8), runsvdir(8), runsvchdir(8), sv(8), runsv(8), chpst(8), utmpset(8), svlogd(8) - - - -<a class=title id=author href=#author>Author</a> --------------------------------------------------------------------------------- - -Based on the version of Leah Neukirchen &lt;[email protected]&gt;, rewritten by Friedel Schön &lt;[email protected]&gt; -</div> -</body> -</html> - diff --git a/man/chpst.8 b/man/chpst.8 @@ -1,86 +0,0 @@ -.TH chpst 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCchpst\fR - runs a program with a changed process state -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCchpst\fR [\fB\fC-vP012\fR] [\fB\fC-u\fR user] [\fB\fC-U\fR user] [\fB\fC-b\fR argv0] [\fB\fC-e\fR dir] [\fB\fC-/\fR root] [\fB\fC-n\fR inc] [\fB\fC-l\fR|\fB\fC-L\fR lock] [\fB\fC-m\fR bytes] [\fB\fC-d\fR bytes] [\fB\fC-o\fR n] [\fB\fC-p\fR n] [\fB\fC-f\fR bytes] [\fB\fC-c\fR bytes] prog [arguments...] -.PP -.PP -.SH DESCRIPTION -\fB\fC-u [:]user[:group]\fR -setuidgid. Set uid and gid to the user's uid and gid, as found in /etc/passwd. If user is followed by a colon and a group, set the gid to group's gid, as found in /etc/group, instead of user's gid. If group consists of a colon-separated list of group names, chpst sets the group ids of all listed groups. If user is prefixed with a colon, the user and all group arguments are interpreted as uid and gids respectivly, and not looked up in the password or group file. All initial supplementary groups are removed. -.PP -\fB\fC-U [:]user[:group]\fR -envuidgid. Set the environment variables $UID and $GID to the user's uid and gid, as found in /etc/passwd. If user is followed by a colon and a group, set $GID to the group's gid, as found in /etc/group, instead of user's gid. If user is prefixed with a colon, the user and group arguments are interpreted as uid and gid respectivly, and not looked up in the password or group file. -.PP -\fB\fC-b argv0\fR -Run prog with argv0 as the 0th argument. -.PP -\fB\fC-/ root\fR -Change the root directory to root before starting prog. -.PP -\fB\fC-C pwd\fR -Change the working directory to pwd before starting prog. When combined with -/, the working directory is changed after the chroot. -.PP -\fB\fC-n inc\fR -Add inc to the nice(2) value before starting prog. inc must be an integer, and may start with a minus or plus. -.PP -\fB\fC-l lock\fR -Open the file lock for writing, and obtain an exclusive lock on it. lock will be created if it does not exist. If lock is locked by another process, wait until a new lock can be obtained. -.PP -\fB\fC-L lock\fR -The same as -l, but fail immediately if lock is locked by another process. -.PP -\fB\fC-P\fR -Run prog in a new process group. -.PP -\fB\fC-0\fR -Close standard input before starting prog. -.PP -\fB\fC-1\fR -Close standard output before starting prog. -.PP -\fB\fC-2\fR -Close standard error before starting prog. -.PP -.PP -.SH NOT IMPLEMENTED -.PP -Following options are defined in runit's chpst but are ignored by fiss' implementation. -.PP -\fB\fC-e dir\fR -Set various environment variables as specified by files in the directory dir: If dir contains a file named k whose first line is v, chpst removes the environment variable k if it exists, and then adds the environment variable k with the value v. The name k must not contain =. Spaces and tabs at the end of v are removed, and nulls in v are changed to newlines. If the file k is empty (0 bytes long), chpst removes the environment variable k if it exists, without adding a new variable. -.PP -\fB\fC-m bytes\fR -Limit the data segment, stack segment, locked physical pages, and total of all segment per process to bytes bytes each. -.PP -\fB\fC-d bytes\fR -limit data segment. Limit the data segment per process to bytes bytes. -.PP -\fB\fC-o n\fR -Limit the number of open file descriptors per process to n. -.PP -\fB\fC-p n\fR -Limit the number of processes per uid to n. -.PP -\fB\fC-f bytes\fR -Limit the output file size to bytes bytes. -.PP -\fB\fC-c bytes\fR -Limit the core file size to bytes bytes. -.PP -\fB\fC-v\fR -Print verbose messages to standard error. This includes warnings about limits unsupported by the system. -.PP -.SH EXIT CODES -.PP -chpst exits 100 when called with wrong options. It prints an error message and exits 111 if it has trouble changing the process state. Otherwise its exit code is the same as that of prog. -.PP -.PP -.SH AUTHOR -.PP -Based on the implementation by Gerrit Pape <[email protected]>, rewritten by Friedel Schon <[email protected]> diff --git a/man/finit.8 b/man/finit.8 @@ -1,59 +0,0 @@ -.TH finit 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCfiss\fR - a UNIX process no 1 -.PP -.PP -.SH SYNOPSIS -\fB\fCfsvc\fR when running as PID 0 (as init) -.PP -\fB\fCfsvc\fR <0|6> when running regulary to controll init -.PP -.SH CONTROLLING -.PP -If \fB\fCfinit\fR is invoked by any other user than \fIroot\fR, it failes. -.PP -\fB\fCfinit\fR 0 halts the system -.PP -\fB\fCfinit\fR 6 reboots the system -.PP -.SH DESCRIPTION -.PP -\fB\fCfiss\fR must be run as Unix process no 1 if invoked without arguments and handles the boot process in user-land. -.PP -This happens in three stages: -.PP -.PP -.SH STAGE 1 -.PP -\fB\fCfiss\fR runs \fI/etc/fiss/start\fR and waits for it to terminate. The system's one time tasks are done here. \fI/etc/fiss/start\fR has full control of \fI/dev/console\fR to be able to start an emergency shell if the one time initialization tasks fail. If \fI/etc/fiss/start\fR crashes, \fB\fCfinit\fR will skip stage 2 and enter stage 3. -.PP -.PP -.SH STAGE 2 -.PP -\fB\fCfiss\fR starts all services in \fI/etc/fiss/service.d\fR which should not return until system shutdown; if it crashes, it will be restarted. -.PP -.PP -.SH STAGE 3 -.PP -If \fB\fCfiss\fR is told to shutdown the system, it terminates stage 2 if it is running, and runs \fI/etc/fiss/stop\fR. The systems tasks to shutdown and possibly halt or reboot the system are done here. If stage 3 returns, \fB\fCfinit\fR checks if the file -.PP -.PP -.SH SIGNALS -.PP -\fB\fCfinit\fR only accepts signals in stage 2. -.PP -If \fB\fCfinit\fR receives a CONT signal and the file \fB\fCfinit\fR is told to shutdown the system. -.PP -if \fB\fCfinit\fR receives an INT signal, \fB\fCfinit\fR restarts the system. -.PP -.PP -.SH SEE ALSO -.PP -fiss-init(8), runsvdir(8), runsvchdir(8), sv(8), runsv(8), chpst(8), utmpset(8), svlogd(8) -.PP -.PP -.SH AUTHOR -.PP -Friedel Schön <[email protected]> diff --git a/man/fsvc.8 b/man/fsvc.8 @@ -1,85 +0,0 @@ -.TH fsvc 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCfsvc\fR - fiss' service controller -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCfsvc\fR \fB\fCstart\fR [\fIoptions\fR] [\fB\fC--pin_\fR] <service> -.PP -\fB\fCfsvc\fR \fB\fCstop\fR [\fIoptions\fR] [\fB\fC--pin\fR] <service> -.PP -\fB\fCfsvc\fR \fB\fCenable\fR [\fIoptions\fR] [\fB\fC--once\fR] <service> -.PP -\fB\fCfsvc\fR \fB\fCdisable\fR [\fIoptions\fR] [\fB\fC--once\fR] <service> -.PP -\fB\fCfsvc\fR \fB\fCkill\fR [\fIoptions\fR] <service> <signal|signo> -.PP -\fB\fCfsvc\fR \fB\fCstatus\fR [\fIoptions\fR] [\fB\fC--check\fR] [<service>] -.PP -\fB\fCfsvc\fR \fB\fCpause\fR [\fIoptions\fR] <service> -.PP -\fB\fCfsvc\fR \fB\fCresume\fR [\fIoptions\fR] <service> -.PP -\fB\fCfsvc\fR \fB\fCswitch\fR [\fIoptions\fR] [\fB\fC--reset\fR] <runlevel> -.PP -.PP -.SH DESCRIPTION -.PP -\fB\fCfsvc\fR is a command line tool for controlling services on a fiss system. It provides various commands for starting, stopping, enabling, disabling, sending signals to, checking the status of, pausing, resuming, and switching the runlevel of services. -.PP -.SH OPTIONS -.PP -The following options are available for every command: -.PP -\fB\fC-q, --short\fR Will print brief information about the service. -.PP -\fB\fC-r, --runlevel <runlevel>\fR Will use fBrunlevelfB instead of \fIdefault\fR. -.PP -\fB\fC-s, --service-dir <path>\fR Will use \fB\fCpath\fR as service directory instead of \fI/etc/fiss/service.d\fR. -.PP -\fB\fC-v, --verbose\fR Prints verbose information. -.PP -\fB\fC-V, --version\fR Prints the version and exits. -.PP -The following options are available per command: -.PP -\fB\fC-p, --pin\fR Pins the state. If issued with \fB\fCstart\fR it will cause the service to restart. If issued with \fB\fCstop\fR it will cause the service to be hold down. -.PP -\fB\fC-o, --once\fR Specifies that the service should only be enabled/disabled once and not automatically started/stopped on subsequent bootups. -.PP -\fB\fC-c, --check\fR Command will return \fI0\fR if the specified service is active otherwise \fI1\fR -.PP -\fB\fC-r, --reset\fR Specifies that the switch command should reset all running services (if manually set to up/down) -.PP -.SH COMMANDS -.PP -The following commands are available: -.PP -\fB\fCstart\fR Starts the specified service. A synonym is \fB\fCup\fR. -.PP -\fB\fCstop\fR Stops the specified service. A synonym is \fB\fCdown\fR. -.PP -\fB\fCenable\fR Enables the specified service, causing it to automatically start on subsequent bootups. -.PP -\fB\fCdisable\fR Disables the specified service, causing it to not start automatically on subsequent bootups. -.PP -\fB\fCkill\fR Sends the specified signal or signal number to the specified service. A synonym is \fB\fCsend\fR. -.PP -\fB\fCstatus\fR Displays the status of the specified service. If no service is specified, displays the status of all services. -.PP -\fB\fCpause\fR Pauses the specified service. -.PP -\fB\fCresume\fR Resumes the specified service. -.PP -\fB\fCswitch\fR Switches the runlevel to the specified value. -.PP -.SH SEE ALSO -.PP -finit(1), fsvc(8), fsvs(8), halt(8), modules-load(8), shutdown(8), -.PP -.SH AUTHOR -.PP -Friedel Schön <[email protected]> diff --git a/man/fsvs.8 b/man/fsvs.8 @@ -1,30 +0,0 @@ -.TH fsvs 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCfsvs\fR - friedel's service superviser -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCfsvs\fR [options] service-dir runlevel -.PP -.PP -.SH DESCRIPTION -.PP -\fB\fCfsvs\fR is the superviser called by \fB\fCfinit\fR but without initialization. -.PP -Following options are available: -.PP -\fB\fC-v, --verbose\fR Prints more information, easier to debug problems -.PP -\fB\fC-f, --force\fR Forces the socket if existing, if called without \fB\fC-f\fR and the socket already exists, it failes. -.PP -\fB\fC-V, --version\fR Prints the version and exits. -.PP -Services can be controlled with \fB\fCfsvc 8\fR -.PP -.PP -.SH AUTHORS -.PP -Friedel Schon <[email protected]> diff --git a/man/halt.8 b/man/halt.8 @@ -1,36 +0,0 @@ -.TH halt 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fChalt\fR, \fB\fCreboot\fR, \fB\fCpoweroff\fR - stop the system -.PP -.PP -.SH SYNOPSIS -\fB\fCpoweroff\fR [\fB\fC-n\fR] [\fB\fC-f\fR] [\fB\fC-d\fR] [\fB\fC-w\fR] [\fB\fC-b\fR] -.PP -\fB\fCreboot\fR [\fB\fC-n\fR] [\fB\fC-f\fR] [\fB\fC-d\fR] [\fB\fC-w\fR] [\fB\fC-b\fR] -.PP -\fB\fChalt\fR [\fB\fC-n\fR] [\fB\fC-f\fR] [\fB\fC-d\fR] [\fB\fC-w\fR] [\fB\fC-b\fR] -.PP -.SH DESCRIPTION -.PP -\fB\fCpoweroff\fR / \fB\fCreboot\fR / \fB\fChalt\fR tells \fB\fCinit\fR to stop running services and stop the system. Invoked without \fB\fC-f\fR, it is a shortcut for \fB\fCinit <0|6>\fR -.PP -.PP -.SH OPTIONS -\fB\fC-n\fR Don't sync devices, this doensn't imply that the kernel is not synced already -.PP -\fB\fC-f\fR Forces halt / reboot without notifying \fB\fCinit\fR. Forcing the system to halt should be the last hope and can be dangerous, you should not try it -.PP -\fB\fC-d\fR Don't write the \fIwtmp\fR record -.PP -\fB\fC-w\fR Only write the wtmp record, no further action -.PP -.SH SEE ALSO -.PP -finit(1), fsvc(8), fsvs(8), halt(8), modules-load(8), shutdown(8), -.PP -.PP -.SH AUTHOR -.PP -Based on the version of Leah Neukirchen <[email protected]>, rewritten by Friedel Schön <[email protected]> diff --git a/man/modules-load.8 b/man/modules-load.8 @@ -1,43 +0,0 @@ -.TH modules-load 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCmodules-load\fR - configure kernel modules at boot -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCmodules-load\fR [\fB\fC-nv\fR] -.PP -.PP -.SH DESCRIPTION -.PP -modules-load reads files which contain kernel modules to load during boot from the list of locations below. -.PP -\fB\fC-n\fR dry-run mode. This option does everything but actually insert or delete the modules. -.PP -\fB\fC-v\fR verbose mode. Print messages about what the program is doing. -.PP -.SH FILES -.PP -Configuration files are read from the following locations: -.PP -\fI/etc/modules-load.d/*.conf\fR -.PP -\fI/run/modules-load.d/*.conf\fR -.PP -\fI/usr/lib/modules-load.d/*.conf\fR -.PP -The configuration files should simply contain a list of kernel module names to load, separated by newlines. Empty lines and lines whose first non-whitespace character is # or ; are ignored. -.PP -.PP -.SH HISTORY -.PP -This program is a replacement for the modules-load utility provided by systemd. -.PP -.PP -.SH AUTHOR -.PP -Leah Neukirchen, [email protected] (first shell-implementation) -.PP -Friedel Schon, [email protected] (C-implementation) diff --git a/man/shutdown.8 b/man/shutdown.8 @@ -1,58 +0,0 @@ -.TH shutdown 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCshutdown\fR – bring down the system -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCshutdown\fR [\fB\fC-rhP\fR] [\fB\fC-fF\fR] [now | +mins] [message ...] -.PP -.PP -.SH DESCRIPTION -.PP -shutdown brings the system down in a secure way. All logged-in users are notified that the system is going down, and login(1) is blocked. -.PP -By default, shutdown puts the system into single user mode. Rebooting and halting the system can be done using the following options: -.PP -\fB\fC-c\fR Cancel an ongoing shutdown. -.PP -\fB\fC-f\fR Enable fast booting; skip fsck(8) on next boot. -.PP -\fB\fC-F\fR Force run of fsck(8) on next boot. -.PP -\fB\fC-h\fR Halt the system. -.PP -\fB\fC-k\fR Don't really shutdown; only send the warning messages to everybody. -.PP -\fB\fC-P\fR Poweroff the system. -.PP -\fB\fC-r\fR Reboot the system. -.PP -\fB\fCnow\fR Shutdown without further waiting. -.PP -\fB\fC+mins\fR Wait mins minutes before shutting down. -.PP -\fB\fCmessage\fR Message displayed to all users, defaults to "system is going down". -.PP -.SH UNSUPPORTED OPTIONS -.PP -This version of shutdown is based on runit(8), the following features are not supported: \fB\fC-t secs\fR to wait secs seconds between SIGKILL and SIGTERM on shutdown is silently ignored. -.PP -\fB\fC-a\fR Use /etc/shutdown.allow. -.PP -\fB\fC-H\fR Drop into boot monitor. -.PP -\fB\fC-n\fR Don't call init(8). -.PP -\fB\fChh:mm\fR Absolute time specification is not implemented. -.PP -.SH SEE ALSO -.PP -fsck(8), halt(8), init(8), poweroff(8), reboot(8), fiss(8), runsvchdir(8) -.PP -.PP -.SH AUTHOR -.PP -Leah Neukirchen, [email protected]. diff --git a/man/sigremap.8 b/man/sigremap.8 @@ -1,32 +0,0 @@ -.TH sigremap 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCsigremap\fR - a minimal init system for Linux containers -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCsigremap\fR [option] [old-signal=new-signal...] command [arguments ...] -.PP -.PP -.SH DESCRIPTION -.PP -\fB\fCsigremap\fR is a simple process supervisor that forwards signals to children. It is designed to run as PID1 in minimal container environments. -.PP -.PP -Optional arguments: -.PP -\fB\fC-c, --single\fR Run in single-child mode. In this mode, signals are only proxied to the direct child and not any of its descendants. -.PP -\fB\fC-v, --verbose\fR Print debugging information to stderr. -.PP -\fB\fC-V, --version\fR Print the current version and exit. -.PP -\fB\fCold-signal=new-signal\fR Rewrite received signal s to new signal r before proxying. To ignore (not proxy) a signal, rewrite it to 0. This option can be specified multiple times. -.PP -.SH AUTHORS -.PP -\fB\fCsigremap\fR is based on dumb-init by Yelp. -.PP -Rewritten by Friedel Schon <[email protected]> diff --git a/man/vlogger.1 b/man/vlogger.1 @@ -1,130 +0,0 @@ -.TH vlogger 1 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCvlogger\fR - log messages to syslog or an arbitrary executable -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCvlogger\fR [\fB\fC-isS\fR] [\fB\fC-f\fR file] [\fB\fC-p\fR pri] [\fB\fC-t\fR tag] [message ...] -.PP -.PP -.SH DESCRIPTION -.PP -The vlogger utility writes messages to the system log or an arbitrary executable. -.PP -.PP -If vlogger is executed as logger it will always use the system log and behave like the regular logger(1). -.PP -.PP -Without message arguments vlogger reads messages from stdin or the file specified with the -f flag. If the /etc/vlogger executable exists vlogger executes it with tag, level and facility as arguments, replacing the vlogger process. -.PP -.PP -If vlogger is executed as a log service for fiss(8) or another daemontools like supervision suite it uses the service name as default tag. As example if vlogger is linked to /var/service/foo/log/run it uses “foo” as tag and “daemon.notice” as pri. -.PP -.PP -The options are as follows: -.PP -\fB\fC-f file\fR Read lines from the specified file. This option cannot be combine message arguments. -.PP -\fB\fC-i\fR Log the PID of the vlogger process. Only supported if syslog(3) is used. -.PP -\fB\fC-p pri\fR The. pri can be facility.level or just facility. See FACILITIES, LEVELS or syslog(3). The default is “user.notice”. -.PP -\fB\fC-S\fR Force vlogger to use syslog(3) even if /etc/vlogger exists. -.PP -\fB\fC-s\fR Output the message to standard error, as well as syslog(3). Only supported if syslog(3) is used. -.PP -\fB\fC-t tag\fR Defines the openlog(3) ident which is used as prefix for each log message or passed as first argument to /etc/vlogger. The default is the LOGNAME environment variable. -.PP -\fB\fCmessage\fR Write the message to the system log. -.PP -.SH FACILITIES -.PP -auth -.PP -authpriv -.PP -cron -.PP -daemon -.PP -ftp -.PP -kern can not be used from userspace replaced with daemon -.PP -lpr -.PP -mail -.PP -news -.PP -syslog -.PP -user -.PP -uucp -.PP -local[0-7] -.PP -security deprecated synonym for auth -.PP -.PP -.SH LEVELS -.PP -emerg -.PP -alert -.PP -crit -.PP -err -.PP -warning -.PP -notice -.PP -info -.PP -debug -.PP -panic deprecated synonym for emerg -.PP -error deprecated synonym for err -.PP -warn deprecated synonym for warning -.PP -.PP -.PP -.SH FILES -\fB\fC/etc/vlogger\fR -An optional executable file that is used to handle the messages. It is executed with tag, level and facility as arguments and replaces the vlogger process. -.PP -.SH EXIT STATUS -.PP -The vlogger utility exits 0 on success, and >0 if an error occurs. -.PP -.PP -.SH SEE ALSO -.PP -logger(1), syslog(3), svlogd(8) -.PP -.PP -.SH HISTORY -.PP -This program is a replacement for the logger utility provided by util-linux and forked from daemontools. -.PP -.PP -.SH AUTHORS -.PP -Duncan Overbruck <[email protected]> -.PP -.PP -.SH LICENSE -.PP -vlogger is in the public domain. -.PP -To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to this work. -.PP -http://creativecommons.org/publicdomain/zero/1.0/ diff --git a/man/zzz.8 b/man/zzz.8 @@ -1,41 +0,0 @@ -.TH zzz 8 "MAY 2023" "0.3.3" "fiss man page" -.PP -.SH NAME -.PP -\fB\fCzzz\fR - suspend or hibernate your system -.PP -.PP -.SH SYNOPSIS -.PP -\fB\fCzzz [-nSzZRH]\fR -.PP -.PP -.SH DESCRIPTION -.PP -\fB\fCzzz\fR is a simple utility to hibernate or suspend your computer and part of the fiss-system. It supports suspend/resume-hooks. -.PP -\fB\fC-n, --noop\fR dry-run, sleep for 5sec instead of actually running ACPI actions. -.PP -\fB\fC-S, --freeze\fR enter low-power idle mode -.PP -\fB\fC-z, --suspend\fR suspend to RAM, this is the default behaviour of \fB\fCzzz\fR -.PP -\fB\fC-Z, --hibernate\fR hibernate to disk and power off -.PP -\fB\fC-R, --reboot\fR hibernate to disk and reboot (useful for switching operating systems) -.PP -\fB\fC-H, --hybrid\fR hibernate to disk and suspend -.PP -.SH HOOKS -.PP -Before suspending, \fB\fCzzz\fR executes \fI/usr/share/fiss/suspend\fR which intents to execute scripts inside \fI/etc/zzz.d/suspend\fR in alphanumeric order. After resuming, \fB\fCzzz\fR executes \fI/usr/share/fiss/resume\fR which intents to execute scripts inside \fI/etc/zzz.d/resume\fR in alphanumeric order. -.PP -.PP -.SH SEE ALSO -.PP -fiss-init(8), runsvdir(8), runsvchdir(8), sv(8), runsv(8), chpst(8), utmpset(8), svlogd(8) -.PP -.PP -.SH AUTHOR -.PP -Based on the version of Leah Neukirchen <[email protected]>, rewritten by Friedel Schön <[email protected]>