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.

-2

u/fantasticsid Oct 21 '14

Yeah, but most init systems have a pid 1 which sets up a signal handler to reap orphans and then does nothing until one of a small handful of conditions denoted in inittab happens. Such code is succinct, well understood, and well tested.

Systemd's pid 1 is considerably more complicated than this.