89fb3efe59ec49bf870ade506d994d27fecd576d
[kill9.git] / harmful / software / systemd.md
1 # It is actually systemd/Linux!
2
3 Most people who hate systemd can elaborate on why they hate
4 systemd. But I can.
5
6 ## Privacy issues
7
8 There are a **lot** of conspiracy theories about systemd being spyware.
9
10 [systemd fallback to G\*\*gle DNS
11 servers.](https://isc.sans.edu/forums/diary/Systemd+Could+Fallback+to+Google+DNS/22516/) This is a very serious privacy issue.
12
13 This can be modified in the [`configure.ac`](https://github.com/systemd/systemd/blob/a083537e5d11bce68639c492eda33a7fe997d142/configure.ac#L1305) But i don't think you want to recompile systemd
14
15 BTW, why does my ***INIT*** software manage my DNS? I thought we had. emm.
16
17 * dhcpcd
18 * NetworkManager
19 * wicd
20 * connman
21
22 ## UNIX philosophy
23
24 >\>Make each program do one thing well. To do a new job, build afresh
25 >rather than complicate old programs by adding new "features".
26
27 According to
28 [this](https://linux.slashdot.org/story/19/05/25/0538206/systemd-now-has-more-than-12-million-lines-of-code)
29 systemd has 1.2 million lines:
30
31
32 ![What in the actual hell](/systemd.png)
33
34 There's also systemd-boot, systemd-crypt setup and probably much others
35 than **we** haven't discovered yet.
36
37 Here's a list of what systemd manages:
38
39 * [Gnome](https://blogs.gnome.org/benzea/2019/10/01/gnome-3-34-is-now-managed-using-systemd/)
40 [Extra](https://github.com/dantrell/gentoo-project-gnome-without-systemd)
41 * [Home directories](https://www.howtogeek.com/673018/systemd-will-change-how-your-linux-home-directory-works/)
42 * [Encrypted disks](https://manpages.debian.org/jessie/systemd/systemd-cryptsetup-generator.8.en.html)
43
44 ### X11 in systemd
45
46 Of course, [X11 was **completely**
47 necessary](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n783)
48 in PID 1
49
50 ### Ever wanted to connect to a remote systemd machine (using systemd)?
51
52 [Now you
53 can!](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n1500)
54
55 ### /etc/ bullshit
56
57 [If you run
58 systemd](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n1401)
59 with an empty /etc directory, `systemctl preset-all` (whatever that
60 does) is executed. to ensure a good "factory reset"
61
62 Really? I think that if someone is going to remove /etc is because a)
63 per's stupid or b) per's distro was already broken.
64
65 Also, why is this in the fucking init process?
66
67 #### `systemctl` edit command
68 [systemctl has its own editor, which is `$EDITOR` though, pretty useless since you just removed /etc.](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n689)
69
70 ### systemd-rfkill
71 It was something really necessary! My init system controlling if my
72 fucking wifi card is on or off! I don't know what i would do without a
73 process spawned by my kernel doing this...
74
75 ### Your init software manages your calendar and cron jobs
76
77 [Yeah, completely
78 necessary.](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n1044)
79
80 ### systemd stores tempfiles in a completely sane directory!
81 [Literally why?
82 ](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n1049)we
83 literally have /tmp and /dev/shm, fucking `systemd-tmpfiles` was completely unnecessary
84
85 ### systemd does not know what FastCGI is
86
87 [Thank you systemd](https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n166)
88
89 <hr> Being systemd so fucking big, it could crash in any second. And
90 since systemd is PID 1, if it crashes, the kernel would panic.
91
92 GNU's not UNIX! so why would it have to follow the UNIX philosophy?
93
94 Because it is UNIX like!
95
96 ## Serious issues
97
98 * [You can accidentally remove /](https://github.com/systemd/systemd/issues/5644)
99
100 * [L\*nnart thinks we cannot `useradd 0day`](https://github.com/systemd/systemd/issues/6237)
101
102 * [The very necessary cryptsetup repleacement don't work](https://github.com/systemd/systemd/issues/6381)
103
104 * [They don't know how to use getopt](https://github.com/systemd/systemd/issues/1596)
105
106 ## Logs
107
108 **systemctl** uses its own format (binary BTW) to logs the shit, and you have to
109 use **journalctl** (can't use less/more/cat/whatever) to see what's going on.
110
111 At least, there's /var/log. But not all software use that
112
113 ## Alternatives to systemd
114
115 Good luck!
116
117 * runit
118 * sinit
119 * SysVinit
120 * Seppherd
121 * cinit
122 * OpenRC
123 * Anything that is not systemd. for satan's sake
124
125 Anyways, good distros without systemd are gentoo, void and
126 slackware. Consider BSD too!