You are not logged in.
Hey all,
As an avid Arch Linux user, I have had my eye on immutable distributions (Silverblue, MicroOS etc.) lately. I know about making root read-only, chattr, and DArch [https://godarch.com]; But I am wondering what people have attempted to have a proper immutable Arch Linux like MicroOS? I would like to hear your ideas.
Last edited by idoit (2022-02-04 03:12:02)
Offline
I have been wondering this myself. Googling I found your post, and this blog: https://omitframepointer.wordpress.com/
which has not been updated since 2015. Following links from his blog, there is a project on github that is still maintained and possible related: https://github.com/cleanroom-team/cleanroom
I tried out Silverblue and MicroOS Desktop (Gnome Edition). Silverblue is more polished, but I think the MicroOS approach is more flexible (downside is it requires btrfs). For both of them, and a hypothetical Arch based version, I would like to see full GUI management possible via GNOME Software or KDE Discover, i.e. so I can give it to a non-technical friend or family member. Having to use a command line tool for main system updates and a GUI tool for flatpaks is a bit confusing. The later is easy for a non-technical user, but the command line stuff not so much. I guess figuring out how to layer into the immutable base in a user friendly way is not obvious.
Offline
The Steam Deck uses something similar. SteamOS3 will use Arch tooling (thus is being called "based on Arch") and will have A/B updates developed by Collabora (two partitions with read-only images). Take a look. You can read more here, for starters: https://www.collabora.com/news-and-blog … -deck.html
Online
My understanding of what MicroOS does for transactional updates:
- Take a RW snapshot of current root
- Chroot and execute package installs and other updates
- When done with updates, create a RO copy of updates snapshot, mark it as default snapshot in bootloader
On reboot will be in new snapshot, but you can roll back to the old one. There are interesting questions here about how to manage updates to /etc - are they are part of these transactional updates as well? Silverlight keeps /etc independent of the snapshots, I don't understand how exactly they interact with MicroOS.
The transactional update code for MicroOS is here:
https://github.com/openSUSE/transactional-update
I think it's fairly tightly integrated with zypper, but I haven't looked closely yet. In the latest version, they have a new command, `pkcon`, that can be used to install packages in the new transaction without using tukit/transactional-update commands at all. I am not sure where the source for this is. In any case from a user perspective it behaves more like rpm-ostree.
Offline
Looks like pkcon is a standard part of PackageKit:
https://github.com/PackageKit/PackageKi … eson.build
so somehow they have the packagekit backend using transactional-update behind the scenes, maybe via the zypper backend or a custom backend.
Offline
Not really an Installation issue; moving to Arch Discussion.
Offline
Probably the information included with my wiki page on setting up dm-verity would be helpful to you:
Offline
github . com /vmath3us /stateless-arch in progress .
the pacman database staying in /var created some difficulties, but I was able to work around it successfully (my own machine today is entirely transactional) it would be easier if it stayed in /usr like opensuse
only grub is supported, to keep even the kernel included in transactions
currently, i'm using subvolume name to do the transaction, but this causes a certain risk: if power goes out, during the name change, and it does not complete, root is inconsistent, and won't start from any known state,
I need grub with opensuse's btrfs_relative_path patch to proceed, and I welcome any help you can give me on the repository itself
english is not my first language
Last edited by vmath3us (2022-08-29 01:17:13)
Offline
This would be nice for “newbie friendly” Arch :-)
Leo, HSP, On a journey to leave the big tech behind. Security minded. Sucker for nice, polished things.
Offline
Not really an Installation issue; moving to Arch Discussion.
Very useful for me.
Offline