this post was submitted on 30 Aug 2023
25 points (96.3% liked)

Linux

8197 readers
352 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 1 year ago
MODERATORS
top 8 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 1 year ago (2 children)

Inflexible by Nature

This is my biggest concern with immutable distros, but this article says nothing to address it. It gave examples of changing certain parts in NixOS, but I'd rather see a couple of "hello world" type examples for a few other popular immutable distros.

Eg, how do I alter a file, say /etc/fstsb, in Fedora Silverblue, Nitrux, BlendOS etc? Is it as easy as remounting your root as r/w and saving? Or does it require a 100 steps? If it isn't straightforward, then it may well be considered as inflexible.

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (2 children)

Eg, how do I alter a file, say /etc/fstsb, in Fedora Silverblue, Nitrux, BlendOS etc?

I'll answer for Fedora Silverblue as it's the only one I'm confident about. So, by default, both /etc and /var are writable. Furthermore a lot of traditionally writable parts (like /home) are contained within /var as well. So say you'd want to edit /etc/fstab (which I've done in the past), then you'd literally do it the very same way you'd do it on non-'immutable' distros. So; copy (the content of) /etc/fstab, change whatever you want and sudo cp the modified file to /etc/fstab and you're done.

Perhaps interesting to point out is that, on Fedora Silverblue, all changes compared to the pristine copy of /etc (which is kept in /usr/etc) are being tracked and can even be accessed with ostree admin config-diff. Note that 'traditionally' the contents of /usr has been one of the harder parts to modify on Fedora Silverblue and I'd argue the average Joe should not engage with it as it's very easy to mess up. However, uBlue actually enables one to engage relatively easily with those harder to modify parts. And the amount of configurability it allows should definitely put anyone to shame that continues to posit that "immutable is inflexible".

[–] [email protected] 2 points 1 year ago

Oh crap thanks for letting me know about config-diff! I've always wondered if silverblue could tell me what files I've changed

[–] [email protected] 1 points 1 year ago (1 children)

Thanks! It's good to know that /etc is writable.

But are are you able to elaborate a bit on this please :

However, uBlue actually enables one to engage relatively easily with those harder to modify parts.

What exactly does uBlue do differently to Silverblue, which makes it easy to modify those parts?

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

What exactly does uBlue do differently to Silverblue, which makes it easy to modify those parts?

Perhaps I should've been more precise/accurate. The images offered by uBlue are relatively vanilla but "batteries-included" images of Silverblue/Kinoite etc that include the essentials from RPM Fusion among others and ensure that your system continues to function optimally regardless of ongoing issues related to mesa/Nvidia or whatever. So by themselves, they don't do anything special necessarily in terms of modifiability except for having baked in functionality for receiving cosigned OCI images. Which is where the fun begins with the template provided by uBlue making it very easy to create your own custom cosigned OCI image that is modified to your liking and which is continuously pulled from whenever your system does a rpm-ostree update. As the changes don't happen at the client-level (read: your device), but instead before/during 'base-image initialization', one is able to apply changes to e.g the aforementioned /usr directory simply by creating those (modified or not) files in the github repo of their custom image. The linked template is far from exhaustive as one is able to customize it beyond that for which one could refer to the Bazzite or Bluefin images to see the possibilities.

Note that the template of uBlue is only possible because Silverblue/Kinoite etc supports it. So one is able to forego uBlue entirely and create their own image from scratch (as long as it satisifes some criteria). The beauty of (the template provided by) uBlue is that it enables every mortal to engage with that system as it has been made remarkably easy. Heck, I didn't have any prior experience with git or Containerfiles, but I was able to spin up my own image in like two hours or so.

[–] [email protected] 2 points 1 year ago

All of that sounds pretty interesting, thanks! Looks like I might need to get my hands dirty this weekend...

[–] [email protected] 3 points 1 year ago

In NixOS you can just mount your directories and run nixos-generate-config.

[–] [email protected] 1 points 1 year ago

I didn’t realize some of these were conceptions. They are totally more secure than windows though, especially qubes.