Pre-built binary packages for nosh are available for x86/64 Debian Linux version 7 (or compatible).
This is the Nosh Guide, in HTML. Open it when installed with
or your favourite HTML viewing tool.xdg-open /usr/local/share/doc/nosh/index.html
nosh-exec_1.22_amd64.deb
(exec, nosh, and the chain-loading utilities)
nosh-service-management_1.22_amd64.deb
(system-manager, service-manager, system-control, service-control and related utilities)
nosh-terminal-management_1.22_amd64.deb
(console-terminal-emulator, vc-get-tty, pty-get-tty, ttylogin-starter and related utilities)
nosh-systemd-shims_1.22_amd64.deb
(systemd and servicectl shims for systemd compatibility)
nosh-systemv-shims_1.22_amd64.deb
(halt, reboot, poweroff, telinit, service, chkconfig, and related shims for old-style System 5/BSD compatibility)
nosh-upstart-shims_1.22_amd64.deb
(start, stop, initctl, and related shims for upstart compatibility)
These install the toolsets under /usr/local.
However, to avert a problem that otherwise makes systems unbootable, they also install a handful of binaries in /bin:
/bin/nosh,
/bin/exec,
/bin/cyclog,
/bin/system-manager, and
/bin/system-control.
This is a suite of service bundles. It comprises:
/etc/service-bundles/targets/, including the
workstation,
server,
normal,
rescue,
shutdown,
halt,
reboot,
poweroff,
and other standard system targets.
/etc/service-bundles/services/, including
mount-usr, remount-root, machine-id, and hostname.
/var/sv/, including
ttylogin@vc1-tty, terminal-emulator@vc1, and ttylogin@tty6;
cron, atd, anacron, qmail-send, and exim4-queue;
and
sshd, qmail-smtp-submission, and exim4-smtp-relay.
Important notes:
This is an extensive service bundle collection.
There are a lot of service bundles here, including services that conflict (e.g. qmail-smtp-relay and exim4-smtp-relay) and services that you probably will not have (e.g. rabbitmq-server, mongodb, postgresql, openvpn@service, and swift@container).
Installing the package will automatically enable only a few basic services and
targets. To set your local preferences in this regard, you can use systemd-style preset information in /etc/systemd/system-preset or in /etc/system-control/presets.
So, for example, to have exim4-smtp-relay automatically enabled, include enable exim4-smtp-relay.socket in your preset configuration files.
Installation will not actually start any services. Deinstallation does not disable or stop services. Installation and uninstallation of other "-run" packages, reliant upon this one, does that.
In an ideal world, the world would ship nosh bundles with its softwares itself, of course. ☺
The "-run" family of packages require the service bundle collection. They employ services in it; which are not started or enabled unless the packages are installed; and which are stopped, disabled, and unloaded from the service manager when the packages are uninstalled.
system-manager as process #1
This pre-packages the steps for running a fully nosh-managed system.
It points /sbin/init to /sbin/system-manager.
It also runs the configuration conversion mechanism in /etc/system-control/convert.
Note that the default system is fairly minimal.
You'll have to install other -run packages to get things like old-style GNU libc syslog() service and terminal login services.
In particular, note that you must choose what plug and play device manager (udev, busybox mdev, and so forth) to run.
nosh-run-udev_1.22_amd64.deb
(systemd's udev)
nosh-run-busybox-mdev_1.22_amd64.deb
(busybox mdev)
nosh-run-suckless-mdev_1.22_amd64.deb
(suckless mdev)
nosh-run-vdev_1.22_amd64.deb
(vdev)
These packages run one of four plug and play managers.
nosh-run-kernel-vt_1.22_amd64.deb
(old-style kernel virtual terminals)
nosh-run-user-vt_1.22_amd64.deb
(a new-style application-mode virtual terminal)
The old-style kernel virtual terminal system auto-starts a ttylogin-starter service.
This monitors the currently active kernel virtual terminal, and auto-starts a
ttylogin@ttyN service on each kernel virtual terminal as it is switched to.
The new-style application-mode virtual terminal auto-starts a console-fb-realizer@head0 service; the "realizer" service that realizes the multiplex VTs via the (head #0) framebuffer and input event devices.
This connects to the user-mode virtual terminal that is supplied by console-multiplexor@head0;
which in turn multiplexes the user-mode virtual terminals generated by the
terminal-emulator@vc0,
terminal-emulator@vc1, and
terminal-emulator@vc2 services;
whose emulated virtual terminals in their turn are employed by the
ttylogin@vc0-tty,
ttylogin@vc1-tty, and
ttylogin@vc2-tty services.
The realizer service tells the kernel to disable its built-in terminal emulator program for the duration.
These systems conflict. The head #0 framebuffer and input event device are used by the kernel's virtual terminal emulator. One cannot (without a massive mess of overlapped output and input going to two separate places) realize application-mode virtual terminals onto head #0 whilst simultaneously realizing kernel virtual terminals on the same hardware. So you must only install one of these packages at any one time. The Debian packages are marked so that the package manager will not let you install more than one simultaneously.
nosh-run-freedesktop-kits_1.22_amd64.deb
(Freedesktop.org "kit" services — packagekit, consolekit, policykit, NetworkManager, ModemManager et al.)
This package auto-starts the various Freedesktop.org "kit" services.
Avoid Desktop Bus bus activation.
This package auto-starts the various services that form the VirtualBox Guest Additions:
the VBoxService dæmon and the four "vbox" kernel modules.
syslog() service
This package runs the local-syslog-read service, providing old-style logging service to programs that still use /dev/log.
This installs various path, socket, and service unit files for systemd under /usr/local/lib/systemd/service/,
allowing one to use the nosh service management under systemd as the system manager.
service-manager.socketandservice-manager.service- Run a nosh
service-managerdæmon listening on the conventional socket as the noshsystem-managerwould have.system-control-normal.service- Invoke
system-control start normal.targetas the noshsystem-managerwould have.service-manager-svscan.pathandservice-manager-svscan.service- Run a daemontools-style service scanner monitoring
/service/.
It also disables the nosh sysinit standard target, on the basis that systemd handles what that target otherwise handles on a nosh-system-managed system.
Thus, installing this package will break a nosh-system-managed system.
As is the Debian convention installing the package will automatically enable and start all of these systemd units, and removing it will automatically stop and disable them. To set your local preferences in this regard, you can use systemd preset information.