PEACEFUL systemd thread - GNU/Linux

Users browsing this thread: 1 Guest(s)
z3bra
Grey Hair Nixers
So I think most people in there would argues that systemd is a shitty software. It might be, but in most discussions I came across regarding this topic on IRC, I found myself to be in the position to defend systemd, because most people arguments are badly expressed, or simply false.

I would like to start a PEACEFUL and comprehensive discussion about systemd there, in order to help people construct a relatively well-though opinion.
To do so, I think the way to go is to limit ourselves to technical arguments ONLY, and for each arguments against systemd, one one should provide at least one argument in favor of this feature.

Because I tend to be pretty vague, and have difficulties to explain what I want, I'll start by one of the first thing that bother me with systemd: binary logging:

systemd replaces syslog by translating kernel logs into its own format, that is saved in binary data, and accessible through a tool named 'journalctl'.
Logging in binary form sucks for me, at it prevent you from investigating with standard tools, accessing logs through a single file sitting in /var/log. it means that you NEED a tool that can read these logs if you want to investigate them. Standard tools made to operate on text streams won't suffice. Binary data can also be corrupted easily. Add 1 byte padding, and the whole file might become unreadable (I hope they have a mchanism to prevent that, but again it add complexity over something that was pretty simple). Text files can't really get corrupted, as if you add garbage in the middle of a text file, your eyes can simply just ignore that part and continue reading after that. Hopefully, there is a way to forward journald logs to syslog, that will process them in text form, and write them back to files in /var/log. This is just not efficient and coherent at all, as the logs will go this way:

Code:
[kernel]---text--->[systemd]---binary--->[journald]---text--->|syslog]---text--->[/var/log]

So much useless step and conversion, giving it even more possibility to corrupt data.

The reasonning behind this decision might make sense though, as it was done to give the possibility to "structure" the logs, and sort them in an easier manner by the logger. Like, imagine the binary format written looks like that:

Code:
struct log_entry {
    uint32_t datetime;
    uint8_t criticity;
    char *hostname;
    char *program
    char *entry
};

For systemd, reading such a structure is easier, more efficient, and more reliable than parsing a text log entry.
It provides a simple mechanism to search, order and classify logs, which could be real helpful in some situations.
Binary data is also way easier to deal with in terms of code, making systemd "simple" in this case (not real code here, but that's what I'll do if I was Lennart):

Code:
f = fopen("binary.log", "a+");
TAILQ_FOREACH(log, headlog, entries) {
    fwrite(log, sizeof(struct log_entry), 1, f);
}

Same goes for reading... Pretty simple! Sadly, I doubt systemd would do it in such a simple, and lovely way, thus killing the whole advantage of doing so.
BANGARANG, MOTHERFUCKER


Messages In This Thread
PEACEFUL systemd thread - by z3bra - 30-10-2016, 05:49 AM
RE: PEACEFUL systemd thread - by jkl - 30-10-2016, 01:05 PM
RE: PEACEFUL systemd thread - by pranomostro - 30-10-2016, 05:17 PM
RE: PEACEFUL systemd thread - by venam - 31-10-2016, 03:43 AM
RE: PEACEFUL systemd thread - by z3bra - 31-10-2016, 10:03 AM
RE: PEACEFUL systemd thread - by evbo - 31-10-2016, 01:51 PM
RE: PEACEFUL systemd thread - by z3bra - 02-11-2016, 05:38 AM
RE: PEACEFUL systemd thread - by evbo - 02-11-2016, 03:17 PM
RE: PEACEFUL systemd thread - by z3bra - 03-11-2016, 01:07 PM
RE: PEACEFUL systemd thread - by TheAnachron - 03-11-2016, 01:45 PM
RE: PEACEFUL systemd thread - by josuah - 03-11-2016, 03:11 PM
RE: PEACEFUL systemd thread - by pranomostro - 03-11-2016, 03:32 PM
RE: PEACEFUL systemd thread - by z3bra - 15-06-2017, 06:16 AM
RE: PEACEFUL systemd thread - by azk - 15-06-2017, 10:06 AM
RE: PEACEFUL systemd thread - by evbo - 15-06-2017, 12:32 PM
RE: PEACEFUL systemd thread - by z3bra - 15-06-2017, 02:35 PM
RE: PEACEFUL systemd thread - by venam - 15-06-2017, 02:49 PM
RE: PEACEFUL systemd thread - by z3bra - 15-06-2017, 03:36 PM
RE: PEACEFUL systemd thread - by venam - 15-06-2017, 03:51 PM
RE: PEACEFUL systemd thread - by z3bra - 15-06-2017, 04:02 PM
RE: PEACEFUL systemd thread - by venam - 16-06-2017, 01:01 AM
RE: PEACEFUL systemd thread - by z3bra - 16-06-2017, 05:00 AM
RE: PEACEFUL systemd thread - by venam - 16-06-2017, 07:14 AM
RE: PEACEFUL systemd thread - by z3bra - 16-06-2017, 02:14 PM
RE: PEACEFUL systemd thread - by grah - 26-02-2019, 11:50 PM