• Redjard@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    6
    ·
    23 hours ago

    I need systemd-run to start a process in my startup scripts (that are a systemd oneshot service) so that the process won’t get killed when the startup scripts have run (subshells, nohup, … still keep the same systemd cgroup so get killed with the tree).
    I need journalctl to get output from services, so basically every system and user process I didn’t explicitly start in a console. I don’t even know how to get info from systemd stuff in any other way, as they don’t have alternate logging facilities to my knowledge.
    Systemd also ate my fstab at some point and translates mounts into services, but I haven’t really looked into that.

    I think there were a few more components packed into this systemd core. Without the init system/servixe manager, logging, … you can’t really use systemd stuff including parts of that core.

    Past that, things like networkd, resolved, … are very modular in my experience.
    I can imagine running resolved under a different init system, and I have migrated both to and from resolved on systemd systems. They do still change old paradigms, resolved replaces a file not a service for example, but they do provide adequate translation layers and backwards compatibility in most cases (Though the mounts for example has lead to me getting 5 “run daemon-reload” info messages on every execution of mount before). An issue here might be when something only supports the new systemd interface not the old stuff, say a program directly calling resolved instead of looking at resolv.conf. But I haven’t seen that, and most of those interfaces seem decent enough to implement into systemd-alternatives.

    Maybe someome who actually tried cherrypicking some systemd stuff into their system can provide some more experience?

    • edinbruh@feddit.it
      link
      fedilink
      English
      arrow-up
      3
      ·
      21 hours ago

      Fstabs gets converted into temporary unit files every time systems reloads config files (reboot or daemon-reload) so you can just keep using it like you always did. Actually it’s the systemd suggested way to manage mountpoints unless you need something advanced that fstabs can’t do.

      • Redjard@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        2
        ·
        19 hours ago

        My problem is 1) how do I revert to dedicated mount, and 2) mainly that I want to edit fstab, and mount without having to reload systemd. Dedicated mount doesn’t need a reload, it simply pulls config from fstab at time of call.

        I also don’t see why you would ever want to reload service files due to editing fstab, it seems dumb in both directions. Those two systems should just be decoupled.

        • edinbruh@feddit.it
          link
          fedilink
          English
          arrow-up
          3
          ·
          15 hours ago

          Fstab is still there untouched, it’s the temporary units files that get replaced at reload.

          The mount program works as normally, if you edit fstab and then mount -a it will work as expected, it will just warn you that systemd is not aware of the change. It will reload it anyway at the next boot.

          daemon-reload is not daemon-restart, it just makes systemd re-read the configuration to make it aware of the changes, but the services don’t get restarted. Some services (e.g. nginx) can re-read their confuration without restarting, those services are also made aware of the changes when reloading and can be reloaded individually.

          You can edit any systemd units using systemctl edit so you don’t need to reload (fstab is not a systemd unit)

          • Redjard@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            2
            ·
            14 hours ago

            You probably mean daemon-reexec, which also does not restart services (it better not, would be really problematic if it did).

            I do mean reload, which has uses, otherwise it wouldn’t even exist and services would simply always reload: You may not want to reload yet, but keep a working state of service definitions in systemd while editing things, similar to typing away in a code file in production without saving yet.
            I don’t see why I would need to “save” all my service definitions to get a usable (non-spammy) mount back, especially when my mount isn’t even part of systemd. How does the message even get sent by mount when mount is not aware of systemd?

            PS: systemd can replace my text editor over my cold dead body

            • edinbruh@feddit.it
              link
              fedilink
              English
              arrow-up
              2
              ·
              13 hours ago

              It doesn’t replace the editor, it creates a stream and opens it in your default text editor. When you write out, it saves the stream to an appropriate drop in file