4 ms·
> Which made me re-evaluate systemd. Fundamentally creating a monolithic tool to take over from many small single purpose tools seems counter to the UNIX philos
by samtoday 10y ago
> Which made me re-evaluate systemd. Fundamentally creating a monolithic tool to take over from many small single purpose tools seems counter to the UNIX philosophy, and makes it harder to hack on my (mostly desktop/laptop) systems.
What UNIX philosophy? The biggest UNIX in the world is Linux, which is a monolithic kernel. The UNIX philosophy lives on in apps, but not down that low.
- fao_ 10y agoThe kernel is monolithic because that design makes sense with respect to speed and the general design of kernels at the time linux was created. I really, really doubt you can say the same about init systems -- especially systemd.
- new299 10y ago"Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features"." https://en.wikipedia.org/wiki/Unix_philosophy https://en.wikipedia.org/wiki/Unix_philosophy
- vetinari 10y agoAnd systemd actually does. It's like complaining that cat or tail are bloated, because coreutils contains so much functionality. Systemd is not a single binary either. It is many binaries, every one of them does its clearly specified job and together they live in single repository - just like coreutils.
- new299 10y agoWell for me it doesn't really seem like that. I want all the things in coreutils. I don't want all the things in systemd, and I don't want unnecessary inter-dependence between them (e.g. udev, journald etc). I find these kinds of discussions a bit strange. I don't want it, it's made my system both less stable and less easily to hack around with. So I'm not going to use it. If you like it, go for it!
- digi_owl 10y agoAnd even then you could probably mix the likes of GNU core, BSD core, Busybox and Toybox because the communication between them is known and stable. Good luck trying that with systemd...
- MertsA 10y agoThe only thing that's mandatory in systemd is the init and the journal. Everything else is optional.
- pdkl95 10y ago> Systemd is not a single binary either. It is many binaries, The number of binaries isn't relevant. Claiming that systemd follows the unix philosophies[1] because it has "many binaries" suggests you don't understand that philosophy. The point is limiting complexity. Smaller, self-contained programs are a lot easier to understand and debug than both a single "kitchen sink" app and a collection of tightly coupled programs and libraries. If systemd followed the unix philosophy, I should be able to use journald in isolation. Or I should be able to use the init tools just as without bringing in the other tools. The point of a modular design is that each module should be as independent as possible so they can be replaced piecemeal and tested/debugged in isolation. It doesn't matter if you split the project up into different binaries/etc. Busybox, for example, shoves everything into the same binary, but it's a modular design where it's easy to leave out any module and use the coreutils version instead. [1] http://www.catb.org/esr/writings/taoup/html/ch01s06.html http://www.catb.org/esr/writings/taoup/html/ch01s06.html