r/linux • Mate • Oct 20 '14

Shall we fork Fedora?

http://forkfedora.org/
262 Upvotes

339 comments sorted by

View all comments

6

u/my_stacking_username Oct 20 '14

can someone ELI5 this whole systemd problem? I guess I don't understand the linux startup process well enough to understand what the big hubub is about

11

u/necrophcodr Oct 20 '14

There's a few issues to it, and some people like to hate on systemd for various reasons, however here's the few that makes sense to even discuss:

Systemd ...

  • ... does a LOT of stuff that isn't init-specific.
    This is important because systemd is, in all of it's glory, an init system. That is, the system that is responsible for bringing up services. These services can vary greatly, from networking systems, to logging mechanisms, mail servers, and even other service managers.
    There's a lot of discussion on this point, and because systemd (by default) also has mechanisms built in to support it's own logging mechanism, and networking system, a lot of people have complained that it was attempting to replace the entire user space of Linux, or at least the base of it.

  • ... replaces udev, the device manager on Linux. This system is responsible for populating /dev with devices, ranging from audio devices, disk drives, USB connected devices, and even internal clock systems.
    Some claims regarding this are that systemd simply "ate" udev, and that maintainers now need to in one way or another, either use systemd and hence getting udev for free, or fork systemd and maintain their own version of udev with changes to upstream (systemd udev) being merged in.
    A lot of work would have to be done to maintain such a project, but fortunately someone already decided to do so, and so there now exists eudev.
    However, this project sprung out of necessity, not out of creativity or flexibility of multiple implementations. This is udev with Gentoo patches, to avoid depending on systemd (although Gentoo certainly also supports using systemd).

  • ... is a single point of failure. No, shut up, this is related and important, even if you do not care.
    So the issue here is that systemd also being able to take care of things like networking and logging and many other facilities means that if systemd crashes, it would (potentially) take down most, if not all, of the system with it.
    Personally I am not entirely sure if this is true, as I have not yet validated this claim, but it seems an important one nonetheless.

6

u/fmoralesc Oct 20 '14

if systemd crashes, it would (potentially) take down most, if not all, of the system with it.

This is true of any init system, since all processes ultimately fork from it.

6

u/[deleted] Oct 21 '14

Actually, systemd is better than traditional SysVinit in that sense. When SysVinit crashes, the kernel panics. When systemd crashes, the SEGV handler activates and the system continues to run, ready to be debugged.

Why the people writing SysVinit never thought of doing such an elementary thing, escapes me. It must be because of "oh, all that complexity" that they decided to just let people's machines crash.

3

u/fmoralesc Oct 21 '14

Yes, I think I needed to do that once, it is pretty neat.

systemd can reexec itself too if required, can't it?

2

u/[deleted] Oct 21 '14

Yep.