December 18, 2025
Init wars: Season 259
systemd v259 Released
Goodbye old startup scripts, hello drama and memes
TLDR: Systemd v259 sets the stage for dropping old startup scripts and defaults to saving logs, while favoring newer security and networking tools. Comments swing between cheers for convenience and warnings of breakage, plus the usual 'is it bloat yet?' jokes and a plea to stop dev dogpiling.
Systemd v259 just landed—the Linux boot-time boss—and the comments went full popcorn. Headline change: those old System V startup scripts are on borrowed time, getting cut in v260; update to modern unit files or risk services not starting. Logs now default to saving to disk, firewall rules move from old iptables to newer nftables, TPM 1.2 support is gone, boot partitions get stricter, and big memory pages finally count toward app memory. Next release will also demand newer kernels and libraries.
Cue the drama. One fan cheered a clever new DHCP hostname trick—“Hooray.local”—as network setups get a tiny bit smarter. Skeptics fired the eternal meme: “Can it read mail yet?” with nods to Zawinski’s Law and jwz’s hacks, accusing systemd of becoming everything to everyone. A pragmatist admitted being “philosophically opposed,” yet conceded systemd wins because it makes setup easy; minimalist distros “demand more of the user.” Then came the doomsday warning: “All the services you forgot you were running… will fail to launch.”
And, of course, meta-drama: a plea to stop attacking Lennart Poettering under every thread. The vibe is pure tech soap opera—convenience vs purity, modernization vs breakage—served with jokes, eye-rolls, and a fresh wave of sysadmin anxiety.
Key Points
- •Support for System V service scripts is deprecated in v259 and will be removed in v260, including systemd-rc-local-generator, systemd-sysv-generator, and systemd-sysv-install.
- •Planned for v260: raised minimum versions (Linux ≥5.10 recommended ≥5.14, glibc ≥2.34, libxcrypt ≥4.4.0, util-linux ≥2.37, elfutils ≥0.177, OpenSSL ≥3.0.0, cryptsetup ≥2.4.0, libseccomp ≥2.4.0, Python ≥3.9.0).
- •The cgroup2 filesystem is now mounted with memory_hugetlb_accounting, counting HugeTLB memory toward cgroup memory controller usage.
- •The journal’s default storage mode is now persistent; NAT rule creation via iptables/libiptc is dropped in favor of nftables for systemd-networkd and systemd-nspawn.
- •TPM 1.2 support is removed from systemd-boot and systemd-stub; XBOOTLDR partitions must use VFAT when automatically dissected; LUKS labels now default to a "luks-" prefix.