Systemd is incredibly versatile and most people, including myself, are unaware of its full potential. Despite its usefulness, it is often overlooked due to controversy and the current state of things when it comes to software development. Begin today your journey thought Systemd's capabilities and d...
After a few conversations with people on Lemmy and other places it became clear to me that most aren't aware of what it can do and how much more robust it is compared to the usual "jankiness" we're used to. In this article I highlight less known features and give out a few practice examples on how to leverage Systemd to remove tons of redundant packages and processes.
Especially for homelab owners:
Have you ever felt like there might be something wrong with your current approach to installing and managing your services? Have you figured out how massively bloated systems are becoming with Docker and tons of little "helpers" that at the end of the day have dependency issues, are hard to understand and modify? Maybe you just want to squeeze a few extra miles out of a memory-tight system such as a Raspberry Pi. Deep learning Systemd will give you an edge and a better understanding about how your systems work and improve your workflows.
Nice article, I'll have to go through that again on my next clean build.
There are some features though, like timesync, that aren't quite as cut & dried, so I do wish systemd was more modular and I could only install the part(s) I wanted
But, interesting about the containers... I didn't know that - thanks!
If you need to sync and provide time, then use ntpd.
Otherwise, the (SNTP) client-only systemd-timesyncd is "better", but, this doesn't (yet?) use a DHCP NTP option and always writes to a file - not good for read-only filesystems / SD cards (source)
For laptops / intermittent network connections, use chrony (Note: on LinuxMint, installing this removes systemd-timesyncd)
For non-battery backed RTCs (ie Raspberry Pi), there's also fake-hwclock
So, I go with the general theme of your article - keep it simple, don't install multiple tools to do the same thing - but as you can see, there are use cases where I personally wish we could remove the systemd component(s) and keep the others.