The tragedy of systemd
A very nice talk. If you still harbour resentment or dislike towards systemd, maybe take the time to watch this and consider the arguments.
inb4: "againts the UNIX philosophy" - you do know GNU literally means "GNU's Not UNIX", right? That's not just a cute name, and it actually guided design decisions and meant incompatible changes, e.g. --long format command parameters. See also: POSIX_ME_HARDER.
#gnu #linux #software #freesoftware #systemd #change #evolution #video #flamewars


Michele Leonardo
in reply to jec& • • •Roland Häder🇩🇪 likes this.
mc
in reply to jec& • • •Michele Leonardo
in reply to jec& • • •Nanook
Unknown parent • •jec&
in reply to jec& • • •@randygalbraith we are not in 1970 anymore. Computers today are completely differents beasts than once upon a time. Not only that but computer science has evolved and changed pretty dramatically. It's been FIFTY YEARS. When people think that a few dozen shell scripts are enough to manage a modern OS is an illusion, and a reactionary attitude.
I should btw clarify I'm not some capricious zoomer that simply wants glossy GUIs. I've been working as a sysadmin for 20 years and I wouldn't ever want to go back to pre-
systemdtimes.systemdis about so much more than just "quicker boot times". The service management is so solid and powerful that the idea of using classicinitwould feel like having to write on stone tables or somethingNanook
in reply to jec& • •Roland Häder🇩🇪
in reply to jec& • •S10-mount) for each run-level and then configuration files in/etc/and finish you are. Stripped-down simple and robust. Always known where to look when something got broken.Roland Häder🇩🇪
in reply to Roland Häder🇩🇪 • •Roland Häder🇩🇪
in reply to Roland Häder🇩🇪 • •Nanook
Unknown parent • •Monkeymind
in reply to jec& • • •Muscle Memory can learn new tricks. I have no fucks to give either way. All software sucks, all hardware sucks. If you haven't learned that yet, then, well, oh you sweet children, you are up for a rude awakening one of these days.
On a totally unrelated topic, who agrees with me that "ss" is a truly mindbogglingly inappropriate name for a utility program?
Nanook
in reply to Monkeymind • •jec&
Unknown parent • • •@David Craig I don't understad what you think I don't understand, or how it negates my comment. GNU was a Unix lookalike/behavealike copyleft replacement, yes, but superseeded it since the GNU project chose not to be limited by what Unix did at the time. It did Unix and then some. Therefore saying something in GNU is "not the Unix way" is a gross misinterpretation of its inception and history, imo.
Linux (the kernel) did the same. It started because Torvalds was annoyed and disatisfied with Minix's limitations, and when you get stuff like cgroups or whatever, you don't see people saying it's "not the Minix way".
jec&
in reply to jec& • • •Roland Häder🇩🇪 likes this.
Roland Häder🇩🇪
in reply to jec& • • •emacsmay break the rule here,vi(m)doesn't. But I don't want to start the emacs-versus-vi-war here again. 😉 Still one I think emacs is and that it is an IDE (Integrated Development Environment) which no longer a simple text editor.jec&
in reply to jec& • • •jec&
in reply to jec& • • •Current hardware is wildly different. A PC is not a static set of components, it's a dynamic entity, with USB and wireless devices coming in and out of it all the time. Some of those are network or have network-like features. Some have filesystems. Some do sound. Modern OSs have to be able to deal with that and more. How do HDMI, 3D-accelerated GUIs, MTP, ExFAT, Bluetooth, DisplayPort-over-USB external monitors, or cellular network modems, factor exactly into the "Unix way"?
btw talking about virtualization being around for a long time is disingenous, when you consider it was actually available on IBM Enterprise-grade mainframes and OSs which weren't even Unix! Containers and VMs on personal computers and commodity hardware are definitely a modern phenomenon.
Roland Häder🇩🇪
in reply to jec& • • •Nanook
in reply to jec& • •jec&
in reply to jec& • • •Nanook
in reply to jec& • •Nanook
Unknown parent • •Nanook
Unknown parent • •Michele Leonardo
in reply to jec& • • •Roland Häder🇩🇪
Unknown parent • • •Roland Häder🇩🇪
Unknown parent • • •Roland Häder🇩🇪
Unknown parent • • •@randygalbraith You can make scripts (e.g. Bash) more flexible by "sourcing" libraries and "hooks" in it.
"Hooks" are functions that are empty by default and can be called wherever they are needed. So here are some "phases" of an init script:
1) Load "global" (valid for all init scripts) configuration file for variables (distro-specific)
2) Load script-specific configuration file (for variables)
3) Start/stop daemon/mount file system/whatever
4) Check status
Example
postLoadConfigurationFile()which is - the name suggest it - only being executed after the configuration file is loaded. So if a script (e.g. MariaDB) needs to run something after the configuration is loaded, it simply can overwrite that function call by its own steps. MariaDB here could then check if the database is initialized (first startup) and if not, do so by whatever they have to do.An other daemon could overwrite
preStartDaemon()(obviously themountinit script would never overwrite it as it is not a daemon) maybe because it needs to initialize other things first.You can easily expand that flexible "hook" system by simply adding more "hooks" (empty functions but calling them). So each time an init script wants to do something "special" at one point of the script phase, let it overwrite that hook. Others won't overwrite it so, the empty "hook" function is called instead.
Maybe my proposal isn't perfect, but it is a start to renew #sysvinit.
jec&
Unknown parent • • •