libinit idea
Nikolai Lifanov
lifanov at mail.lifanov.com
Sun Feb 23 19:09:39 UTC 2014
On 2014-02-23 13:47, David Chisnall wrote:
> On 23 Feb 2014, at 18:31, Freddie Cash <fjwcash at gmail.com> wrote:
>
>> The main developer for systemd is very anti-portability and
>> anti-!Linux. He
>> had actively rejected patches that made his projects work on non-Linux
>> systems. In order to port systemd to a non-Linux system, he wants you
>> to
>> first implement every Linux feature that systemd uses.
>>
>> systemd is a non-starter, and not with considering.
>
> I don't think that's a relevant discussion. The license would likely
> preclude systemd from making it into the base system anyway. Please
> let's not be too negative about the author of systemd: he's
> responsible for more people switching from Linux to FreeBSD than any
> other single individual I can think of and I would strongly encourage
> him to continue.
>
I also noticed this.
> The relevant question is whether it does anything in a way that is
> sufficiently sensible to merit a FreeBSD service management
> infrastructure doing it in the same (or a similar) way.
>
> Oh, two things missing from my original list:
>
> - Service jails should be able to run without an init process, with
> just the required libraries installed and the host machine's init
> system starting the jail and the service process(es) inside it.
>
Isn't this a bit too complicated? If there is an init script under
$jail/usr/local/etc/rc.d, then the host init will need to find it, which
can be even more complicated if rc search path in the jail is customized
(prefixed if it's managed by a different department, for example). Host
init will have to read the jail configuration, parse it too, and then
manage children and pids of the jailed services, including reparenting,
all within a jail context. Then the admin in that jail would need to be
able to restart services, affecting host init, which opens a whole new
can of worms. If init program is skinny and not too complicated, which
it is, there is no tangible overhead. And if a jail really needs a
single simple service, init process in the jail can *be* that, like
jexec myjail /bin/sh -c somestuff (or even /usr/local/bin/myservice -c
myservice conf).
> - The init system should use process descriptors, not pids, for
> tracking processes, preventing issues with pid reuse and so on (and
> removing the need to write pid files). If process descriptors do not
> provide the required functionality (e.g. the ability to trace forked
> children) then this should be added.
>
This is a good idea.
> David
>
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe at freebsd.org"
More information about the freebsd-current
mailing list