I use plasma, BTW

  • loo
    link
    fedilink
    English
    arrow-up
    26
    ·
    1 year ago

    I don’t even know what systemd is ☠️

    • vettnerk@lemmy.ml
      link
      fedilink
      arrow-up
      19
      ·
      edit-2
      1 year ago

      Oversimplified: It’s the service that handles starting and stopping of other services, including starting them in the right order after boot. Many people hate it because of astrology and supersticion. Allegedly it’s “bloated”. But still it has become the standard on many (most?) distros, effectively replacing init.

      I like init. It’s simple. I like systemd as well. It’s convenient. Beyond that i don’t have very strong feelings on the matter.

      Also, see important answer by topinambour-rex.

        • vettnerk@lemmy.ml
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          1 year ago

          Now that you mention it, I find systemd messing with my DNS settings incredibly annoying as well, so I can’t help but agree on that point. At this production system at work, when troubleshooting, I often need to alter DNS between local, local (in chroot), some other server in the same cluster, and a public one. This is done across several service restarts and the occasional reboot. Not being able to trust that resolv.conf remains as I left it is frustrating.

          On the newest version of our production image, systemd-resolvd is disabled.

    • cally [he/they]@pawb.social
      link
      fedilink
      English
      arrow-up
      13
      ·
      1 year ago

      • systemd is an init system commonly used in distros like Linux Mint, Arch, Manjaro, Ubuntu, Debian, etc.

      • init systems have a process id of 1 and manage services like a login manager, network, firewall service, etc.

      • a process id is assigned to every process in a linux system.

      the average user usually doesn’t worry about the init system, although more experienced/techy users may care about it.

        • dan@upvote.au
          link
          fedilink
          arrow-up
          7
          arrow-down
          1
          ·
          edit-2
          1 year ago

          Or, asked another way, does systemd load the Linux kernel, and if not, what does?

          Immediately after the BIOS/POST, the first thing that starts is the boot loader. This is usually a piece of software called GRUB. There’s a part of GRUB in the Master Boot Record on the drive, that the loads the rest of GRUB from /boot. /boot has to be a basic partition so that the MBR code can mount it, so for example if you use something a bit fancier (like LVM) then you’ll usually have a separate small ext2 or FAT partition just for /boot.

          GRUB shows a list of available kernels, and other operating systems (if any are installed), based on a config in /boot.

          Once you select a kernel to boot (or wait a few seconds for it to automatically choose the default option), it starts loading the kernel. There is a small disk image called the “initial ramdisk” in /boot, usually with a name like initrd or initramfs. This is a small ramdisk that contains all the drivers needed to mount your root partition - for example, drive drivers (NVMe, SATA, etc), file system drivers (ext4, ZFS, XFS, etc), LVM, RAID drivers if needed, and so on. If the root disk is on an NFS network share (not as common any more, but still doable), it also needs to contain network drivers for your network card. It also contains a few basic utilities, usually provided by BusyBox.

          Some Linux distros (such as Debian) build a custom initramfs, whereas others (like Fedora) have a generic one containing all possible drivers.

          The initial ramdisk then mounts the root partition and hands control over to the Linux kernel, which starts actually booting the OS. The very first process the kernel starts running is the init process, which these days is usually systemd but can be a different one like sysvinit or runit.

          Hope that helps :)