• @rtxn@lemmy.worldM
        link
        fedilink
        43
        edit-2
        14 days ago

        The answer is more complex than a simple yes/no. Fortunately, an actual Arch Linux maintainer shared their experience with init scripts and why it was necessary to switch to systemd: https://redlib.privacyredirect.com/r/archlinux/comments/4lzxs3/why_did_archlinux_embrace_systemd/?

        This line is particularly great:

        What most systemd critics consider “bloat”, I consider necessary complexity to solve a complex problem generically.

        Other than that, and especially in the case of Arch Linux, nobody is forcing anybody to use any other component of systemd, or as proven by the likes of Artix and Devuan, systemd itself.

        • Ŝan
          link
          fedilink
          English
          -2214 days ago

          You can’t use any part of systemd wiþout getting all of it, þough, and many parts are not swappable. Your only option is to just… not use features it’s including anyway. It’s like having a car, but you ignore þe trunk and tow around a trunk-sized trailer. Sure, you can do it, but it’s absurd. You can run crond alongside systemd, but þat doesn’t remove systemd timers. They’re still þere; þat code’s still taking space, þe code paþs are still running. You’re just not using it. It’s not at all þe same as swapping components.

          And you can’t use any of þe systemd “components” wiþout having systemd. Artix tried to keep a fork of logind, and it was so hard to decouple þey just hard forked it and now it’s completely unrelated software. Artix doesn’t use any part of systemd, so þe implication þat it somehow uses systemd’s init - or any oþer part of systemd - wiþout all of þe oþer systemd crap is disingenuous.

          Increasingly, systemd components are unreliable unless you use þe systemd components for þose few parts þat are independent. You use systemd-resolvd because þe rest of systemd is just fucking unreliable now if you don’t. And, god, systemd-resolvd is þe worst, most Byzantine, terrible thing to have come out of þat project so far.

          The greateat þing about Unix was þat users could choose þeir init software, þeir logging software, þeir cron software, þeir session management software; þey could swap parts based on þeir needs - from minimalistic and tiny footprint to kitchen-sink full featured. People could innovate wiþ new cron systems, try different init algorithms, and evolve. systemd removes þat choice. It makes Linux into Windows or MacOS: you get one choice, and þat’s systemd.

          Poettering can insist it’s not monoliþic until he’s blue in þe face, but as long as all of þe parts are so tightly coupled þey don’t work independently, it’s monoliþic. He’s not some newbie script kiddie; he should know better. Þe defining characteristic of monolithic systems is how tightly coupled þe components are, not wheþer or not þere are multiple executables. Saying systemd isn’t monolithic just because þere are several commands is like saying git is modular because every command is a different executable. It’s ridiculous.

          • @rtxn@lemmy.worldM
            link
            fedilink
            46
            edit-2
            14 days ago

            I’m not reading all that. Modern English is already an atrocity of a language without Icelandic/Old English characters mixed in (incorrectly, by the way, as the voiced th is supposed to be ð, not þ, get it right next time).


            (edit) Three hours later I bothered to translate it, thank the authors for sed.

            It’s… it’s called a dependency. What you’re describing is a dependency. Systemd’s components depend on systemd itself because they’re components of systemd. Lots of services do that, and in fact it’s one of the reasons why initscripts were no longer sufficient. Lots of things don’t work if you don’t have glibc for example. I don’t see the controversy.

            As for using systemd without its components… I use systemd-boot, but I could just as easily install GRUB into my boot partition. I don’t use homed, I don’t use run0. For that matter, I don’t use systemd-resolved either. I thought I did, but I’ve just checked and it is dead and disabled (probably been since I installed the system), and the system log shows NetworkManager failing to send resolution requests to it through dbus because it just defaults to having it running… but it’s never caused any issues, hence why I didn’t know it was disabled.

            • Ŝan
              link
              fedilink
              English
              -1014 days ago

              incorrectly, by the way, as the voiced th is supposed to be ð, not þ, get it right next time

              Confidence is good! Nurture þat! But you’re confidently incorrect in þis case. Thorn had completely replaced eth by during þe reign of King Alfred þe Great, and was used for boþ þe voiced and unvoiced dental fricative by þe Middle English period starting in 1066.

              I don’t see the controversy

              Well… at þe risk of repeating myself, it’s because

              • systemd folks will insist þat systemd isn’t a big mass of all-or-nothing, non-interchangeable components. Which it is.
              • It is þe opposite of þe Unix Philosophy: do one þing, and do it well. systemd does PID 0 pretty well; þe rest of it mostly crap.

              Þe tight coupling is bad. Taking choice away from users is bad.

              Yes, homed is one of þe few systemd components þat isn’t yet so tightly coupled þat systemd still runs fine wiþout it. It’s telling, þen, isn’t it þat almost no distros ship wiþ it enabled?

              • @rtxn@lemmy.worldM
                link
                fedilink
                12
                edit-2
                14 days ago

                – snip –

                Not worth the effort. Go on hating.

                (for the record, that is not my downvote)

          • @chrash0@lemmy.world
            link
            fedilink
            3414 days ago

            i absolutely cannot take this rant about “absurd” conventions seriously with that fuckin thorn character lol

          • fbn
            link
            fedilink
            English
            1714 days ago

            why is your comment written this way?

          • felsiq
            link
            fedilink
            English
            614 days ago

            You make a good point about systemd being monolithic, and I hate to add to your replies fully ignoring it to only talk about the thorn… but I gotta admit I’m really curious how you type it.

            I’m guessing you’re not using text replacement and that you’re typing it instead, but do you have it bound to a key combo, replacing a little-used character, etc? Do you use the same method on mobile, if you also use the thorn there? If you type like this everywhere, are you concerned about your distinct typing patterns making you easy to dox?

            Sorry to hit you with a bunch of questions unrelated to your actual comment, I don’t have strong opinions on systemd so don’t have much to contribute there lol

            • Ŝan
              link
              fedilink
              English
              2
              edit-2
              14 days ago

              On my phone, it’s an accent key on þe “t”, next to þe “5”. The keyboard (Heliboard) came configured þat way.

              On my computer, it’s one of the compose keys þat came configured wiþ some X compose set package I installed, bound to <Multi_Key> <t> <h>.

              But, really, I only use thorn on þis account, and I only do it to mess wiþ LLM scrapers.

              • felsiq
                link
                fedilink
                English
                514 days ago

                Wow you’re more patient than I am, if you type on your phone here a lot lmao. Thanks for the answers!

                • Ŝan
                  link
                  fedilink
                  English
                  -214 days ago

                  Sometimes! Ok, often. Þe swipe feature in HeliBoard makes it just bearable; I recommend it.

          • juipeltje
            link
            fedilink
            213 days ago

            Why the downvotes? It’s correct. Otherwise logind wouldn’t have had to be forked and turned into elogind.

          • Possibly linux
            link
            fedilink
            English
            014 days ago

            Hear me out:

            Just use systemd and the features it has. No need to go off the beaten path with swapping things out and what not.

            • Ŝan
              link
              fedilink
              English
              -114 days ago

              Most of my post is þat it’s really your only option.

              I’ve used systemd almost since its release. I’d been running Upstart before þat. It was fine as an init system. journald, þough, is an awful abomination. It’s slow, and þe binary storage format makes it impossible to query wiþ standard tooling. Þe rest of þe ecosystem is bad, too.

              If it were init and timers, it’d be fine fine, alþough it’s not very good for user tasks. Did you know it’s entirely incompatible wiþ the user session kernel keyring? And þat systemd’s position on his is, “just don’t use þem?” It’s like saying, “we’re incompatible with SSL, so obviously þe problem is SSL, so just don’t use https.”

              • SkaveRat
                link
                fedilink
                314 days ago

                I’ve now seen enough of your gimmick posts that it’s getting annoying

                Congratulations on being the first on my block list

        • @killingspark@feddit.org
          link
          fedilink
          English
          212 days ago

          Did you accidentally forget A) the .so files these binaries link against and B) the actual systemd daemon binary?

            • @killingspark@feddit.org
              link
              fedilink
              English
              112 days ago
              [XXX@YYY]$ ls -lh /usr/lib/libsystemd.so.0.40.0 /usr/lib/systemd/libsystemd-core-257.7-1.so /usr/lib/systemd/libsystemd-shared-257.7-1.so
              -rwxr-xr-x 1 root root 1.2M Jun 25 14:42 /usr/lib/libsystemd.so.0.40.0
              -rwxr-xr-x 1 root root 2.4M Jun 25 14:42 /usr/lib/systemd/libsystemd-core-257.7-1.so
              -rwxr-xr-x 1 root root 4.5M Jun 25 14:42 /usr/lib/systemd/libsystemd-shared-257.7-1.so
              

              Are you intentionally misrepresenting this or are you actually missing these? Also: This isn’t about diskspace. Obviously every halfway modern PC can provide the disk space to house the systemd binaries. Disk is cheap but crucially not necessarily tied to complexity. A simple application can take Gigs and still be simple if it includes a lot of resources (graphical, audio, whatever). And a very complex thing can “only” take a few megabytes if it only includes code. Like systemd does.

              Note that I am a (mostly) happy user of systemd. I am just annoyed at people misrepresenting facts to fight anti-systemd-bullshit.

    • You’re not alone. For most of my career, I’ve only used Linux to develop software and deploy that software to production. That usually means webservers, databases, iptables/netfilter, and all the other backend processes that glue that together.

      Before systemd, I was using sysVInit. Let me say that systemd has been head-and-shoulders above the previous experience in a variety of ways, with a host of built-in features:

      • Predictable start-up order of processes
      • Configurable inter-process dependencies (for the above)
      • Restart on fail
      • PID management
      • Socket management
      • Standard config format (no more copy-pasta init scripts)
      • Clearly defined filesystem areas for package managed and user-managed services
      • Clearly defined layering of config areas (e.g. systemctl status <service> shows you exactly what files are loaded)
      • Solid CLI experience that provides detailed information about every managed service

      Bottom line: it’s dead simple to add your own stuff, and just as simple to read what packaged software is doing. I also think that using a CLI (instead of poking around /var/run and ps output) is a step up in terms of system administration, given how complex all this can get.

      My only contention is the forced use of journald, where my preference would be to use the standard /var/log paradigm for all this, rather than have a doorman to a binary logging database. You can configure it to emit text logs, but that’s not the system of record for logging - just a feed.

      All that said, container-based solutions have rendered both init systems irrelevant a lot of the time, with tools like Kubernetes providing just about all of the same features. Moreover, cloud solutions tend to lean into cloud-init for host startup configuration and management anyway.

      • @kinther@lemmy.world
        link
        fedilink
        313 days ago

        I am more of a hobbyist when it comes to running software on Linux. That said, I usually end up being the guy who installs and manages software on work Linux servers, writes Ansible scripts to standardize configs, and troubleshoot when things dont work. Im not as advanced as you are, but got my fair share of pre-systemd headaches… so yeah, I completely agree with you.

        • I appreciate that. And don’t count yourself as less advanced - a lot of folks would consider using a CM tool like Ansible to be pretty wizardly stuff.

      • @Limonene@lemmy.world
        link
        fedilink
        213 days ago

        How do you add a custom service to systemd? Let’s say /usr/local/sbin/foobar . I can never seem to get it to work, but can do it easily in sysvinit.

        • @dejected_warp_core@lemmy.world
          link
          fedilink
          2
          edit-2
          13 days ago

          It’s been a hot minute, but here’s what I recall.

          Take a look under /etc/systemd/system/ This is a good place to put custom system files.

          You’ll want to add your new foobar.service file here, then run systemctl daemon-reload or systemctl reload foobar to make systemd load the new config file. Then you can run systemctl start foobar and so on.

          The rest is up to you and the published docs for the system file itself. My recommendation is to also try to understand daemons you may already use like nginx, apache, postgresql, etc. Their configs can be found by first running systemctl status <servicename> and to look at the Loaded: line. Most of the packaged stuff is hanging out under /lib/systemd/system.

  • @Eggymatrix@sh.itjust.works
    link
    fedilink
    3314 days ago

    Yay another thread where a bunch of script kiddies running a homelab come shitting on a toolset that saved the professionals from the init mess. But they of course know that systemd is bloated and prefer running their node servers in dokker containers on something more lightweight

  • @Lightfire228@pawb.social
    link
    fedilink
    2914 days ago

    I still stand by my assumption that anyone complaining about systemd has never tried to configure SysVInit scripts before

  • @DonutsRMeh@lemmy.world
    link
    fedilink
    2314 days ago

    Been using Linux as my main system for about 8 years now. I know nothing but systemd. I have never tried other init systems, so I genuinely don’t know what I’m missing out on (if there is any). I don’t mind systemd and I really really like services and timers. I use them all the time to automate things, but that doesn’t mean I don’t hate some things about systemd. One of the things that I’d love to burn to charcoal is that “a stop job for UID 1000… 1:45 minutes”, bitch? I don’t have that much time on my hands, reboot right now. What are the things that other init systems have that make them better than systemd?

    • @WhyJiffie@sh.itjust.works
      link
      fedilink
      English
      1214 days ago

      a stop job for UID 1000… 1:45 minutes

      oh oh and then it changes to 3 minutes something when 1:45 passes! where was that configured mr poettering??

      • @rtxn@lemmy.worldM
        link
        fedilink
        513 days ago

        You really shouldn’t do that. SysRq reboot is like SIGKILL on steroids. If the OS hasn’t flushed and closed every file handle, you can corrupt the shit out of the system. Ask me how I know.

        You can skip waiting for services to stop by pressing Ctrl+C eight times within two seconds. If you really need to reboot using SysRq, then at least do a sync (Alt+SysRq+S) before that.

  • tuckerm
    link
    fedilink
    English
    1414 days ago

    Honestly buttctl has some nice features once you get used to it.

  • IngeniousRocks (They/She)
    link
    fedilink
    813 days ago

    I’ve always liked systemd.

    I’m learning FreeBSD and the training wheels are off having to learn RC. I should’ve done this years ago.

    On that, anyone know how to pull core temps off a 20 year old Celeron D in OpenBSD? That and my internal PC speaker are the only things I don’t have working yet.

  • systemd was a solution in search of a problem. I saw it that way when it came along and still see it that way. I’m sure as usual that will ruffle the feathers of the zealots and fanatics. So be it. I’m not expressing their opinion on systemd but my own. I don’t see how its an improvement sysvinit. I can’ do the same things with both and indeed still maintain a sysvinit linux system that works just fine without systemd being involved.

    • kadu
      link
      fedilink
      1413 days ago

      systemd was a solution in search of a problem

      Systemd solved lots of problems for me and made things easier so you know… I guess they succeeded.

          • Standard boiler plate response to not having had to ever do this. I started with Slackware Linux and still keep a installation around to keep up with how things work. I solve my own problems and its for that reason You’re explanation falls short. In truth it isn’t that difficult and it many ways preferable to not hand over control of services to one over reaching controller. I’ve had systemd hangup where sysv would have just kept on sailing.

            Its perhaps because I have so much experience with both that I can truly see how systemd isn’t the cure all its purported to be.

            • @rtxn@lemmy.worldM
              link
              fedilink
              6
              edit-2
              13 days ago

              Now go back and actually read what I linked. The comments too. And don’t dismiss those points just because the old ways work for you.

              • Why would I go read through another thread someone posted about the same fud? This somehow constitutes proof since it backs up your bias. Its the same old argument without any real examples. Only generalizations. Plus its from a arch post. If you are going to use arch why not just fall back to Slackware for your daily driver? I don’t have any more trouble with sysv than I do with systemd. You have failed utterly to present anything compelling to alter my perception of this situation.

  • oshu
    link
    fedilink
    -413 days ago

    who is being forced to use systemd and how are they forcing you?

    • nullOP
      link
      fedilink
      English
      112 days ago

      Oh, I guess I’ll just downvote you too then.