Date: Thu, 02 Jul 2020 18:17:47 -0500 Subject: Ubuntu rant [NSFW] I fired this off earlier to a(nother?) assemblage of curmudgeons, continuing a thread we were having about "apt-get" refusing to pull packages. [The answer to *that*? Make sure your RTC matches reality within an hour or so.] ==== Subject: Re: "apt" to fail Well, the deep deep ratholed joys of building/tuning a modern Ubuntu system continue apace. Having never really dug into the X and desktop environment stuff before, I've learned that there is no mask effective enough to filter out the *stench* that arises therefrom. Kde, xdg, xfce, lxde, openbox, freedesktop, gnome, gtk, Qt, WHICH IS IT ?? Answer: all of them at once, with dangling stubs from previous instantiations from when some enthusiastic young'n got the idea to rework all of it and stuff commits back up to github without any peer-review for sensibility, and now where do ANY of the init files live? All over the place. Are they stanza-driven? XML? Flat text? A sqlite database that was generated from some obscure package postinstall? Oh, and which pieces lives on which side of the "Dbus" boundary? How do I just make ONE fucking button in a toolbar to run a one-off shell script to kick something I need to? Good luck with that, maybe learn how to construct a .desktop wrapper and figure out where to drop it such that whatever window system is up and limping this week has any hope of finding it. Oh, syntax error, you have to insulate that with "sh -c" and by the way the comments at the top say you shouldn't be editing these config files directly, use the broken GUI tool that doesn't even offer the option of constructing anything like that. Fuck me with a broken Galliano bottle dipped in battery acid. Oh, and don't get me started on "systemd". Take a perfectly good /etc/rc file and smash it into 437 fragments... my fix for that, rather than spend hours giant-grepping for where that crap lives, has more than once been to drop "systemctl useless.service stop" lines and whatever else I need into a still viable rc.local that I know runs late in the boot process, and call it a day. A little selective disablement is still needed to prevent stuff from starting on external events, but so far that's been pretty minimal. NetworkManager is another part of that nightmare, but I'm used to that model on the Mac and keeping the GUI net-config functional might have some degree of value... just have to figure out how to put a well deserved stake through the (restartable?) heart of this MDNS and "bonjour" garbage. Vive le resistance, resolv.conf forever! That aside, though, any sage advice on minimizing writes to the SSD would be gladly accepted. I've put "noatime" in fstab, I told "journald" to shit into ramdisk /var/run instead of real storage, and cut down the level of what shows up in rsyslog. Most heavy caching like browsers is symlinked to more ramdisk under the conveniently provided /dev/shm. I edit almost all of my interim work in ramdisk areas and only save final product back out to storage [which, with NVMe modules, you can't really call "disk" anymore]. Oh, and SSD "trim" is basically counterproductive so *that* ain't happening. I've got a question in to Samsung if writing all ones to the device will really store as *no* gate voltage applied to MLC cells, i.e. if it's worth backfilling with 0xFF in the hope that the built-in drive GC will be moving more "non-programmed" blocks around and thus improving flash wearout lifetime. Still wondering about that. [Not running it encrypted, obviously] All this so Mom, who recently turned 90, can click one thing and get her mail, and click another thing to get Google and Wikipedia. That alone is still going to terrify her. Staring blankly at a dusty stack of 5.25 floppies on the shelf, _H*