I've recently learned that journalctl is occupying a big chunk of my 16GB SD card (Raspberry Pi):
$ journalctl --disk-usage
Archived and active journals take up 312.1M in the file system.
I don't feel that journalctl and journald are pulling their weight in my use case for this machine.
It's an old-ish RPi, and rsyslog is also running. I estimate my need for and use of journalctl is maybe "once in a blue moon". Consequently, I decided I would disable journald - which "feeds" journalctl. I assumed this would be straightforward, using systemctl to stop, or perhaps just disableing the systemd-journald.service so that it would not start on the next boot.
Before pulling the plug, I decided to do somee research. Instead of finding thousands of references that offered "how-to" advice, there were remarkably few results addressing my specific search term: "how to disable journald". Instead, the results mostly offered advice on reducing journald's resource consumption. I did find a couple of references that gave me pause:
An old thread in the ArchLinux forum suggested it was not possible to disable journald without repercussions; i.e. "Masking systemd-journald causes all kinds of dependency failures and drops you at an emergency prompt." But this post is now 10 years old...
The systemd-journald.service manual says, "stopping it [systemd-journald.service] is not recommended.". The documentation proceeds from there to discuss namespaces?
I've learned that the usual command to prevent systemd units from starting has no effect; i.e. it starts normally:
$ sudo systemctl disable systemd-journald.service
$ sudo reboot
... and after boot & login:
$ systemctl status systemd-journald.service
● systemd-journald.service - Journal Service
Loaded: loaded (/lib/systemd/system/systemd-journald.service; static)
Active: active (running) since Fri 2022-06-03 07:30:29 UTC; 1min 59s ago
TriggeredBy: ● systemd-journald-audit.socket
● systemd-journald.socket
● systemd-journald-dev-log.socket
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Main PID: 134 (systemd-journal)
Status: "Processing requests..."
Tasks: 1 (limit: 1598)
CPU: 820ms
CGroup: /system.slice/systemd-journald.service
└─134 /lib/systemd/systemd-journald
...
$
How can journald be disabled? ... or can it be disabled?
If not, why would the systemd developers force this on users? (OK, yeah - asking for an opinion, so forget that part of the question.)