Rolling my own immutable distro
yala @ yala @discuss.online Посты 1Комментарии 112Joined 1 yr. ago
Microsoft's enshittification and becoming more privacy-conscious
So..., what will it be 😜?
Most immutable systems I’ve seen require a reboot in order to apply system changes.
It depends on the type of change you're applying and which specific immutable/atomic/composable distro we're talking about. In the case of GuixSD and NixOS, this is simply (mostly) false. For the others, if you're going to change the base-system/image, then a reboot is required. Though, it's important to mention that often enough systemctl soft-reboot
suffices. And even then, some of them (like Fedora Atomic) offer functionality (e.g. through --apply-live
) to apply the changes directly to the working system. And we're not even talking about the latest innovations (like systemd-sysext
that might be able to provide a revolutionary solution to this problem altogether.
Also, even immutable OS I’ve seen wants you to opt-in to a rollback. Rarely do I see the full effects of installing a package or altering a config immediately. By the time I notice an issue maybe it’s too late to rollback to before the change or maybe I’ve done a few other things since and I don’t want to rollback everything. I would much prefer to make “rolling forward” or persisting changes to be a very conscious process.
You seem to have false notions on how this works on atomic distros, or at least it seems your understanding only applies to a small subset of them. E.g. responsible use of GuixSD and/or NixOS completely circumvents this from the get-go. Even Fedora Atomic offers (relatively) sane management of rollbacks.
I started messing with BTRFS and I think I’ve come up with a process that will get me what I want, no matter the distro. Please poke holes in my idea. So I think I can use BTRFS to hold data for the rootfs in three different subvolumes (at minimum): root-A, root-B, root-Z. root-Z is my golden image and it represents what I want root to look like after reboot. root-A and root-B are the active and passive instances of rootfs, but which one is active will flip-flop after every reboot. So if I boot with A, B gets replaced with the contents of Z. In the meantime I can do whatever I want with A. Not sure how I’ll update Z (chroot or “promote” the active subvol to be Z) but without an update every reboot is an automatic rollback.
I don't understand how this solves your (conceived) issue with rollbacks. Furthermore, I also wonder what kinda changes you're applying to your system on a daily basis. Like, do you really feel the need to poke at /usr
every day? Aren't your needs regarding installing software already (mostly) solved through AppImage/Nix/Flatpak/Snap/Brew etc?
Yup, as time went on, I simply felt less need to have proprietary software on my system. Steam remains as an exception; simply by virtue of having no F(L)OSS alternative (AFAIK).
Thank you for sharing your experiences! While my personal experiences with these distros don't quite match yours, I do appreciate your openness in this regard.
Just to be clear, it's not my intent to persuade OP to a specific distro of my liking. Rather, I was interested to know why they would rather troubleshoot their booting issues on Debian instead of returning to distros that have shown to work.
Thank you for answering! 'Stability' as in "less inclined to change" does indeed better apply to the standard Debian installation than to either of Fedora or Ubuntu. However, Fedora derivatives like AlmaLinux and Rocky Linux offer similar stability and so does Ubuntu LTS. So, while it does potentially explain why OP may have preferred Debian, it does not (IMO) by itself make a strong case.
but i woud like debian
Could you elaborate on this? I'm just curious.
Vast swathes of user interfaces are non-intuitive to the point of new users not knowing that options exist.
Yeah, because they simply don't care (enough) (yet). Operating systems are mostly just portals/platforms for internet/mail/games/office or what have you. As long as the desired app/program/software works as needed, you won't see anyone budge about it.
I would love it if people cared more, but they simply don't (understandably so). Unfortunately, the easiest (or simply least cumbersome) way always thrives. Fear of learning something new or change even terrorizes the Linux space; e.g. systemd, Wayland, atomic/composable/immutable etc.
Heck, most of us don't read instruction manuals etc. Is it bad behavior? Sure, I guess. But should this prevent us from approaching this problem more pragmatically?
Did you try Bazzite? Might perhaps be the most hands-free Linux experience out there for gaming*.
Are there any good resources for helping someone getting into Linux?
Do we feel the need to provide resources when one makes the switch from Android to iOS or vice versa? Or how about Windows to macOS or vice versa? Exactly, we don't. Don't get me wrong; I'm with you on the fact that those platforms (by virtue of their deals with vendors) are able to provide more streamlined experiences. However, I'd argue we've finally reached a critical level of 'polish' that should enable your average Joe to engage with Linux without hell breaking loose. The only questions that remain are; Which distro to recommend? AND What further advice do we give them?
The question of which distro is very, very important; first impression and all that*. I'd argue that a whole bunch of distros simply are not suited. (Almost) all of the independent (upstream) distros (so that would be Arch, Debian, Fedora and openSUSE) know who their audiences are and see (understandably so) absolutely no reason to change their respective installations to be a lot more cumbersome for the sake of improving the experiences of a couple of lost newbies. And I haven't even mentioned how some of them outright can't even deal with some particular issues that involve proprietary blobs/drivers and what not due to fear of court. Furthermore, our desired distro has to be ridiculously popular, function very reminiscent to other popular operating systems and be very predictable. Hence, it's unsurprising that we find in this spot our standard distros for newbs: Linux Mint, Pop!_OS and Zorin OS. Between these, ultimately, I believe the impact of their respective desktop environment and/or UX on the (new) user should be the deciding factor. Beyond those, the (opinionated) images provided by Universal Blue are excellent. The exclusion of Ubuntu (or any of its flavors) is due to its conundrum/dilemma with Snaps and how they've been dealing with the issues that users are having. Don't get me wrong; I'm aware that some users don't experience any issues. However, often enough, they tend to make life a lot more difficult.
As for the advice we give them; they should regard it as more similar to their phones. They don't install random stuff found on the internet on their phones, right? So, they should not do so on Linux either. Furthermore, the included Software Store is their refuge whenever they need software that's not already readily available on their systems. Finally, in case they can't find something in there, they should refer to https://alternativeto.net/.
What works best for gaming nowadays?
Depends on your system/setup. Though, you should be able to get it to work on most distros (eventually). Consider checking out https://linux-hardware.org/ to see which distros are known to work for your new laptop. Personally, I'm inclined to believe that Bazzite is the most hands-free solution for most people. However, other good options include Linux Mint and Pop!_OS.
Is manjaro good for that?
I really wonder where newcomers get to know about Manjaro 😜. Manjaro does a bunch of good stuff and has in the past been great for providing a platform by which Arch Linux (Manjaro is based on Arch) could be (relatively) easily consumed. However, Manjaro has since tarnished its own branding (see Manjarno). Hence, I find it hard to recommend it ever since.
I’ll also do some book keeping, writing et cetera but I don’t think it’s much to worry about.
You should be fine unless you need specific software (that's not available on Linux) to do those things on. For most software there are decent alternatives; https://alternativeto.net/ might be a helpful resource in that regard.
I also hope to use my Valve Index on it.
Unfortunately, I don't have any experiences on that. Therefore I abstain from giving any further comments. Wish ya good luck with that though!
I've been on Fedora Silverblue for over two years now and I've never experienced such a thing. Would you mind elaborating? Like, does the system force itself off after the first reboot without any input? Or, instead, do you notice that the installed package is not installed and therefore succumb to another reboot by your own admission? Which, to be honest, seems like some broken interaction*.