• 1 Post
  • 93 Comments
Joined 16 days ago
cake
Cake day: June 15th, 2024

help-circle
  • poki@discuss.onlinetoLinux@lemmy.mlAm I overthinking it?
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    3 hours ago

    If I understand it correctly, layering an application is no more dangerous than a regular install on a non atomic os.

    True~ish.

    There’s an important caveat though; for whatever reason, rpm-ostree can outright fail to upgrade (due to conflicts related to layered packages) while an issue like that is more rare on traditional Fedora and dnf. Thankfully, I’ve never had a problem that I couldn’t solve with rpm-ostree reset run on a (previously) pinned deployment (through sudo ostree admin pin <insert number>). However, when used irresponsibly, this (i.e. layering) can outright destroy your otherwise very robust ‘immutable’ distro.

    It’s easier to teach people to be cautious than to teach how they should act accordingly. Hence, uBlue’s documentation tends to be more conservative in order to protect (especially newer) users from shooting themselves in the foot.


  • Thank you for your reply!

    Thank you, this helps even further.

    It has been my pleasure 😊!

    I scratched the surface of immutable and this further dissects it into deeper “categories”.

    Yup. For your information, ‘immutable’ distros have only gained popularity relatively recently. In fact, for a long time, it was pretty obscure.

    In 2003 we had the initial release of our first ‘immutable’ distro; NixOS. Then, inspired by it, Guix System was released in 2012. After which, within a couple of years, the distros with connections to enterprise Linux got their first ‘immutable’ distros:

    • Fedora in 2014 with Fedora Atomic Host (later CoreOS)
    • Ubuntu in 2016 with Ubuntu Core
    • openSUSE in 2017 with openSUSE MicroOS

    However, these three were primarily meant for server and/or IoT. Then, in 2018, Fedora released Fedora Atomic Workstation (which later changed its name to Fedora Silverblue). I’d argue we owe the current renaissance of ‘immutable’ distros to it. And then, inspired by Fedora Silverblue, we’ve had the release of dozens of 'immutable’ distros in the last 2/3 years (including openSUSE MicroOS Desktop (later openSUSE Aeon) in 2021). Ubuntu has yet to release their Ubuntu Core Desktop. Though, it’s in active development.

    However, even if we’d limit ourselves to the earlier mentioned ‘immutable’ distros (i.e. Fedora Atomic, Guix System, NixOS, openSUSE MicroOS and Ubuntu Core), we find that they’re very different to one another. Heck, by comparison, e.g. Arch, Debian, Fedora, openSUSE and Ubuntu aren’t actually that different to each other.

    Though, perhaps curiously, we find that at least 80% of the user base of ‘immutable’ distros are using either Fedora Atomic (and/)or NixOS.

    My first thought is that, if I didn’t know about immutable distros in the first place (aside from the meaning of the term), I probably wouldn’t know what I’m missing or gaining.

    Exactly.

    My uses for Linux will grow across 3 categories.

    1. Business and office work. Mainly spreadsheets, documents, presentations, and virtual meetings

    2. 3D Design, 3D Printing, bitmap and vector graphics editing, coding, and retro video game development

    3. Streaming via OBS, ATEM, webcam, HDMI capture, and various USB inputs and devices.

    As far as I can tell, none of these should necessarily bring up problems or troubles on ‘immutable’ distros.

    To give an example of something that’s not or less supported on ‘immutable’ distros: Unified Kernel Image with Secure Boot.

    AFAIK, openSUSE Aeon can do it currently. But IIRC, there’s no documentation. NixOS can actually do it as well and there’s plenty of documentation on it. Fedora Atomic can’t yet, but there’s active development surrounding it. However, I don’t expect this feature on the smaller ‘immutable’ distros. Hence, for them, I’d regard this as absolutely impossible.

    I have tried building machines on non-tablets and have got 80% of the way there with all 3. The tablet has me 100% with 1 & 2.

    I’m glad to hear that!

    This all gives me a greater understanding that helps me avoid and research more into the options based on needs.

    Great! FWIW, if there’s anything to take from this interaction, then it’s definitely this.



  • Hi. I’m not related to either of the two fighters. I do, however, admire your curiosity. Still, I feel a particular sentence made in this comment of yours has to be nuanced. If this endeavor of mine is not appreciated, then please feel free to notify me however you please.

    So, without further a due.

    If I were to go immutable there are some limits on what I can do

    Strictly speaking, yes.

    However, we can categorize these as follows:

    • Absolutely impossible to accomplish on some ‘immutable’ distros
    • Currently impossible to accomplish on some ‘immutable’ distros. However, it will be fixed eventually.
    • Currently impossible to accomplish through conventional methods on some ‘immutable’ distros. However, some experimental features do allow these to be accomplished. But, you might have to learn how.

    Furthermore, depending on your needs, you may not even have to deal with anything that’s either not or less supported.

    Finally, as the use of “some ‘immutable’ distros” suggests, not all immutable distros are created equally. Therefore, it’s actually uninformed to lump all of them in the same category. True; they’re referred to as ‘immutable’. However, descriptions like atomic, reproducible and declarative are perhaps more useful when comparing one ‘immutable’ distro to the other.


    I’m personally a big fan of ‘immutable’ distros. However, please don’t feel compelled to delve into it as long as you’re satisfied with your system.

    My two cents. Enjoy!


  • You’re welcome!

    FWIW, last year, through what became BlueBuild eventually, I had my own image with all kinds of modifications within a weekend. And, perhaps most curiously, I was a total noob when it comes to containerfiles, github, git etcetera. So, if I somehow managed, then you should definitely be fine.

    Wish ya good luck! Consider reporting back 😉.


  • Thank you for the reply!

    It would likely help if the conversation around new user distros was a bit less of an argument

    Fair. Though, I suppose we shouldn’t ignore that the promoted distros are mostly the distros people use for themselves. And, while some have been on a distrohopping spree to arrive at their home. Others, instead, just got a recommendation, tried it and have been using it ever since. Yet others knew what they sought and/or needed. Hence, in their case, it was more a search to find a distro that satisfied their specific needs. Finally, it’s perhaps worth mentioning that the popular distros mentioned in these discussions are overall good picks.

    if the number of suggested distros was a bit less.

    Absolutely fair. Unfortunately, we’ve got over 300 distros that are currently maintained and 50 would argue they’re newbie friendly 😅. It’s a hard one for sure. But, I believe you can definitely narrow down the list if you know what you want. For example, in my case, there’s literally only one distro that answers my needs. So, I just use that one 😅.

    It would help with the decision paralysis aspect of it at least.

    Brings back memories. This process took me about two weeks.

    I see enough threads of experienced users troubleshooting more than I really want to deal with

    On the other hand, people that don’t ever experience any issues, don’t feel the need to post about that 😅. But, I can understand why it could make you anxious. Thankfully, distro choice does play an important factor in this. So, it makes sense for you to use a distro that’s designed to (somehow) avoid this and thus limits the amounts of troubleshooting you’d have to resort to.

    I don’t like the idea of my whole computer being like that because I chose the wrong hardware (I have nvidia)

    Absolutely fair. Nvidia on Linux can definitely be a mess. The more popular and modern models should work on most distros. However, if your specific model is more obscure, then this can definitely cause more trouble than it’s worth.


  • Thank you so much for the reply!

    I really wanted to like it. I’ve used ansible and puppet for work and there, declarative configuration made sense because I need to duplicate the same thing 1000’s of times.

    NixOS really seems like a perfect fit in your case.

    For desktop, it was incredibly annoying to me to have to change my config file every time I wanted to install a new application.

    Interesting. All the declarative distros (I know) operate like that; at least to ensure being declarative. Would you prefer it if a <insert favorite package manager> install <insert name of package> would automatically modify configuration.nix?

    I still found myself messing with drivers which I hate on any OS.

    Fair. Hopefully work on official FOSS drivers provided by Nvidia (and others) will resolve this problem for good in the near future.

    When the Bazzite install went well and 99% of the applications I wanted to install were flatpaks anyway, it was a perfect fit. I’ve been running docker containers on my Ubuntu server for years so BoxBuddy was a natural fit for things that aren’t flatpaks (minecraft runs great in one). What’s more, KDE has a lot of keyboard combinations the same as Windows by default which made the switch even better for me. One that I had been fighting to add to gnome, which is admittedly small but annoying, the ability to use Meta+period to bring up an emoji selector, was built right into KDE by default?! I couldn’t believe it.

    Then, I started looking for an equivalent to FancyZones found in Windows PowerToys and… What do you know, that’s also built into KDE by default?

    Then a friend of mine gave me an AMD graphics card he was getting rid of which was an upgrade to my GTX 1060 I’ve been using since 2018. Since I had already moved to Bazzite, it was a simple re-base to move to the AMD version and it went off without a hitch.

    It’s all over, Bazzite and KDE are home for me now.

    I’m glad to hear that you’ve been enjoying Bazzite and KDE!

    FWIW, if you’d like to explore how declarative Fedora Atomic (and uBlue, hence Bazzite) are in their current iterations, then perhaps it’s worth looking at BlueBuild and uBlue’s own documentation on this. Though, I imagine that (based on your previous experience with NixOS) you wouldn’t necessarily approve of this. Though, I suppose drivers should work this time around.






  • I’ve found it fine after an adaption phase

    Though credit where credit is due. At this point, so well-beyond the adaption phase, I simply don’t see myself use anything else. This is my home. Though I have to admit my serious interest in QubesOS (and the upcoming Spectrum OS).

    Hard agree on knowing the nuances being problematic, clarity and accessible education is sorely missing, certainly the steepest part of the learning curve.

    Agree. I’m at least thankful that it’s a lot better than it used to be. Like two years ago, when as a total noob to Linux, I decided to cold turkey quit Windows and installed Fedora Silverblue on my machine. Well…, those first two weeks were pretty traumatic 😂. And, back then, there was not a lot out there. Luckily, I found this article that helped me to grasp the basics. And it has been smooth sailing ever since.

    I just run ‘distrobox upgrade -all’ in my Daily.service

    That’s pretty cool (and straightforward). Why didn’t I think of that 😂? But yeah, quadlets FTW.



  • I’m a big fan of Fedora Atomic. However, even I have to admit that knowing how to install packages through dnf is simply more convenient than knowing and understanding the nuances between rpm-ostree, Toolbx/Distrobox and flatpak. And I haven’t even delved into ujust and brew that are found on uBlue images.

    Furthermore, even if we would limit ourselves with what Fedora Atomic prescribes, we see the following inconveniences:

    • rpm-ostree ; I know --apply-live exists and I know systemctl soft-reboot exists. But still, if you have to resort to rpm-ostree, then both the speed of update/installation as well as the need to reboot (or live on the edge with --apply-live) are inconvenient compared to dnf.
    • flatpak ; It’s inconvenient that I have to alias the installed package if I prefer sane naming conventions when accessing it through the terminal. Furthermore, stuff like the NativeMessaging portal not being available yet for sandboxed browsers and how that prevents any local password manager to interact with them (without hacking your way through; which, once again, is an inconvenience) is inconvenient.
    • Toolbx/Distrobox ; the fact that you’d have to setup quadlets (or simply rely on uBlue images to do it for you) to keep them up to date, up and running is an inconvenience. The fact that distrobox-export has to be resorted to for accessing these directly from your ‘App Drawer’ is an inconvenience.

    The fact that there’s no centralized place for upgrading all of the above (unless you rely on an uBlue image) is an inconvenience.

    I could go on and on, but these should satisfy in revealing some of the more obnoxious inconveniences.






  • Thank you for the reply!

    Inconvenient package management

    Fair.

    manual theme installation

    I assume this is based on an experience with Kinoite? Am I right?

    anything that involves changes to the system

    I’d argue “anything” is too harsh. But yes, there are definitely edge cases that are either very/too cumbersome or outright impossible to achieve on Fedora Atomic.

    However, I’d argue that while the associated paradigm shift and learning curve do require some commitment to adjust to, it is a more sane way of running a system for most people.