Announcement

Collapse
No announcement yet.

GNU Shepherd 0.5 Init System Released

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

  • #11
    Originally posted by You- View Post
    Does it use the same syntax style as systemd?
    No it isn't, it uses Guilebut someone was working on something similar but I don't know if this has been done: https://www.gnu.org/software/guix/bl...x-hpc-interns/

    Comment


    • #12
      This is just cool... Already fed up with systemd's "stop/start job is running for blah-blah 1:30" message...

      Comment


      • #13
        How does this compare to OpenRC?

        Comment


        • #14
          Originally posted by Vistaus View Post
          Does anyone use this? Yes, I know, I'm not always so keen on seeing these kind of questions, but in this case, I never hear anything about Shepherd outside of Phoronix as everyone is talking about SystemD and whatnot. So does anyone use this and if so, what is their experience? (I'm not going to use it, but I do like to hear experiences )
          I ran GuixSD in a virtual machine for a while just to try their Guix package system and Shepherd init, and it worked fine but I wasn't doing anything fancy with it - just running ssh and a browser. I'm not aware of any other Linux distribution that has adopted it. From the few videos and presentations I've seen by GuixSD contributors they do use it directly on their laptops, so either they're all masochists or it's pretty stable.

          Comment


          • #15
            I think the real question is why does GuixSD use that and not Systemd, And what is guix, and how does it relate to the similar distribution NixOS.

            So Nixos and GuixSD are both "funktional atomic distributions" which means they have no state at least mostly. That means that you have a central config file, that you then can migrate your current system to.

            That means that the config files also for systemd gets dynamically read-only created from the central configuration file (which you can split up of course if you want).

            So you never interact with systemd directly if you want to configure it (except it's user based stuff). So as example how the service files look like does not matter as much as with a normal distribution.

            Then with GuixSD you have the speciality that this config is written in guile, so that's one reason it's good to have a init system that is also written in guile. It's easier to write a package in guile that will create a guile config. People that are into lisp like me, really are passionate about it, and it's even a completely different way of thinking as example in lisp I think you code more from bottom up than in other languages (not sure). But also about tooling, you have complete different tooling in lisp than in what I call C-style normal languages.

            So that's one reason to nut use Systemd. One Language for everything I thought it's more portable to Arm but Systemd aperently works under Arm. but it only works with linux.

            But it should work as long as your platform is posix like and has a guile interpreter. So as example there is a guile package for freebsd so it should be pretty easy to port shepherd to freebsd.

            Another advantage is that it's a interpreted process, and because lisp is mostly used in a functional way, so it should be easy to reload parts of it on run time. While Systemd is written in C so if you want to chance something on its code you have to compile the whole monster.

            that makes improving and even some system administration tasks faster and easier with Shepherd, at least theoretical.

            Comment


            • #16
              Composing system services in GuixSD or how we came to wonder what a "system service" really is


              Comment


              • #17
                Can Shepherd use systemD files to boot and run a system?
                Can Shepherd boot and run a system only using systemD files?
                Can systemD files used by Shepherd, thereafter be used by systemD?

                Comment


                • #18
                  Originally posted by tildearrow View Post
                  Typo:
                  Is that really a typo?

                  Comment


                  • #19
                    Originally posted by gens View Post
                    > Could you explain more what does an init do "implicitly" besides service management? I always thought init and "service manager" were more or less the same.
                    Things like setting the PATH, making the loopback device, mounting various virtual filesystems like /proc, making directories in transient directories like /run, initializing /dev/urandom with a seed, etc.
                    Sorry, but a init (as in traditional definition, not systemd definition) just manage services/programs and takes care of the runlevel switch, all that extra things are set by those services programs. Even in slackware (that i use, so i know it very well), the initd reads the inittab and starts the rc.S and the rc.[0-6] scripts (depending of the target runlevel) and that will start all the bsd like scripts to setup all the machine environment

                    So a init is very simple and offload more complex things to the scripts/services/programs that it loads. BSD scripts are somewhat simple (see slackware), but sysv those scripts grew too much and became too complex and slow. Systemd tries to solve that by importing all the duplicated complexity and set the service config as a simple config. But they then tried to rewrite the world and grew too complex again... upstart did just the step of simplify and organize the init, but stopped there. Openrc the same thing. shepherd look like another attempt to do a initd upgrade and keep it simple, as upstart and openrc

                    Comment


                    • #20
                      Originally posted by plonoma View Post
                      Can Shepherd use systemD files to boot and run a system?
                      Can Shepherd boot and run a system only using systemD files?
                      Can systemD files used by Shepherd, thereafter be used by systemD?
                      so you want systemd!

                      while could be possible do do a init that reads systemd files (they are called unit files btw)... why not use systemd only without all the other trash?
                      As far i could see in the manual, shepherd uses their own config files... probably a script could convert those, when possible

                      Comment

                      Working...
                      X