from Hacker News

VanillaOS: Immutable Ubuntu-Based Linux

by bketelsen on 12/31/22, 9:54 AM with 124 comments

  • by bakoo on 12/31/22, 10:27 AM

    Just finished installing it in a VMware Workstation VM:

    * The installer lags unless you temporarily disable 3D acceleration until open-vm-tools are installed

    * The Norwegian keyboard layout defaults to Dvorak, which I suspect isn't the most common one ;)

    * The default installer resolution was a tiny 800x600. Click Activities and type Displays to get to the relevant settings.

    Now for the more exciting stuff, like testing if Tailscale works out of the box.

  • by presto8 on 12/31/22, 3:46 PM

    It is great to see immutable distributions becoming more popular. One thing that Ubuntu does very well however is the 5-year standard support for LTS releases (up to 10 years available via extended support).

    I wasn't able to find any information on VanillaOS's support roadmap. Since the project's goal is to have stability of the underlying OS, it would be great if VanillaOS had an LTS-like support plan in mind.

  • by jmbwell on 12/31/22, 4:29 PM

    Another approach I miss from SmartOS.

    It boots from a USB stick, loads system to a RAM disk, mounts configuration from a directory, and then hosts VM zones from ZFS datasets. The “root” system remains immutable.

    To patch or upgrade, you just write a new system image to the USB stick and reboot. It’s great.

    To skip the USB stick, you can do the whole thing over PXE.

    After running a cluster on SmartOS for many years, moving back to Linux and installing the OS feels fragile, dirty, and weird.

  • by nonrandomstring on 12/31/22, 11:26 AM

    I'm surprised immutable systems aren't more popular.

    Back in the Knoppix days it was first a novelty, and then a blessing that you had to boot from a CD-ROM, because it led to one amazing outcome:

    Less tinkering.

    Or rather - it split use from tinkering.

    Systems today are designed around the principles of deferral and volatility. You can add or change anything at any time. The user has absolute freedom to tinker, but also the vendor of always-connected products has endless possibilities to update. The result is a mess of dissatisfaction and half-bakery. Nothing is ever finished or fully right. It also, maybe paradoxically, leads to systems that feel less under your control.

    Systems like TinyCore and Live CD distros take a different approach that the OS is finished. You have two choices, take it or leave it.

    Unless you are prepared to cross a non-trivial barrier to remix and update the non-volatile image, you are forced to just use what you have. That leads to more productivity because you adapt to the tool rather than constantly adapting the tool to you.

    I like TinyCore because it's looking to a middle ground of baking immutable systems at key stage points and keeping changes separate from the immutable core. I can change the core if I want to, but rarely.

    I see that as a separate prospect than "appliance platforms" like Android and a PhoneOS onto which you can only load "apps".

    What ideas and favourite solutions do other's have for using immutability, or not liking it?

  • by Squarex on 12/31/22, 10:25 AM

    How does it compare to Fedora Silver blue? Apart from being based on Ubuntu.
  • by giancarlostoro on 12/31/22, 4:54 PM

    I noticed it lets you pick a primary package format to use, I just want a centralized package manager that highlights where my package came from or what format its in. I dont care if I use 5 different approaches thats already quite typical.

    What I do want to know is what package format is best for my use case: I want latest version of Python and other packages, and I am on Ubuntu, I dont want a new OS or docker. No idea which would be ideal or the pros and cons of each.

  • by spicyusername on 12/31/22, 3:23 PM

    Fedora CoreOS and Fedora Silverblue are mature alternatives, if Ubuntu isn't your thing.
  • by fdiof on 12/31/22, 1:11 PM

    Sounds like the only immutable part is the non-writable filesystem of the root partition, which is updated by having a live and non-live copy (A/B partitions) with the live updating the non-live and then switching on reboot. Similar to how Android works with its read-only partitions.

    From a whole filesystem perspective I think it's not accurate to call this immutable though, as you can presumably work around this with bind mounts that can be used to mutate (but not persist) any part of the read-only filesystem while the system is still running.

  • by eismcc on 12/31/22, 2:03 PM

    How does this compare to Nix? I’ve not used either but Nix sounded like what people want here.
  • by tiffanyh on 12/31/22, 3:42 PM

    NanoBSD

    If you like VanillaOS, you’d like https://docs.freebsd.org/en/articles/nanobsd/

  • by kkfx on 12/31/22, 4:03 PM

    A small "operation" note: immutable is an was an ancient kind-of dream, having something that's always in a known state even if it's run for significant amount of time. Formally it should give easy debug due to a real and substantial reproducibility.

    In practice it never works well though: first immutable means far longer to update and these days updates are a continuous stream, secondly even if the system is really immutable the complete infra tend to be not, making the immutable part next to useless in reproducibility terms.

    In modern terms a new concept born "idempotent" witch FORMALLY means "you can run it countless of time, it will works the same and do not even re-do already done steps, it ensure consistency of a system final state no matter the initial one". Such concept have more more practical applications, again in theory, but in practice it fail to be really idempotent beside trivial use cases. From mere Ansible Playbooks for an infra to NixOS idempotence is partially there but results tend to be not.

    Long story short: IMVHO the road have a name DAMN SIMPLER DESIGN, simpler infra, as the sole way to keep anything working and easy to restore when it does not.

    A bottomline: reproducibility for a server infra have some reasons, for desktops... Well... IMO it's a bit overrated in the era of "endpoint".

  • by rodolphoarruda on 12/31/22, 1:23 PM

    Such a great idea. This is the kind of project I'd be happy to support.
  • by alexeiz on 1/1/23, 7:05 AM

    Just tried to install it in qemu and the installer was broken. It couldn't select the vda disk (the selection was disabled). There was no way to proceed further.
  • by lostmsu on 12/31/22, 11:44 PM

    ELI13 what is an immutable OS and how does it affect workflow?
  • by leke on 12/31/22, 4:52 PM

    Would this require more or less performance requirements from hardware? Or doesn't it make a difference.
  • by Yasuraka on 12/31/22, 2:28 PM

    Running it over KVM for a few hours now and really liking it so far
  • by lloydatkinson on 12/31/22, 7:40 PM

    Wonder how this would compare to Ubuntu embedded version?
  • by hestefisk on 1/1/23, 3:12 AM

    One for Late Night Linux predictions
  • by sedatk on 12/31/22, 6:36 PM

    > Vanilla OS is an immutable operating system, core parts of the system are locked down to prevent unwanted changes and corruption from third-party applications or a faulty update.

    Can't imagine the HN responses if this was Windows marketing text :)

  • by dengolius on 12/31/22, 6:15 PM

    yet another ubuntu fork with gnome shell... at all
  • by meatjuice on 12/31/22, 11:27 AM

    This is good! I can recommend this to someone as an alternative to windows confidently.
  • by fbnlsr on 12/31/22, 11:46 AM

    Seems interesting but I don't see the difference with another simple distro like PopOS
  • by einpoklum on 12/31/22, 1:08 PM

    > core parts of the system are locked down to prevent unwanted changes and corruption from third-party applications or a faulty update.

    Correct me if I'm wrong, but don't they just mean they mount the root filesystem as read-only, and have a separate partition for /var and /tmp ?

    That's a reasonable idea, although I'm not sure it merits an entire distribution. Is there anything else to Vanilla or is it just this?

    > The GNOME Desktop is the perfect environment for your daily tasks

    Maybe if you're a GNOME developer, and even then I kind of doubt it.

    > designed to be a reliable

    But it's based on ubuntu, which uses systemd, which is something not to be relied on, in many respects; see: https://www.without-systemd.org/wiki/index_php/Arguments_aga...