Pre-built binary packages for nosh are available for x86/64 FreeBSD version 10 (or compatible).
You can download the packages from here or configure your machine to use the package repository.
You can view a list of the packages in the repository via GOPHER or via FTP in EPLF.
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.40.txz
(exec
, nosh
, and the chain-loading utilities)
nosh-service-management-1.40.txz
(system-manager
, service-manager
, system-control
, service-control
and related utilities)
nosh-terminal-management-1.40.txz
(console-terminal-emulator
, vc-get-tty
, pty-get-tty
, ttylogin-starter
and related utilities)
nosh-terminal-extras-1.40.txz
(ptybandage
, ptyrun
and related utilities)
nosh-ucspi-tcp-shims-1.40.txz
(tcpserver
shim)
nosh-zsh-completion-1.40.txz
(Z Shell completions for the toolsets)
nosh-systemd-shims-1.40.txz
(systemd
and servicectl
shims for systemd compatibility)
nosh-systemv-shims-1.40.txz
(halt
, reboot
, poweroff
, telinit
, chkconfig
, and related shims for old-style System 5/BSD compatibility)
nosh-upstart-shims-1.40.txz
(start
, stop
, initctl
, and related shims for upstart compatibility)
nosh-service-command-shim-1.40.txz
(service
shim for old-style System 5/BSD compatibility)
nosh-core-shims-1.40.txz
(false
, true
, printenv
, and related shims for GNU Coreutils compatibility)
nosh-linux-shims-1.40.txz
(setterm
, unshare
, and setsid
shims for util-linux compatibility)
nosh-debian-shims-1.40.txz
(invoke-rc.d
and update-rc.d
shims for Debian compatibility)
nosh-bsd-shims-1.40.txz
(fasthalt
, fastboot
, fastpoweroff
shims for BSD compatibility)
nosh-openbsd-shims-1.40.txz
(rcctl
and and related shims for OpenBSD compatibility)
nosh-openrc-shims-1.40.txz
(rc-service
and rc-update
shims for OpenRC compatibility)
nosh-kbd-shims-1.40.txz
(resizecons
, clear_console
, and chvt
shims for compatibility with the old Linux kbd package)
nosh-net-tools-shims-1.40.txz
(ifconfig
shim for compatibility with the Linux net-tools/inetutils packages)
nosh-bcron-as-cron-shims-1.40.txz
(Bruce Guenter's bcrontab
as the crontab
command)
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:
You will need this for a working system.
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
, lircd
, and swift@container
).
Installing or upgrading the package will not enable/disable any services or targets. Nor will it start/stop any services. This is a change from prior versions of the package, which used to re-apply preset information and then reset services.
Installation of the various "-run" packages, reliant upon this one, does that and is now the sole way to do that with these binary packages.
Deinstallation will attempt to stop and unload all services in the package. Deinstallation will not disable any services or targets.
Deinstallation of the various "-run" packages, reliant upon this one, does that and is now the sole way to do that with these binary packages.
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 service bundles in it; and do not themselves contain any service bundles.
Rather, they contain preset information in /etc/system-control/presets
and /usr/local/etc/system-control/presets
, and install/deinstall scripts that operate on the relevant services.
Installing a "-run" package presets and resets the relevant services.
Deinstalling a "-run" package disables and stops the relevant services, and unloads them from the service manager.
You can tweak the behaviours with your own local preset information either in /etc/systemd/system-preset
or in /etc/system-control/presets
.
system-manager
as process #1
This pre-packages the steps for running a fully nosh-managed system.
It adjusts init_path
in /boot/loader.conf
to point to /sbin/system-manager
.
It also runs the configuration conversion mechanism in /etc/system-control/convert
.
Note that the default system enables no services at all.
You'll have to install other -run packages to get things like old-style BSD libc syslog()
service and terminal login services.
nosh-run-trueos-server-base-1.40.txz
nosh-run-trueos-desktop-base-1.40.txz
nosh-run-freebsd-desktop-base-1.40.txz
nosh-run-freebsd-server-base-1.40.txz
Important note: You will need one of these for a working system.
These packages start the several FreeBSD/TrueOS Desktop and FreeBSD/TrueOS Server standard services.
The set of TrueOS Server services is a strict subset of the TrueOS Desktop ones, and includes the AppCafe ngnix server, ipfw, openntpd, devd, virecover, and Vixie cron. The set of TrueOS Desktop services extends that with the likes of powerd, CUPS, anacron, and Sun RPC. For D-BUS and other Freedesktop.org services, however, one must install other "-run" packages.
The set of FreeBSD Server services is similarly a strict subset of the FreeBSD Desktop ones, and includes ipfw, openntpd, devd, virecover, and Vixie cron. The set of FreeBSD Desktop services extends that with the likes of powerd, CUPS, anacron, and Sun RPC.
nosh-run-kernel-vt-1.40.txz
(old-style kernel virtual terminals)
nosh-run-user-vt-1.40.txz
(a new-style application-mode virtual terminal)
The old-style kernel virtual terminal system auto-starts a ttylogin@tty
N service on each kernel virtual terminal at startup, as configured by /etc/ttys
.
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 BSD package manager does not provide an easy means of enforcing this, unfortunately.
This package auto-starts the OpenSSH server.
This package auto-starts the Freedesktop.org system bus services.
nosh-run-freedesktop-kits-1.40.txz
(Freedesktop.org "kit" services — policykit, NetworkManager, 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.
This package runs the klogd
service, providing logging service to the kernel.
syslog()
service
This package runs the local-syslog-read
service, providing old-style logging service to programs that still use /run/log
.
This package auto-starts the services for Bruce Guenter's bcron.
rc
This installs various rc.d
scripts for running allowing one to use the nosh service management under Mewburn rc
(the rc
system used on FreeBSD, DragonFly BSD, PC-BSD, et al.).
It also disables the nosh sysinit
standard target, on the basis that rc
handles what that target otherwise handles on a nosh-system-managed system.
Thus, installing this package will break a nosh-system-managed system.
This installs various init.d
scripts for running allowing one to use the nosh service management under OpenRC (the rc
system used on Gentoo, TrueOS, et al.).
It also disables the nosh sysinit
standard target, on the basis that rc
handles what that target otherwise handles on a nosh-system-managed system.
Thus, installing this package will break a nosh-system-managed system.