• neidu3@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      3 months ago

      I like this answer: short and accurate enough.

      systemd handles a lot more than starting/stopping things, but that’s the core of it. It is used by many (most?) up to date linux distros, but some stick to the older and simpler initd.

  • SpikesOtherDog@ani.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 months ago

    It manages your services at boot and allows you to start and restart them. If the HAL is the buffer between the kernel and the hardware, then systemd provides a layer between the kernel and the user/services. It’s a super generic answer full of holes, but it’s easy to start with

  • tychosmoose@piefed.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 months ago

    The https://systemd.io/ main page has a pretty succinct answer to this:

    systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system.

    systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, maintains mount and automount points, and implements an elaborate transactional dependency-based service control logic.

    Other parts include a logging daemon, utilities to control basic system configuration like the hostname, date, locale, maintain a list of logged-in users and running containers and virtual machines, system accounts, runtime directories and settings, and daemons to manage simple network configuration, network time synchronization, log forwarding, and name resolution.

    • Treczoks
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      3 months ago

      If someone has to ask what systemd is, do you expect him / her to understand this answer?

      • tychosmoose@piefed.social
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 months ago

        Not every term, certainly. But the first paragraph is a good at describing the primary purpose. And the last paragraph shows the breadth of services provided. I shared it thinking it could be the basis for further learning, or exploration of the project website to go and read more about it.

  • kyub@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    17 days ago

    If “service manager” doesn’t ring a bell, think of it as a “manager of background tasks/applications”. Some applications which only run in the background as background processes are called “services” (sometimes also called “daemons” or simply “servers”), and systemd offers ways to create/start/stop/restart/manage/introspect those, as well as configure how and when they start, what permissions they have when starting, and things like that. It basically replaced very old tools like “inetd”.

    The other main part of systemd is that it’s an init system, which means that it’s meant to be started as the very first process (PID 1) by the kernel during startup, and it then launches all the other processes/services which need to run before you even get to log in. Compared to the old sysv-init system which systemd basically replaced, systemd is faster and much more featureful and modern.

    systemd also has a lot of other more optional components (it’s a big bundle of system tools, altogether). Whether these are used is up to the administrator or the distribution which might preconfigure them (or not).

    As usual in the open source world, there are alternatives for everything. You don’t technically need to use systemd, or you could just use some of systemd’s components and not others, but its main components are the default for most distributions nowadays. Some more niche distros pride themselves in not using systemd at all. But systemd is great overall (there’s a reason why most distros use it).