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 disable
ing 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.)