Announcement

Collapse
No announcement yet.

GNU Shepherd 0.6 Released - Adds Support For One-Shot Services

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

  • starshipeleven
    replied
    Originally posted by uid313 View Post
    If I can just run one command to turn on socket-activation for a service.
    yes https://www.systutorials.com/docs/li...temd-activate/

    Leave a comment:


  • starshipeleven
    replied
    Originally posted by uid313 View Post
    I am using systemd, but I wish it would have socket-activated daemons. Maybe it does have that, but I don't know how. I wish it was simple and easy.
    As an occasional PHP web developer, I have Apache installed, but don't want it to get started on boot, only when my web browser connects to it.
    You have asked this already in the past, you already got answers.

    Leave a comment:


  • F.Ultra
    replied
    Originally posted by caligula View Post

    Cool story bro. You've now benchmarked some std libraries.
    So Rust can only do static linking?

    Leave a comment:


  • blackiwid
    replied
    I think you all making fun of it is as bad as the Systemd Hater that attack Poettering and talk about non-unix and all that bullshit.

    1. of all systemd does not support GNU/Hurd, sure the relevance of this project is small but it exists and for scientists it's a interesting project.

    2. Shepherd is not supposed at least at this point to compete systemd in that way that it has the goal to replace systemd everywhere, but it has a niche for GNU/GUIX users.

    You should first make fun out of Nixos and Guixos before you make fun out of Shepherd. Shepherd makes much sense if you use those distribitions especially with GuixOS because then you can configure your whole system in Guile and don't have to switch forth and back between different languages.

    Also Guile has the advantage that you don't have to compile everything but can dynamically reload changes at least in theory not so sure about how that works with Shepherd.

    3. I find nothing about posix compatibility of systemd, it seems very linux specific Shepherd at least claims that it should be easy to deploy on all posix systems.

    4. it enables people that are not hardcore system developers that love to manually allocate and deallocate memory and not have a big compiling system to change it.

    High level languages in software has advantages, yes it also has sometimes disadvantages as example with python you would have a slow system, but I am not sure about Guile specific but most lisp implementations are very fast compared to python and even C, so you have the best of both worlds high level programming and fast speeds.

    That seems cool features:
    - contrast to systemd, a userspace shepherd process runs as that user
    - concept of the extension, a form of composability where services are designed to be layered onto other services, augmenting them with more elaborate or specialised behaviours as desired
    - even I am not 100% sure what that means but because of varadic function support it seems to be more secure than systemd, the C language is very insecure it allows developers to write code that is insecure that is not possible in Lisp. Lisp protects developers to some degree form adding security holes (so does many languages that are not C):

    the CERT Coordination Center considers variadic functions in C to be a high-severity security risk.

    well here you can read the rest:


    It has at least many features that systemd does not have and that are mostly language specific possibilities that can't be implemented in C, like you can't just dynamically rewrite services, that are language features.

    And because it's "highly programmable by the system administrator" you can scaffold much faster new functionality and test out new features that you then maybe partially slowly backport it to systemd.

    So I would be a bit slower in just attacking Shepherd or make fun of it, if you don't have any idea what it is and what features it has and most don't even know how powerful and superior lisp is especially for the programmer that can edit source code as a code tree instead of manipulating the code char by char manually.

    Especially because there was never any hostility from this projects towards systemd that I have noticed at least I don't see why we should attack / make fun of a alternative.

    Leave a comment:


  • uid313
    replied
    Hmm, it seems rather tricky.
    I wonder if Apache, Lighttpd, nginx, MariaDB and PostgreSQL have such files included by default of I have to create them myself.
    If I can just run one command to turn on socket-activation for a service.

    Leave a comment:


  • caligula
    replied
    Originally posted by wswartzendruber View Post

    I just did an experiment writing the shortest program that returns 1, in both C and Rust. I used level 2 optimizations.

    C (GCC): 18 KB
    Rust: 255 KB
    Cool story bro. You've now benchmarked some std libraries.

    Leave a comment:


  • wswartzendruber
    replied
    Originally posted by caligula View Post

    GNU uses the standard bloat(tm) compiler, which is actually a multi-language meta-compiler. It compares various languages and frameworks and picks the one that consumes most space for no reason. For example, their unit test suite compiles 1000 implementations of /bin/true and wisely abandons all alternatives that produce binaries smaller than 30 kB. The /bin/true 2.0 will include mouse (gpm) and Xfree86 support.
    I just did an experiment writing the shortest program that returns 1, in both C and Rust. I used level 2 optimizations.

    C (GCC): 18 KB
    Rust: 255 KB

    Leave a comment:


  • caligula
    replied
    Originally posted by wswartzendruber View Post
    So is this new thing written in Rust?

    *hides*
    GNU uses the standard bloat(tm) compiler, which is actually a multi-language meta-compiler. It compares various languages and frameworks and picks the one that consumes most space for no reason. For example, their unit test suite compiles 1000 implementations of /bin/true and wisely abandons all alternatives that produce binaries smaller than 30 kB. The /bin/true 2.0 will include mouse (gpm) and Xfree86 support.

    Leave a comment:


  • skeevy420
    replied
    I'm gonna go get some popcorn and a ten foot pole, BRB

    Leave a comment:


  • wswartzendruber
    replied
    So is this new thing written in Rust?

    *hides*

    Leave a comment:

Working...
X