Announcement

Collapse
No announcement yet.

Lennart Talks Up The Power Of systemd-sysext For Testing /usr Changes

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by skeevy420 View Post

    Standardization.
    That's exactly what this project provides. A push-button way to do it that works once and for all, everywhere and predictably. Not sure what you mean by the way, that a better way to standardise something is through another mess of ductape scripts?

    Comment


    • #32
      Originally posted by evert_mouw View Post

      The UNIX philosophy is not about RAM and CPU, not at all. It is about engineering, design, clean interfaces, avoiding complexity, not running into a dependency hell. Lots of it still applies in modern software engineering.

      https://homepage.cs.uri.edu/~thenry/...t/ch01s06.html
      The complexity argument has always been a strawman. Complexity is an inherent characteristic of a given problem, it can't be wished away. You can either tackle it head-on, which means absorbing it in the software, or you can deny it to keep the software falsely "simple", which means pushing it elsewhere (usually on the final user).

      Engineering has never been been addressed by the UNIX philosophy. In fact that philosophy has been almost entirely about ad-hoc hacks, afterthoughts, workarounds, ductape and 90% solutions to problems that shouldn't have existed in the first place (I'm looking at you, pid files). It's the same about what you call "clean" interfaces: what part of the UNIX interfaces can actually be described as clean? There is almost no formal specification of anything, there is no way to pass structured data anywhere (i'm not talking about streams of bytes that may or may not deserialise to something meaningful), there is no error management of any kind (errno doesn't count), there is no asynchronous notification, synchronisation is an unholy mess, etc. As for dependency hell, well here you have a project that has implemented a feature once and for all, so that it will always be there, ready to be used, and users and developers alike won't have to worry about dependencies. With the UNIX approach that doesn't provide any self-content integrated solution to any problem and everything requires a Rube-Goldberg assembly of bits and pieces held together by OS, distro and host-speciffic scripts, every day is a new excursion into dependency hell.

      So sorry but not sorry, it certainly doesn't apply to modern software engineering. In fact I can't think of a single modern piece of software developed according to the UNIX philosophy. There is probably a reason to that, wouldn't you agree?

      Comment


      • #33
        Originally posted by evert_mouw View Post

        I've created a few systemd unit files and yes I like it, but no systemd is not THE standard, and also goes contrary to the UNIX philosophy at times.
        Linux is not a UNIX, and UNIX isn't a single, coherent standard anymore either. Linux is UNIX-like, meaning that deviating from that if it promises additional features or comfort is fine.

        Systemd being a standard or not is debatable, but I think it is, since you encounter it in nearly all of the most commonly used private and enterprise distros and to the most part it behaves the same across said distributions.

        With the whole containerization boom and distros using immutable system images becoming more and more common, a plugin-/extension philosophy for the filesystem does make sense IMO.
        Last edited by kiffmet; 27 April 2022, 05:25 PM.

        Comment


        • #34
          Originally posted by kiffmet View Post

          Linux is not a UNIX, and UNIX isn't a single, coherent standard anymore either. Linux is UNIX-like, meaning that deviating from that if it promises additional features or comfort is fine.

          Systemd being a standard or not is debatable, but I think it is, since you encounter it in nearly all of the most commonly used private and enterprise distros and to the most part it behaves the same across said distributions.

          With the whole containerization boom and distros using immutable system images becoming more and more common, a plugin-/extension philosophy for the filesystem does make sense IMO.
          I would go even further: Linux was UNIX-like initially. The 1.x kernel series' APIs were modeled after POSIX and UNIX, and the use cases for the OS were those for an UNIX system. But that was a quarter of a century ago. Virtually every new kernel feature and API that has been implemented in Linux 2.0 and onwards (clone, eventfd, signalfd, CFS, namespaces, all the way to the big ones like cgroups/cgroups2, DRM and io_uring) have nothing to do with UNIX and are Linux-specific. Today, Linux is first and foremost the premier mobile and embedded OS, then a cloud OS and virtualisation platform, then a workstation OS (but a very different one from the UNIX workstations of the 90s) and then there also some *nix style servers that run Linux, but it hasn't been the primary focus of development for a long time. Linux has also a very different view of interoperability and multiplatform-ness than UNIX: While for UNIX, "portable software" means software that runs on SunOS, AIX, HP/UX etc. (and today the BSDs), Linux interpretation of portability usually means running on Linux and Windows, simply because those are the two platforms that together account for almost all of the world's computing.

          Comment


          • #35
            Originally posted by kiffmet View Post
            Systemd being a standard or not is debatable, but I think it is, since you encounter it in nearly all of the most commonly used private and enterprise distros and to the most part it behaves the same across said distributions.
            PS: There are official standards (documents that specify how something is supposed to work) and there are de-facto standards (tech that everyone uses). Official standards are not always relevant or useful (X.25, X.400 etc, anyone?) and de-facto standards are not always open and interoperable (MS Teams is an obvious example).

            Systemd is a de-facto standard but fortunately it is open and free.

            Comment


            • #36
              Originally posted by intelfx View Post

              "The dogs bark, but the caravan goes on"
              ...into the danger the dogs were trying to warn about.

              Comment


              • #37
                Originally posted by kiffmet View Post

                Linux is not a UNIX, and UNIX isn't a single, coherent standard anymore either. Linux is UNIX-like, meaning that deviating from that if it promises additional features or comfort is fine.

                Systemd being a standard or not is debatable, but I think it is, since you encounter it in nearly all of the most commonly used private and enterprise distros and to the most part it behaves the same across said distributions.

                With the whole containerization boom and distros using immutable system images becoming more and more common, a plugin-/extension philosophy for the filesystem does make sense IMO.
                Er - no you don't. The Linux kernel is used in a lot of small/embedded systems - for example SOHO routers where the resource usage of systemd might not be appropriate. In pure numbers, I suspect non-systemd use is still substantially greater. The world is not made up solely of desktops and servers. I don't think Android uses systemd either, which is a substantial user base of the Linux kernel.

                I don't want to make this into a fruitless systemd good/bad argument. I just wanted to point out that currently there are significant use-cases for the Linux kernel that don't also use systemd. Some people find systemd works for them. Others don't. The diversity of approaches is, at present, useful.
                Last edited by Old Grouch; 28 April 2022, 01:12 PM.

                Comment


                • #38
                  Originally posted by jacob View Post

                  That's exactly what this project provides. A push-button way to do it that works once and for all, everywhere and predictably. Not sure what you mean by the way, that a better way to standardise something is through another mess of ductape scripts?
                  You asked what this provided and I answered standardization. What's in bold is what I meant by standardization.

                  So, let me get this straight, you knew what it provided and asked anyways? Did I pass the test? Do I get to pass go and collect $200?

                  Comment


                  • #39
                    When will systemd swallow up the Linux kernel?

                    Comment


                    • #40
                      Originally posted by guglovich View Post
                      When will systemd swallow up the Linux kernel?
                      When it's written in Rust. <joke>

                      Comment

                      Working...
                      X