Compared to other distros, Vanilla OS 2 'Orchid' is rewriting how Linux works
theregister.com
theregister.com
The way it works (in my incomplete understanding) is that the root filesystem (running on Btfrs), specifically /usr and /var, are actually a read-only image. You can write changes to it, but each time you do, you have to rewrite the image. Each time you boot, you boot that immutable image.
This allows for easy automatic updates. And if it fails to boot after an update, it merely rolls back to the previous working image (crowdstrike take note). This seems to work well provided you don't have to modify the image too much. I installed fprintd, kdeconnect, and wine, and it's still doing OK.
The user applications are almost all Flatpaks. This works well most of the time, but not always. I was a heavy flatpak user before, and I will say that a number of Flatpsk bugs I've run into on other systems, I've not had on Kalpa, so perhaps its Flatpak implementation is better. The biggest issues I have are Flatpaks not being able to communicate with each other as easily as native binaries can.
If you don't have a Flatpak, you can always try to run it in DistroBox. This works..... OK....provided it's a userspace app. But if it's a userspace app, why not run the binary directly? Where distrobox really shines is for running .debs or .rpms on a non-native system. But those are gradually going away thanks to Flatpak anyways. Distrobox does have a fake root mode. I consistently run into boubdary issues with it on Kalpa. I was able to run software in distrobox that required root, and it technically ran, but it couldn't use any audio devices.
Overall, I find Kalpa (and MicroOS) very interesting. There are still edge cases where they break, but I was easily able to work around everything.
Also while flatpak applications are usually sandboxed, they very often need access to your files to be useful. You are either limited to a small subset of flatpaks on fedora flatpak repo, or the whole uncurated flathub shithole where quality and security is totally random.
Also running a flatpak from the command line using `flatpak run tld.organizationname.appname` is a bit annoying. Toolbox, distrobox and containers solve some of the stuff but are also clunky way to do stuff that you would just do normally on a regular linux system.
All in all I will keep it on one of my laptops as I am curious about how it will evolve in the future and it is a decent OS for non tech / family use where your typical usage is to open a browser and a handful of gui apps so I can easily lend it to my kids and partner without worry.
I've even started using Fedora CoreOS VMs as the basis for containerized service installs on my home network (Pihole, etc.).
To be fair, I do have quite a few packages layered on top of the base distro, as well. From memory: many admin tools that require "real" root, KVM virtualization support, RPM Fusion packages to enable hardware video decode, Mullvad's VPN client, tmux, vim-default-editor, a few font packages, Emacs, and a few basic development tools like cmake and make for the benefit of Emacs package installs.
The only problem I've ever had with layering is that once in a while I have to wait a bit and retry an update because newer package versions from the base image haven't yet made it out to the main RPM mirrors.
Oh, and Flatpak automatically symlinks "flatpak run" wrapper scripts to /var/lib/flatpak/exports/bin, so, assuming ~/.local/bin is in your PATH,
ln -s /var/lib/flatpak/exports/bin/tld.organizationname.appname ~/.local/bin/appname
fixes your annoyance.In the end though, some of the cons of such a system started being too much and I went back to Leap. It was close to winning over me however.
Sounds like a glorified LiveCD distro. (In fact, it's almost exactly a LiveCD with 'persistence' once you account for other parts of the filesystem that are not 'immutable', such as /home/ .) Not sure what's supposed to be so innovative about this.
No loss here. I'd consider it a benefit in fact.
For firefox I've found it extremely annoying. When the snap updated in the background:
1. Pinning the desktop icon to the toolbar is annoying ... the desktop file is in a snap folder that keeps changing, so would disappear.
2. It showed the "you need to restart firefox in X days" notification frequently; I wasn't able to find a way to stop it reshowing the notification after dismissing it.
3. Updates caused firefox to crash if the underlying snap folder gets removed.
4. Keeping profile information across the snaps is not easy; I've had updates reset the profiles to the base.
For IntelliJ IDE I've not had issues thus far. I'm not sure if this is because it hasn't been updated enough to encounter the above issues.
And unmounting these during shutdown can cause the shutdown to take a minute longer than expected. That may have been a bug that was fixed since I found out about it, though.
In 3 years using Fedora (which hasn't a reputation for being a stable distro) I once had a bad kernel that prevented my Framework laptop from booting (solved by blacklisting said kernel). All my other Fedora machines were fine.
Why would I need an immutable distro if even Fedora is stable enough? Heck i could use Debian or a RHEL clone and never have to worry about stability.
"50% power reliability is enough for anyone, I sometimes don't have to gather firewood"
Its hard to imagine never gathering firewood to heat your home in that reality.
All of this to say that you can make more assumptions and enable things that were not possible before with better reproducibility.
I eschew complexity wherever practical. There's so much complexity in modern life, especially for tech people.
Right now mutable Linux is absolutely fine for me, but I'd like to thank all the people that are alpha testing some of the tech I'll adopt later ;)
My only wish is that immutable filesystem, read-only rootfs and most of the system with just a FEW exceptions, atomic upgrades/rollbacks would be more and more widely encouraged, discussed and adopted.
Just eliminating the worry of root partition running out of space is a life changer. From the ground up any "traditional" linux distro will force you sit and design how to partition the disk sooner or later. The guys above address this issue (and a huge bunch of others) for you.
I’ve made a /data partition for many years now taking the majority of the disk. Root then has not needed more than thirty GB or so. (With kernels in the efi system partition, and home in data even less. I used to make it 32gb.)
If you want to give it a try you can install distrobox or toolbox right now on any distro, this is not unique to immutable readonly distros. This allows you to separate system / userland package management and have access to say, pacman on a fedora for example.
If you want a comfy modern system goes for NixOS/Guix System on top of zfs. Safety came from design, not from isolation. Comfort came from autonomous power not quickly import third parties blob and so on. Such distros are like btrfs vs zfs. A tentative to denied the fact a model needed by some actors is total crap.
User filesystem is totally transparent.
I state this because btrfs/stratis vs zfs "a rampant layer violation" (for those who remember) was the perfect example of a devs reactionary cohort who try, fails and even fails to recognize their failure, trying to state that anything new is bad, their old beloved way is the best.
Honestly package managers, boot process and installers are RELIC from another era and most fails to understand that. Declarative systems on top of modern storage like zfs (witch is modern since the others are stuck in the '80s even if born after zfs) or hammer (DragonFly BSD log-based fs like the old Linux nilfs2, but with much less of it's garbage collection issues and much more useful than "modern" ffs used on Android and alike) are "the future" since more than a decades but most try to ignore that sticking with relics and some try to denied they are the future creating monsters from stratis to docker, passing through snap/appimage/flatpacks etc all do denied a substantial change who simplify ENORMOUSLY anything just because such revolution will empower users and operations instead of the service industries and devs under Silicon Valley mode dummy-Toyoda-alike managers slavery command.
If you do not understand try to visualize how simple is to build a custom ISO with NixOS/Guix System, describe an easy to replicate system, orchestrate your hosts and handling their storage with zfs send-able snapshots. If you succeed you'll understand that AT HOME, on much smaller iron, you can do more than a k8s deploy, with much more resilience and much less effort. Now try to imaging it on scale: how many companies will remain on someone else computer (aka the cloud) with such systems common and spread?
https://vermaden.wordpress.com/wp-content/uploads/2018/11/nl...
IIRC OpenSolaris (and other derivations) had a writable root but did ZFS snapshots on changes, kind of similar as Ubuntu was (crudely) doing with ZSys for a while. I would rather use zfsbootmenu in Linux.
In this case (and other similar distros), it has a read only root, and does overlays over it and/or running things inside containers and namespaces. That also allows sandboxing.
I haven't thought much about what system I like more. ZFS is easier to me, of course, as I already use it and don't have to change my workflow ¯\_(ツ)_/¯
Not exact, there is SUN zfs auto-snapshot service, but that's for another purpose, a time-machine alike setup at a certain point in time even integrated with nautilus with a right-click menus to see the $volRoot/.zfs/snapshots/* of a specific file/folder, the package manage do clones so you can create different roots and keep or dispose them independently as long as you want. GNU/Linux scripts to wrapper grub-install and package managers try to mimic that but that's not on feature parity at all. Yes, in OpenSolaris/IllumOS the root was/is not read-only, but if you manage the system with IPS it's nearly that, "only" lacking respect of NixOS/Guix System the declarative configuration since IPS (the package manager) was a classic manual one.
NixOS/Guix System lack the zfs integration, using a network of symlinks to mount a read-only root out of /{gnu,nix}/store.
Doing something like containers, even if done "the right way" (meaning without wasting resources, something not easy on x86 and AFAIK not done by anyone so far) it's pointless because it's a false "security" model typically led to far less safe systems. Even if done properly like OpenSolaris/IllumOS zones, who do not waste much resources at least for storage thanks to zfs dedup, they only waste ram/cpu, it's not a good practice.
A safe system is one designed to be safe in every bit, not one were you create "shells", compartments to "keep something potentially unsafe in a sandbox". All have tried this approach have failed.