[HN Gopher] Systemd, 10 years later: a historical and technical ...
       ___________________________________________________________________
        
       Systemd, 10 years later: a historical and technical retrospective
       (2020)
        
       Author : fanf2
       Score  : 53 points
       Date   : 2024-08-06 20:42 UTC (2 hours ago)
        
 (HTM) web link (blog.darknedgy.net)
 (TXT) w3m dump (blog.darknedgy.net)
        
       | dijit wrote:
       | SSL. certificate expired
        
         | throwway120385 wrote:
         | TLS still works though.
        
       | abnry wrote:
       | I still haven't fully grasped the Systemd drama, or systemd for
       | that matter, but boy do I love it. I enjoy how Linux has those
       | turf wars nobody outside of it knows about.
        
         | jandrese wrote:
         | SystemD is great when it works, which is most of the time. But
         | when it breaks or you have to do something that SystemD doesn't
         | support it becomes an enormous pain in the ass. It's like being
         | back in Windows land again.
         | 
         | Some DBus message is not appearing and it stalls out your boot
         | process, finding where it was supposed to come from and why it
         | didn't appear is a nightmare. If you want to use a different
         | daemon than the one SystemD provides for some service it will
         | fight you every step of the way, sometimes even undoing
         | whatever you had to do to make the process work in a random
         | update. As someone who experiments with weird networking stuff
         | from time to time I've been kicked in the nuts by
         | NetworkManager on several occasions.
        
           | tuatoru wrote:
           | Yah, Networkmanager is a rootkit.
        
           | sophacles wrote:
           | > As someone who experiments with weird networking stuff from
           | time to time I've been kicked in the nuts by NetworkManager
           | on several occasions.
           | 
           | nit: NetworkManager is not the one provided by systemd in the
           | first place - that's systemd-networkd.
           | 
           | That aside I do wierd networking stuff for a living and
           | here's how I see the available tooling:
           | 
           | * NetworkManager - great for a laptop where you're moving
           | between networks and don't need anything too fancy.
           | 
           | * systemd-networkd - great for servers and other mostly
           | static networking setups, even weird ones.
           | 
           | * If you're doing anything weird dynamically (e.g.
           | experimenting) - disable the above or move the interfaces you
           | are experimenting on to a fresh netns and do everything by
           | hand with the ip command (and maybe udchpc or dhclient if you
           | need a dhcp client, but be aware of how to write your own
           | callback scripts for how to handle various associated
           | events).
        
             | creshal wrote:
             | Now for the weird part: Redhat wrote both NM and sd-nd, and
             | decided what servers _really_ need is NM by default, and
             | getting a server to actually use sd-nd is like pulling
             | teeth on RHEL. Completely baffling.
        
               | sophacles wrote:
               | I don't know why Redhat would do that, but I've never
               | used RHEL - I quit the redhat and derivatives in the 90's
               | due to rpm hell, and never looked back.
        
               | ChocolateGod wrote:
               | NetworkManager can read old style sysconfig network
               | configuration, which is still used to this very day even
               | if Red Hat wishes you wouldn't, and you really shouldn't.
        
             | gsich wrote:
             | systemd-networkd also has the big advantage in using the
             | same config for all distributions. No weird Debian or
             | Redhat config pain.
        
               | rlpb wrote:
               | I'm not keen on the network config being scattered across
               | a dozen tiny files. It makes it hard to see what's going
               | on, or to spot a configuration error.
        
               | pantalaimon wrote:
               | And that's why Canonical came up with Netplan because
               | otherwise things would get boring.
        
           | pdw wrote:
           | I know this is a completely unimportant tangent. But I'm
           | always amused that systemd skeptics insist on the "SystemD"
           | spelling. Where does that come from? I never see anybody talk
           | about NtpD, InetD or VsftpD. But somehow systemd needs to be
           | SystemD. As I said, amusing.
        
           | Enginerrrd wrote:
           | Here's one for you: I can't remember the exact details, but I
           | was trying to get do something with a samba share folder via
           | systemd unit file and the way systemd handles the escape
           | characters used by the samba client was not compatible for
           | windows network shares that used spaces in the name.
        
         | hi-v-rocknroll wrote:
         | Because it completely violates the UNIX philosophy and mission
         | creeps into taking over essentially every part of the system.
         | It was shoved down the throats of every user because the major
         | distros kowtowed to a FOSS diva with a spotty track record,
         | creating a monoculture built on awfulness and bloat.
        
           | 7bit wrote:
           | I appreciated it. I fucking hated all these init scripts and
           | find it muuuuuch easier to get services running under
           | systemd. I don't care about philosophy when it gets in my way
           | of managing systems.
        
             | palata wrote:
             | Had it not been for the philosophy, Linux would not have
             | been a thing. If you don't care about philosophy, consider
             | going to Windows?
        
           | delta_p_delta_x wrote:
           | Hot take: the 'UNIX philosophy' is stuck in the 1970s. It was
           | the only practical compromise when computers were constrained
           | to kilobytes of memory (at best) and a megabyte of storage
           | (at best).
        
       | SahAssar wrote:
       | https://www.youtube.com/watch?v=o_AIw9bGogo (The Tragedy of
       | systemd) is an interesting talk on this topic from the view of
       | someone (Benno Rice) in BSD land. Highly recommended.
       | 
       | EDIT: this is mentioned in the article, thanks koalacola
        
         | koalacola wrote:
         | It's all in the article.
        
           | SahAssar wrote:
           | Ah, sorry. I commented on the topic before reading the
           | article.
        
         | pxc wrote:
         | I'll second this recommendation! Benno Rice is an insightful,
         | energetic, witty, and just plain enjoyable tech speaker. 'What
         | UNIX Cost Us'[1] is another favorite of mine that the audience
         | on this post might enjoy:
         | https://www.youtube.com/watch?v=9-IWMbJXoLM
        
         | Xenoamorphous wrote:
         | Apologies for the off topic comment but found very funny that
         | the autogenerated subtitles for the video had "eunuchs" for
         | UNIX.
        
           | FelipeCortez wrote:
           | not exactly a coincidence, as the name is meant to imply that
           | it is a castrated version of Multics :)
        
       | walterbell wrote:
       | https://archive.is/FMfu4
       | 
       |  _> Perhaps as BPF subsumes Linux into making it a managed-
       | runtime hybrid kernel with subsystems becoming increasingly
       | componentized and instrumented (with early signs in the proposal
       | to add Linux Security Module hooks to BPF programs), as pidfd
       | /process descriptors allow for reliable supervision to be
       | distributed across self-contained processes, as the native Linux
       | mount API becomes more event-driven on its own, and as a
       | generation of Rust fanatics in their undying religious zeal
       | insist that all men are obligated to offer sacrifices to the
       | borrow checker, a new shift may emerge where once again, the init
       | system is made to cease mattering._
       | 
       | Alpine, Devuan, Gentoo and other devs have kept init choice
       | available.
        
         | DiabloD3 wrote:
         | *Debian.
         | 
         | apt-get install sysvinit-core
        
           | lmm wrote:
           | What good is being able to install sysvinit if it doesn't run
           | your services? Debian killed first-class sysvinit, the
           | downgrading of Debian/kFreeBSD is proof enough.
           | 
           | (And more importantly it killed all other well-behaved
           | cooperative init options - this isn't about systemd vs
           | sysvinit, it's about systemd vs standards-based init systems
           | that play nice)
        
             | capitainenemo wrote:
             | Devuan is still an option.
        
               | walterbell wrote:
               | Including Devuan on Arm!
        
         | ChocolateGod wrote:
         | > Alpine, Devuan, Gentoo and other devs have kept init choice
         | available.
         | 
         | Nothing stopped anyone, including yourself, from modifying or
         | forking a distro like Fedora to make it support non-systemd,
         | it's just you can't expect others to do it for you.
        
           | walterbell wrote:
           | Fedora/RH is maintained by a company with > 100 billion
           | market cap.
           | 
           | Forked by Oracle, Rocky Linux and AlmaLinux, for reasons
           | other than systemd.
        
       | renewiltord wrote:
       | Unlucky. Posted to HN the day after SSL expired. You need to turn
       | on certbot-auto to renew your LE cert.
       | 
       | I recall the initial systemd stuff that was constantly posted
       | etc. but now I routinely write unit files and it's really nice.
       | I'm sure the constraints that systemd introduced were a pain in
       | the ass for maintainers but for a user it's been tremendous.
       | Admittedly, some times I just a service unit instead of a mount
       | unit for FUSE and so on, and I still have trouble with `After`
       | and `Before` and `Wants` but overall I rather like it.
       | 
       | Now I have to go check what happened about PulseAudio which is
       | the other Poettering work that everyone and their uncle hated (or
       | maybe it was just Ulrich Drepper who hated systemd). It's funny
       | to me that in the end, my teenage self was some sort of
       | equivalent of a k-pop stan: applying Con Kolivas's scheduler
       | patches, and choosing Poettering over Drepper or whatever. And
       | now all that memory has faded but the names.
        
         | thequux wrote:
         | Pulse was only really janky in the early years; by 2010 it was
         | as solid as anything else in tech. Even then, it was absolutely
         | an improvement over the previous system which either needed
         | manual configuration per program to choose whether to use ALSA,
         | OSS, EsoundD, or Arts with success of portaudio and other sound
         | systems too keep things interesting. Even if you did get things
         | working, I distinctly recall having to restart Firefox in order
         | to play music because Firefox had the only available connection
         | to the sound device.
        
           | DaSHacka wrote:
           | > Pulse was only really janky in the early years; by 2010 it
           | was as solid as anything else in tech.
           | 
           | Then why was PipeWire introduced as a PulseAudio replacement,
           | and why have so many people sung its praises?
           | 
           | I think more people continued to have issues with Pulse for
           | far longer than you realize.
        
         | cyberax wrote:
         | > Unlucky. Posted to HN the day after SSL expired. You need to
         | turn on certbot-auto to renew your LE cert.
         | 
         | Systemd can do that for you, too!
        
       | Spivak wrote:
       | Reading the full history of all the attempts at modernizing sysv
       | I really do think Lennart deserves all the credit for making a
       | car when everyone else made faster horses. It's the true hacker
       | spirit to look at problems with dizzying complexity and say, "eh
       | give me a weekend." systemd really is a jewel of open source that
       | did so many things right from the beginning that by the time it
       | was done it made other hard problems outside of service
       | management tractable.
        
         | 7bit wrote:
         | Man I love systemd. Never has it been easier for me to setup a
         | binary as a service. I dread the memories of customizing or
         | writing init scripts and dependencies.
         | 
         | I don't get all the hate, that primarily argues about the
         | philosophy of Linux, when the philosophy made everything just
         | harder..but I guess some people just want to suffer for their
         | believes, mich like some Catholics
        
           | palata wrote:
           | I hate that "modern" developers think Linux == Ubuntu and
           | write software that only supports Ubuntu. Same thing for
           | systemd.
           | 
           | "But it is just harder to learn how to write proper software
           | that would work on a machine slightly different than my
           | own"...
        
       | floam wrote:
       | Maybe someone can fix this to point to
       | http://blog.darknedgy.net/technology/2020/05/02/0/
        
       | ChrisArchitect wrote:
       | You mean 14 years later?
       | 
       | (2020)
       | 
       | Discussion then: https://news.ycombinator.com/item?id=23204666
        
         | zamadatix wrote:
         | Seems to have been (2020)'d the same instant you posted :).
        
       | Dwedit wrote:
       | Trying to decide what the worst "systemd" story was... "systemd-
       | tmpfiles --purge" deleting your /home directory was pretty bad.
        
       | cyberax wrote:
       | Systemd itself is a fine idea, but its maintainers and governance
       | are not.
       | 
       | They screwed up the libsystemd first by bringing tons of
       | dependencies (including libxz), and then inventing a braindead
       | delayed loading mechanism. That required adding custom ELF
       | sections. It's funny that they used "macOS does this!" as an
       | argument for the delayed loading, when in reality macOS removed
       | that functionality about a decade ago (for being braindead).
       | 
       | While all they needed to do was simply split libsystemd into two
       | libraries.
        
       ___________________________________________________________________
       (page generated 2024-08-06 23:00 UTC)