jobcore/jobo66/jobo66.txt

87 lines
5.3 KiB
Plaintext

/etc/66/jobo66.txt
Ok, you have seen runit, you see how easy it is to configure, emable/start service
supervision disable/stop them, very little resources attributed to init and service
monitoring, but this is as far as runit's minimalism goes.
You are now about to try something more, something much better, something much more
configurable/hackable, something that will make runit look like a scateboard compared
to a racy sportscar. Resources used: A tiny bit more in the untrained eye, but
well worth it due to speed and configurability. The slow bash script running of runit
is replaced by binaries built on minimal C libraries (skalibs oblibs), managing
minimalistic databases of configured services, parameters, modules, trees (bundles of
services), and most importantly running all this in very specific and configurable
environments. Meanwhile, while runit has one binary running init another supervising
services, it is prone to crash if the supervisor crashes, leaving a terminal init
program unable to do anything other to receive a signal for shutdown that has left
no place to come from (unless maybe through an ssh server, if it is still running,
which it shouldn't, since it is most likely also supervised by the crashing runsvdir).
The sky is the limit with this one, root services, user services, containers, virtual
machines, all in separate modifiable environments and customized service dependencies.
As some people get intimidated too soon by s6 and even 66 (which was made to make
s6 more manageable and easier to understand) and do not pursue further experimentation,
within the Arch-Linux ecosystem, it is either Obarun and s6/66 or many distros with
systemd or its counterpart elogind, making them practically ALL the same with the
exception of PID1. Now there is a choice, and even though runit had its final developmental
touches 8 years ago, it is only recently it has received some attention and popularity,
mainly due to its simplicity, of running it and also of implementing it.
IMPORTANT - READ BEFORE REBOOTING !!!!!!!!!!
With this package and our initial setup stored inside the tarball (currently an alpha version)
you can install this package and reboot. The only configuring you must do is to remove
init=/usr/bin/runit-init from the linux line of the bootloader, either at /etc/default/grub
or syslinux, and rerunning it, or by manually editing the bootloader entry (ie /boot/grub/grub.cfg)
and if you haven't removed runit yet maybe make a copied entry into custom.cfg, one
staying as is, marked as runit, the 2nd as 66 without the init=....
66 will install its own /usr/bin/init which is the default location for arch kernels (actually
/sbin/init which points to /usr/bin/init.
Therefore you now have a live choice of two completely separate systems and service supervisors.
Both, together, with all the service scripts, are still a fraction of space of what systemd or
elogind occupy, and either one uses a tiny fraction of the resources that systemd does.
DO NOT SKIP THE 2 PARAGRAPHS ABOVE !!!!!!!!
Honestly, our runit employment here is just trivial and to satisfy those willing to inquire
of the two systems. In our daily work we have been using s6/66 for years and wouldn't trade
it for anything else. But we have provided a good bed for true side by side comparison.
Feel free to shoot questions to our contact/support points but the best source of real accurate
technical information for 66 and s6 are their discussion email lists (obarun.org and skarnet.org).
Based on the instruction of our wiki https://git.disroot.org/joborun/web/src/branch/main/index.md
you will see how to install using our tar-ball and how easy it is to just install this package
here, edit your bootloader as mentioned above, and REBOOT! We seriously doubt you would want to
go back to runit after this. If something breaks from tinkering and you don't know how to fix
it and reboot, rm -rf /etc/66, copy the /etc/66 tree from the tarball into your installation,
and run % sudo 66-intree -zg and everything should be there ready for reboot again.
This is why we call our version of boot not boot@, although it is no different from Obarun's
other than where shutdown, halt, reboot, poweroff are located.
For additional service scripts for 66 see below:
The observice repository (pkg -Sl observice) are the Obarun service files for 66>= 0.7.0.0 not for 66-EOL
See also additional or more minimalistic and runit like services for 66 from mobinmob
https://codeberg.org/mobinmob/66-voidlinux and https://osdn.net/projects/avyssos/
Although those from mobinmob/avyssos projects are meant for void, few scripts may need
some manual modification to match flags and parameters to arch's packages (very few, like ntpd)
otherwise they generally work. /etc/66/service is the default place for sysadmins to store
66 service files that will not be altered by packaging.
The avyssos project is a close cousin of joborun. While the avyssos tries to make it easier
to adopt s6/66 in void without removing runit necesseraly, we try to make it possible for
arch-linux/obarun to also boot with runit.
Basically, any init and service management/supervision should fit besides runit
this is why we don't link /usr/bin/runit-init to /sbin/init so it remains unaffected.
To read this document again it is saved in /etc/66:
/etc/66/jobo66.txt