5 ms·
Vanilla OS 2: an immutable distribution to run all software
- deleted 2y ago[deleted]
- yjftsjthsd-h 2y agoInteresting that they're going with full A/B partitions; it's a touch simpler and more resilient (ex. against disk corruption), but ex. ostree is more space efficient. I'm also curious if there is really no way to install things on the host - is there a way to install NVIDIA drivers or the like?
- gawa 2y agoIt looks like you can do it that way according to the docs [0] : > abroot pkg add PACKAGE_NAME Not sure what it does exactly under the hood. I'm not sure it persists after an upgrade. In the release announcement blog post they also mention a way to build your own (base OS?) image with something called VIB [1] Regarding space efficiency, the distribution relies on a "LVM Thin provisioning" feature. [2] I don't know enough about it (nor about ostree) to compare the two. This is all very refreshing! Many new techs and concepts to look into :) [0] https://docs.vanillaos.org/handbook/en/install-additional-drivers#nvidia%C2%AE-drivers https://docs.vanillaos.org/handbook/en/install-additional-dr... [1] https://vanillaos.org/blog/article/2024-07-28/vanilla-os-2-orchid---stable-release https://vanillaos.org/blog/article/2024-07-28/vanilla-os-2-o... (section "Make it Truly Yours") [2] https://github.com/Vanilla-OS/ABRoot#thin-provisioning https://github.com/Vanilla-OS/ABRoot#thin-provisioning
- gawa 2y agoI like that they went from Ubuntu to Debian as the base OS. I assume they target Debian Sid (the unstable flavor of Debian) because they can compensate for the instability with the immutability provided by ABroot. Or is it simply because the distro is pretty much in a rapid development stage? The distribution looks very fun. Something quite new to play with for distro-hoppers and to learn more about some techs. Last time I tried fedora-silverblue I didn't like it. My packages were scattered in 2 or 3 distrobox containers. It's not that much, but they can be different distributions, and then we add flatpak to the mix, and apps installed in the base OS with rpm-ostree... It felt like a frankenstein distro. Upgrades were time consuming, and not smooth at all. Not only did I have to learn how to manage a fedora-silverblue, but I also had to maintain a debian container, upgrade another fedora (a regular one, not silverblue), learn the quirks of flatpak, and... that was too much work. It doesn't really matter that I can confidently upgrade the empty base OS, if I still need to manually upgrade my fedora container and it can break the package I need from that container. The approach here with Apx is worth a closer look. It abstracts away the different package managers of the main distro (`apx search` PACKAGE will translate to `apt-cache search` in debian container, `pacman -Ss` in arch container, `zypper search` in opensuse...). The concept of "exporting" the packages, and the UI around it, makes me think they aim at making the management of these distrobox containers easier.
- yjftsjthsd-h 2y ago> Last time I tried fedora-silverblue I didn't like it. My packages were scattered in 2 or 3 distrobox containers. It's not that much, but they can be different distributions, and then we add flatpak to the mix, and apps installed in the base OS with rpm-ostree... It felt like a frankenstein distro. Upgrades were time consuming, and not smooth at all. Not only did I have to learn how to manage a fedora-silverblue, but I also had to maintain a debian container, upgrade another fedora (a regular one, not silverblue), learn the quirks of flatpak, and... that was too much work. It doesn't really matter that I can confidently upgrade the empty base OS, if I still need to manually upgrade my fedora container and it can break the package I need from that container. I... don't think you're supposed to do that? Like, I haven't used silverblue specifically, but on suse microos there's a big warning with metaphorical flashing lights that says in so many words "don't touch the host OS unless there is literally no other way to possibly do what you need". You should never use it for normal applications, at the very minimum. And as to multiple distros in multiple containers - why not just run everything on Fedora container(s)?
- gawa 2y agoI'm aware. I think I tried. At the time (silverblue 26) they recommended to use a firefox installed as rpm (actually, the GUI was offering both flatpak and RPM for some packages, and "RPM" meant it used rpm-ostree under the hood to overlay the package). At least they warned about some issues when using firefox as flatpak (mostly related to integration with the rest of the desktop environment). And so, in order to get some things to work I had to install a few packages with rpm-ostree. Digging in my docs, it was: > # nvidia and codecs necessary for firefox and youtube: > # You'll need rpmfusion repo (see dedicated section for how to install them. Ugly.)) > rpm-ostree install akmod-nvidia ffmpeg xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda Maybe I used it wrong, idk, but here is how my .zshrc looked like: > alias "hx"="toolbox run -c devops hx" # I installed there all the mess for LSP server > alias "aws"="toolbox run -c devops aws" > alias "mpv"="flatpak run io.mpv.Mpv" > alias "yt-dlp"="toolbox run yt-dlp" # default distrobox is fedora I could go inside containers ("activate" containers), but then, if I want all my tools... they need to reside in the same container, right? I didn't feel like installing all the utils in all containers, or running exa and ripgrep in some fedora "basic-utils" containers and adding more aliases for very basic tools. So I ended up overlaying the utils I cannot live without, thinking they are not really unstable software, it can't possibly break the upgrade (and indeed it never did for the time I used silverblue) : > rpm-ostree install bat exa git-delta ripgrep vim zsh zsh-syntax-highlighting zsh-autosuggestions fzf jq I also needed some stuff to fix the thumbnails of the default gnome (I don't remember, but I'm pretty sure that if I did it with rpm-ostree it's because I didn't find another way): > rpm-ostree install ffmpegthumbnailer gstreamer1-libav gstreamer1-plugin-openh264 I also couldn't install some ibus packages (with too much integration with the desktop/keyboard) in a container so I resorted to rpm-ostree there as well. So while I really tried to keep everything out of rpm-ostree as much as I could, I felt like it was a constant trade-off: going against the spirit of the distribution VS managing every single util and running little cli tool in containers (that need to be maintained). I'd be happy to read about some workflows, the "correct way to do it", or if silverblue changed since the last time I used it. But for me it's in the design itself: "use containers" mean "do the plumbing between or your tools yourself" (even if distrobox makes it easier by exposing/sharing pretty much the whole home, network, env vars etc...)
- throwme_123 2y agoHappy with Fedora Silverblue in that space: https://fedoraproject.org/atomic-desktops/silverblue/ https://fedoraproject.org/atomic-desktops/silverblue/ Especially Project Bluefin: https://projectbluefin.io/ https://projectbluefin.io/ Of course, it's great to have a Debian based alternative!
- solarpunk 2y agosilverblue is fucking awesome (coreos rules) i'm kinda surprised this project didn't use ostree with apt.
- asar 2y ago+1 for Fedora Silverblue and Bluefin. Recently made the switch after having a terrible upgrade to Ubuntu 24.04, very happy so far with the use of brew and flatpaks in the OS.
- rcarmo 2y agoI’m using Bluefin as a mostly daily driver, and it has some rough edges, but it’s mostly OK (and my distrobox is Ubuntu, so most of my dev needs are covered). In between Bluefin and Bazzite, most of my zero-maintenance Linux usage is catered for (although I still rely mostly on macOS).
- OsrsNeedsf2P 2y agoOne of the Vanilla OS lead developers Mirko also made Bottles[0], a lovely piece of software for running Windows apps on Linux without fussing about the command line [0] https://usebottles.com/ https://usebottles.com/
- dartharva 2y agoThis looks like an enterprise solution, because why would you install such a locked-down OS on your personal computers? Experienced users don't usually screw up their systems to need this thing, and new users don't touch the dangerous settings in the first place. But the website makes no effort to relate to enterprise-level administration. Strange.
- haswell 2y ago> Experienced users don't usually screw up their systems to need this thing It’s less about experienced users screwing up and more about safely running software. I do lots of small experiments and regularly clone repos from GitHub to try various projects. I prefer to do this in an environment that’s been a bit more hardened and locked down. I like the ability to get my system back to a known good state. I’ve primarily been using NixOS as a daily driver, but have been pretty curious about Vanilla OS and plan to try it out.
- dartharva 2y agoWhich, again, is largely an enterprise/professional use case, don't you think? Why is this being marketed as a general-purpose OS then?
- Vegenoid 2y ago> I do lots of small experiments and regularly clone repos from GitHub to try various projects This is something done often by many in their free time for personal reasons.
- spookie 2y agoI do the same thing all the time! It has become kind of a superpower being able to deal with many different build systems, general nuisances trying to run both old and new software and just being in the know about the capabilities of all kinds of software. It's fun and keeps the blade sharp.
- 2y ago
- jbverschoor 2y agoHow does it compare to Qubes?
- vaylian 2y agoDifferent goals. Qubes cares very deeply about security. Qubes uses virtualisation to isolate different parts of the system from each other. Immutable distros like Vanilla OS care about providing a reliable base system that can be updated without any problems. They want to achieve this by having fewer moving parts by using readonly container images for all the system software. The user then installs additional user-facing software in their home directory (usually as flatpaks). The additional security is more of a by-product than a central design aspect as it is with Qubes.
- blisstonia 2y agoI’m glad to see the author note that the installer is problematic - I think I’ve only had 1 seamless install in about a dozen attempts. I filed a bug report to add a function to copy error messages from the installer - would be really helpful to file meaningful bugs reports
- Joel_Mckay 2y agoMost modern Debian/Ubuntu installations support overlayfs : sudo apt install overlayroot #edit the setup script vars sudo nano /etc/overlayroot.conf overlayroot="tmpfs:swap=1,recurse=0" #set different role contexts for grub sudo nano /etc/default/grub GRUB_SAVEDEFAULT=true GRUB_DEFAULT=saved GRUB_TIMEOUT=3 GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT GRUB_TIMEOUT_STYLE=menu GRUB_TERMINAL=console GRUB_CMDLINE_LINUX_READONLY="quiet splash i915.tuxedo_disable_psr2=1 i915.enable_psr=0 " GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.tuxedo_disable_psr2=1 i915.enable_psr=0 overlayroot=disabled fsck.mode=force fsck.repair=yes " #etc... #then insert an auto menu item for the read only OS boot up sudo nano /etc/grub.d/10_linux if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xtrue ]; then linux_entry "${OS}" "${version}" simple \ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" linux_entry "${OS} READ ONLY OS" "${version}" simple \ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_READONLY}" #etc... #and finally enable the role selection with your current kernel sudo update-grub sudo update-initramfs -u For systems that have enough ram and cheap SSD it ensures the flash memory will last longer. Additionally, running /home on F2FS for workstations can improve long-term hardware health, as Desktop users do not require the OS to be writable in many use-cases. It is not a perfect approach, as silly things done as root can always bork the backing partition. Best of luck =3
- _joel 2y agoYes, quite trivially...
- Joel_Mckay 2y agoDocker "/var/lib/docker" images may be placed on a mounted mutable partition path: https://www.digitalocean.com/community/questions/how-to-move-the-default-var-lib-docker-to-another-directory-for-docker-on-linux https://www.digitalocean.com/community/questions/how-to-move... Hardly the epic task it once was... =3
- _joel 2y agoI'm referring to this https://garden.glennstovall.com/notes/build%20your%20own%20dropbox%20fallacy/ https://garden.glennstovall.com/notes/build%20your%20own%20d...
- unixhero 2y agoI will try it. Immutability is a great trait. But hey, Linux Mint already is in the category of just works.
- M95D 2y agoI was expecting something like Gobo Linux, with various package managers installing packages into their own non-conflicting paths with Gobo symlink wizardry, but instead: > [...] through Apx, a wrapper around Distrobox. The latter, in turn, is a wrapper around Podman, Docker, or the simple container manager lilipod
- stuaxo 2y agoRead this as "Vanilla OS2" for a moment. Has anyone put OS2 in Docker yet?
- Xophmeister 2y agoI don't think that's how containerisation works. It uses the host machine's kernel, so unless Docker has been ported to OS2, there's no way to run OS2 inside Docker.
- diggan 2y ago> Orchid ensures your system is always up-to-date without interrupting your workflow. With smart updates that check only when your device is idle, you get the latest features The screenshot doesn't seem to show a toggle to turn on/off the automatic updates, not sure if that's because you can't, or the screenshot is just a mock up? I'm probably not alone in that I stop updating my OS and related software while working on things with deadlines, as the risk of breakage tends to be non-zero, and surely a new OS today has to at least allow people the choice for automatic updates?
- INTPenis 2y agoYou are not alone. I've been using immutable Fedora for the past 2 years and obviously I want control over when it updates.
- yjftsjthsd-h 2y agoEven if it automatically installs an update, it doesn't take effect until you reboot, right? And even if it does break something you just reboot and select the other partition and that rolls you back I think? (Although I agree that there should still always be user control)
- maicro 2y agoFrom the linked article: "Vanilla OS also checks for system updates weekly, by default. Users can change this to daily, weekly, or never if they choose. To minimize any impact on the user experience, the updater considers factors such as system load, battery level, and network connection before applying system updates. With the core operating system and applications set for automatic updates, Vanilla OS aims to relieve users of the often tedious task of keeping all packages updated." As long as the update process actually works, I think that's a good balance - weekly by default, but can be disabled.
- squarefoot 2y ago"Oh the kids these days... they don't even know the correct name is OS/2." (loads article page) "...Whooops!"
- jadbox 2y agoThis sounds very similar to Fedora Silverblue- immutable OS (rpm-ostree) with rich container support. It uses Debian instead of Fedora of course. Are there other differences though?
- alexeiz 2y agoVanilla OS is crap. I wanted to try in in a VM and it wouldn't even install. First, it complained that the disk size wasn't enough. Then it complained that it absolutely required UEFI. Then the installer just failed with a cryptic error showing a line of Golang code.