Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Semi-immutable Gentoo
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
minkanjin
n00b
n00b


Joined: 29 Jan 2017
Posts: 42

PostPosted: Fri Sep 01, 2023 7:56 pm    Post subject: Semi-immutable Gentoo Reply with quote

I would like to propose that Gentoo adopt some of the features from immutable distros. I’m not sure if all the features are possible, but the ability to roll back to a previously working system should be doable.

The one option seems to be to use btrfs’ snapshot ability to create snapshots of the root filesystem. What I like about this idea is it is using a mechanism that is already there, and it deduplicates a lot of things. But it binds everyone to one filesystem.
The other option seems to be something akin to git. This seems to be the better option, since it is the most versatile and powerful, and can probably work with other filesystems.

I think we should go for the git method, where the administrator can periodically commit newly emerged packages to the git tree. We can look into an automated way of doing it, but I think first we need a manual way to do it. We will also need a way to distinguish between things added by emerge and things added by the administrator, and what and what not to commit.

One problem is the git commit history will keep growing, so there needs to be a way to prune.
The other is we need a way to deduplicate stuff, so maybe combine it with btrfs, or commit new stuff to a squashfs file and then mount multiple squashfs files as needed with some kind of filter.
We will also need a way to select a particular commit at boot. Maybe such a feature can be added to grub.

But before we tackle this, I think we first need to tackle the idea in another thread that aims to use gentoo to build other distros like Arch. We can get a lot more developers to help with Gentoo if we do that.
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3477

PostPosted: Fri Sep 01, 2023 8:45 pm    Post subject: Reply with quote

LVM offers block-level snapshots, independent of filesystem.
If you want to keep multiple snapshots, and have some menu to select version to boot at runtime, you'll need a custom initramfs (way easier to modify than grub). It will also become unmanageable very quickly, but it is technically possible, and you can easily prune old data by just removing old snapshots (which also makes it more manageable again).

Squashfs can be used to back system root too, I have done it myself and was quite happy with the result, but I don't think it would meet your expectations. If you want to let all those versions live side-by-side for extended time, update them and take advantage of deduplication, install it on ZFS. Possibly with another layer of indirection, since you might run into some issues if you change_root into a subvolume and cut yourself off from the main volume on the device.

Quote:
But before we tackle this, I think we first need to tackle the idea in another thread that aims to use gentoo to build other distros like Arch. We can get a lot more developers to help with Gentoo if we do that.
And why would anyone want to use gentoo for building other distros?
My first choice for building arch would be arch. My second choice would be whatever I already have around.
You won't make devs interested in arch or whatever other distro switch to gentoo for sake of working on that other thing. Scratch your own itch instead of coming up with hypothetical itches someone else could possibly want scratched on the day all stars align.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Fri Sep 01, 2023 9:17 pm    Post subject: Reply with quote

Regarding immutability, I was thinking about whether or not using a custom profile could isolate a Gentoo "Base System," where the Base System would be made up of the stage tarball and as little else as possible -- RAID, LVM, networking?, firewall?, etc. After that, everything else is installed to /usr/local. Extending that could include separating Base libc from /usr/local libc. FreeBSD does this, I'm not sure about other BSDs.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5240
Location: Bavaria

PostPosted: Fri Sep 01, 2023 9:38 pm    Post subject: Reply with quote

szatox wrote:
[...] If you want to let all those versions live side-by-side for extended time, update them and take advantage of deduplication, install it on ZFS. Possibly with another layer of indirection, since you might run into some issues if you change_root into a subvolume and cut yourself off from the main volume on the device [...]

AFAIK our Gentoo developers prefer now XFS (has also COW and deduplication now). This was expressed by the change in the filesystem recommendation for the root partition in our amd64 handbook:
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks#Default_partitioning_scheme
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Fri Sep 01, 2023 10:45 pm    Post subject: Reply with quote

I'd be curious to know the motivations of using XFS. RH switched to it at some point too. With SGI out of the picture, I wonder if it was available for "maintenance ownership "
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum