Jak mi systemd zaplnil disk

S GNU/Linuxem funguji již pěknou řádku let. Kdysi jsem si jej nakonfiguroval, přešel přes několik distribucí a již docela dlouho jsem zakotven u Fedory a CentOSu. Konfiguraci základních věcí jsem obvykle přenášel mezi distribucemi, stejně tak jako adresář /home/. Trochu mě pozlobil systemd a jeho souputník journald, které jsou standardní součástí posledních několika verzí distribuce Fedora (tedy nejen té).

Co jsem však neuhlídal a doteď neřešil byl přechod na systemd. Někdo se asi teď pobaví, ale prostě jednoho krásného dne, s aktualizací na novější Fedoru, byl původní init nahrazen novějším systemd, vše fungovalo, tak jsem to dále neřešil.

Po (delším) čase mě systém začal upozorňovat na nedostatek místa na disku (konkrétně v oddíle připojovaném na /). Chvilku jsem hledal a v adresáři /var/log/journal/0728ff87505540ecaf91e6c2d112601b/ bylo pekelně mnoho souborů. Potvrzení přišlo záhy:

journalctl --disk-usage
Archived and active journals take up 7.2G on disk.

Systémovou partition mám relativně malou (~30 GiB), disk s home je jiný. Nemusím mít nainstalovanou polovinu existujícího software pro GNU/Linux, od roku 1997 jsem si vybral software, který stabilně používám.

Další krok byl jasný, podívat se na konfiguraci systemd. A hle, zakomentovaný řádek v /etc/systemd/journald.conf, jímž se nastavuje mez pro velikost logů. Systemd, respektive journald si mohl uchovávat takřka nekonečné množství dat. (Přesněji řečeno, zakomentovány byly všechny předvolby.)

Po nahlédnutí do dokumentace bylo vše zřejmé, v konfiguraci jsem nastavil:

SystemMaxUse=50M
SystemMaxFileSize=350M

Nakonec jsem pročistil velmi staré logy journalctl --vacuum-size=20M.

„Jak prosté milý Watsone.“

BTW:

Paradoxně mám štěstí, že jsem takto narazil na domácím produkčním desktopu a nikolivěk na některém ze serverů. Tam by mohly nastat nemalé škody.

V rámci jednoho nedávného projektu jsem řešil využití systemd místo cronu. Exkolega měl stejně potřebu na server nacpat cron, zbytečně jedoucí démon.

Nemám averzi vůči systemd, zatím jej znám okrajově a nevyužívám jeho možností.

Flattr this!