systemd's journal is designed to prevent this kind of tampering.
The journal file format is documented here and it describes its support for in-line Forward Secure Sealing:
Tag objects are used to seal off the journal for alteration. In regular intervals a tag object is appended to the file. The tag object consists of a SHA-256 HMAC tag that is calculated from the objects stored in the file since the last tag was written, or from the beginning if no tag was written yet. The key for the HMAC is calculated via the externally maintained FSPRG logic for the epoch that is written into epoch. The sequence number seqnum is increased with each tag. [..]
see Tag Object
What you can do is clear the journal with the log entries from the time before you fixed the service (e.g. you fixed it two days ago):
journalctl --rotate --vacuum-time=2d
Source: How To Clear The systemd journal Logs
- The first deals with how to truncate the logs, not how to remove a specific, single line.
- The second deals with how to remove lines on a per-unit basis, but not how to remove arbitrary lines.
- The third includes information on where the journal files are stored, but their format makes it impossible to parse through and find the specific line I want to remove.
– Ashoat Jul 11 '18 at 19:10grep -vout whatever I don't need, and then write all of the results to a new journal file. There is nothing technically preventing that from happening. It's just that there doesn't appear to be an existing tool to do the job. – Ashoat Jul 12 '18 at 03:00