• @[email protected]
    link
    fedilink
    English
    2
    edit-2
    10 hours ago

    Since you seem to know a lot about it let me ask you a couple of things:

    😅. I’ll try my best 😜.

    Bazzite is immutable, right? I’m sure I saw that somewhere and Fedora Atomic is also immutable IIRC

    It is correct that the contents of / is immutable at runtime aside from /var and /etc. However, note that a lot of folders like /home and /opt are actually found in /var in response. This is later ‘fixed’ with symlinks and whatnot. In effect, only the contents of /usr (aside from /usr/share) is off-limits (or ‘actual’[1] immutable).

    How does the config changes not get overwritten?

    I believe my previous paragraph already answers this. But, to be even more elaborate, Fedora Atomic makes use of libostree (read: git for your OS). With this, only the pristine images are ‘swapped’ in-between updates (or rebases[2]). Your changes to the system are found in /var, /etc and in so-called ‘layers’ only and are not swapped out. Some of these changes are kept track of[3], but most of them reside in /var and will not be touched by libostree.

    The whole point of an immutable distro is to prevent changes to files to ensure things keep working

    Kinda. The important part is that changes are prevented for the sake of a functioning system. But the entire system doesn’t have to be locked down in order to achieve this. This does mean that it’s actually not that hard to break your system. Just rm -rf /etc and your system will probably fail to boot into the very next deployment. But, as Fedora Atomic keeps at least two deployments, you will still be able to access the previous deployment in which you tried to delete /etc. So you’re protected from accidental mishaps as long as you’ve got at least one working deployment. Thankfully, you can even pin working deployments with the ostree admin pin command. And…, just like that, the distro has basically become dummy-proof. I’m sure it’s still possible to break the system, but you’d actually have to try 😉.

    So, in short, Fedora Atomic definitely intends to be a more robust system and succeeds. But, it does so while giving the user agency (and some responsibility).

    How are packages installed?

    I think everything of importance is mentioned in the docs. What is it exactly you want to know?

    The docs you sent recommend flatpak, which while very good in theory still has a small fleet of apps available.

    But that’s just the first of seven “package formats” listed in the docs 😜. The other six will assure that your remaining needs are fulfilled.

    Also they suggest using distrobox among other things, that’s definitely not beginner friendly, although an interesting concept for an advanced user to have your main machine be an immutable host to any system you want.

    This is obviously anecdotal, but Fedora Silverblue was the first distro that I used. I was a complete Linux newb. My coding background was also just a Python-course on Uni. But, somehow, in the very newbie-hostile environment back then (read: April 2022), I managed with Toolbx. So…, yeah…, I can’t relate. Sorry*. You might be absolutely correct. But, as I said, I don’t recognize this from my own experience. I wish I had a video-tutorial back then, though. Honestly, with the amount of hand-holding Bazzite and its docs provide, I believe a newbie should be absolutely fine.


    1. It is even possible to overwrite this. Both in containerfile (requires creating own image) and on device (very hacky, not recommended).

    2. Rebasing is the process by which a different image is selected to boot and run your system from. For example, with this, one can switch from Silverblue (GNOME) to Kinoite (KDE) without reinstallation. This can even be used to switch from a Fedora image to a Aurora/Bazzite/Bluefin/secureblue image.

    3. These include the software you’ve installed through rpm-ostree (or soon dnf). We call these layered packages, based on the analogy that the packages aren’t part of the image but are magically tacked on without you noticing anything finicky. It’s quite magical. Besides that, any and all changes made to /etc are also kept track of. The former you can see by invoking rpm-ostree status, the latter by invoking ostree admin config-diff.

    • @[email protected]
      link
      fedilink
      English
      110 hours ago

      All of that sounds really awesome, but I think I still stand by the conclusion I had even if some/most of my assumptions were wrong, it might be too much for a new person. I get that for you it wasn’t, but I’ve also seen people whose first distro was Gentoo. The rollback to a working state feature is really cool and I definitely could have used that back in the olden days when I first started using Linux and broke my system periodically, but those were different times (be glad you don’t know what a Xorg file is hahaha).

      Overall in theory it seems that Bazzite is a system I would like to use, but I thought the same of NixOS and couldn’t get used to it. But I’ll definitely try it in the future.

      As an anecdotal point I have in fact ran rm -rf /etc in the past, you are correct that the system doesn’t boot (had to do a full reinstall that time). And as a completely unrelated note be very careful with pressing enter in the middle of typing a command, for example trying to delete a folder inside /etc hahahaha.