[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: administration of initscripts



On 04/16/2013 03:02 PM, Kevin Chadwick wrote:
Lets not pollute this useful thread with systemd
It seems a thread about init systems and administration/tweaking of them is the
most appropriate place for systemd to be mentioned. Not least that it can solve
the problem the OP had. It should not be ignored or avoided from being
mentioned just because some people hate it. Some people hate sysvinit. What we
should not do is 'pollute' the thread with any misinformed bias or non
objective statements about the suitability of something for a particular job.
Let's stick to facts.

Fair enough. I would always agree with that. I will say I am not biased
in any way by my usage of BSD.

but I will say it would be the absolute last on my list and actually systemd
itself is incomptible with BSD not just udev and from my experience would be
laughed out of the room by BSD devs even if it was POSIX compliant.
Luckily we're on a Debian mailing list, then, isn't it, and not a BSD one!
Systemd has "assimilated" udev, in a manner of speaking. Udev can still
run completely without systemd, but for system builders they have to
take a lot of extra steps to seperate udev from systemd and install it.
Worse, some devs of systemd want to fully integrate udev into systemd
and make it so you can't use udev without systemd. This is bad for many
distributions as systemd may not be an option. Debian is an example:
Debian has a couple pet prijects to be ported to things
like HURD and BSD, which do not provide kernel features absolutely
necessary for systemd. Some Gentoo developers have forked udev for this
reason.
I was merely replying to a few mails at once noting that the above
suggests udev is the only non posix part. Systemd is too, such as
cgroups which if you search for on the OpenBSD list you will see strong
arguments for them actually being practically pointless. I haven't the
time to look it up or talk about it here but it shouldn't be hard to
find.

Please also note that it is not about Linux or BSD either but POSIX.
Without POSIX Linux negates itself from some major projects and
turning POSIX into Linux only, negates POSIX.


First off: Linux itself is not fully POSIX compliant, even without systemd: http://en.wikipedia.org/wiki/POSIX#POSIX-oriented_operating_systems. So claiming importance of POSIX to Linux is not entirely correct. While POSIX is IMPORTANT to Linux, it's never been a design goal of Linux to full comply with POSIX. The Linux Standard Base is probably more omportant to Linux distributions.

Second off, so many people misunderstand the goals and design of the POSIX standards. The entire set is largely geared for source compatibility between Unix-like systems. I challenge you to find anywhere in the POSIX standards that defines anythign about the init system or system manager.

Third off: SysV is probably even WORSE for compatibility between Unix-like systems (And I doubt POSIX would even recommend SysV-like capabilities.), because while it itself will function in virtually any half-way POSIX environment: Initscripts themselves, which SysV cannot do anything without, are entirely platform-specific. For example: Debian initscripts will not work at ALL on an LFS system, which has its own initscripts. This effectively makes any advantage of usign SysV for promoting cross-compatibility null when you still have to use very platform-specific methods to use it. systemd's design with the unit files and how it works is to allow upstream developers to do what SysV, Upstart, and OpenRC certainly would not: A universal way for their daemon to be run by a Linux system.

Fourth off: An example, lets look at OS X, which is not only fully POSIX compliant, but also fully SUS compliant and therefore a fully Unix system. It uses launchd, which systemd's entire design is based on, by the author's own admission. If systemd were so incredibly "bad for standards" as you claim, how come it functions almost entirely like a system manager for a full-scale POSIX/SUS system?

Fifth off, and I know this should be taken with a bit of salt: According to Lennart, systemd is a lot closer to how Unix has always intended system management to be rather than SysV.

Finally, being Linux-specific is ENTIRELY irrelevant to POSIX. BSD also has system-specific parts. So does OS X. So does AIX and Solaris and Windows and EVERY operating system. It is impossible, even under POSIX/SUS compliance for this to be done. It is better for udev and systemd to take advantage of kernel features to do their job *right* rather than meet your impossible goal of "working universally well on all systems." If systemd were to have a BSD port, it'd lose some capabilites and admittedly gain some. The goal of systemd is to be a *Linux* system manager. The Linux-specific usage of systemd is hardly pointless, and you should consider the source of the people making that claim: BSD users. I know I''m generalizing here, but ever notice how many unsubstantiated claims *against* Linux are made by BSD users? I could just as easily cite sources claiming the Linux-specific features systemd uses are VERY useful, and I'd be more inclined to believe Linux users saying these thing than BSD users because *Linux* users actually have usage experience to back it up.

Conrad


Reply to: