On Wed, Aug 15, 2012 at 1:15 PM, Thomas Bächler <thomas@archlinux.org> wrote:
Am 15.08.2012 11:21, schrieb Kevin Chadwick:
I'd love to see the overall advantages and disadvantages of each of those fleshed out on a page where I can read them
Here's one part
A good design would make the init process which is always running and everyone must run.
1./ Be a small simple binary
The systemd main binary is not very large (larger than sysvinit's /sbin/init, but not by much).
But that binary alone is useless, and certainly not *simple*.
2./ Have no dependencies
That is pure BS. If something has no dependencies, it has to do everything in the binary itself. You either end up with no features, or potential for tons of bugs.
Having NO dependencies also means you have to bypass the C library and implement everything from scratch - that is the worst idea ever.
No need to overreact, the meaning is clear: 2. Have as few dependencies as possible, preferably dependencies that are used widely in most systems and that have few dependencies themselves, and are simple themselves
3./ Be easy to follow, fix and lockdown, best fit being interpreted languages.
So, init should be a small binary in an interpreted language? Am I the only one who notices you are contradicting yourself.
No. The "services" (in systemd lingo) should be in an interpreted language: e.g. shell. -- Felipe Contreras