Skip Navigation

Posts
13
Comments
165
Joined
2 yr. ago

  • As I wrote below, the problem is that this does not comply with the principle of K.I.S.S. One application should solve one task and can be replaced. Even now it is quite difficult to remove systemd-logind, for example. Because, although these are different services, they have long merged into a huge tangle.

    I actually use systemd-boot because it’s very easy to install and configure and systemd-resolved, but for a lot of those I haven’t even heard about.

    you can use EFISTUB If you don't have dual boot. This literally load kernel from UEFI. I don't know more simple way. https://wiki.archlinux.org/title/EFISTUB

  • It also a use case. =)

    The documentation for systemd-nspawn itself says:

    systemd-nspawn — Spawn a command or OS in a light-weight container

    The developers themselves position the daemon as a simple alternative to LXD containers.

  • or maybe I didn't understand the question. If you about that change daemons to non systemd, then:

    systemd-boot -> grub, lilo, efistub

    systemd-networkd -> some system scripts (different for different distributions), netplan, NetworkManager

    systemd-resolved -> dnsmasq, bind, set directly on 8.8.8.8

    systemd-timesyncd -> chrony, ntp

    journal -> rsyslog

    systemd -> init.V, openRC

  • In fact, this is a difficult question.

    In Linux, it is usually customary to use the K.I.S.S. methodology, In any case, it was once customary to use it. This in some way meant that there were a huge number of applications performing exactly one task. For example, chron only started timers, ntpd only adjusted the time, grub only loaded the system and nothing else. It also allowed you to change the components at your discretion. With systemd this principle was somewhat lost, since one service with a huge number of its own daemons absorbs more and more functions. This is what causes concern. In some sense, if systemd at some point becomes even more monolithic, it will no longer be possible to change only part of its functionality. For example, I'm not sure if it's possible to disable journald and leave only rsyslog.

    On the other hand, the now-forgotten init.V fully adhered to the principle of K.I.S.S. since he was literally the initiator of a set of scripts that could contain anything. If you want, change the user at startup via exec, if you want via su. Isolate the application with any available program. It was as flexible as possible, but on the other hand, the entry threshold was quite high. The complexity of writing scripts for init.V was much higher than systemd.

    Therefore, there is no single answer. On the one hand, init.V have maximum modularity, on the other hand, systemd have ease of use.

  • As service manager systemd nice, but look all services:

     
        
    systemd + systemd/journal + systemd/Timers
    systemd-boot
    systemd-creds
    systemd-cryptenroll
    systemd-firstboot
    systemd-home
    systemd-logind
    systemd-networkd
    systemd-nspawn
    systemd-resolved
    systemd-stub
    systemd-sysusers
    systemd-timesyncd
    
    
      

    That's look as overkill. I use only systemd, journald, systemd-boot, systemd-networkd, systemd-resolved and systemd-timesyncd, but that a lot systemd. Feel like system make monolith.

    systemd-nspawn for example. Systems manager for containers. Seriously. Why than exists? I don't understand. Really, someone use that daemon?