Originally posted by You-
View Post
Announcement
Collapse
No announcement yet.
GNU Shepherd 0.5 Init System Released
Collapse
X
-
Originally posted by Vistaus View PostDoes 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 )
- Likes 1
Comment
-
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.
- Likes 4
Comment
-
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.
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
- Likes 2
Comment
-
Originally posted by plonoma View PostCan 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?
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
- Likes 3
Comment
Comment