Vanilla OS has released its first version. Vanilla OS is an immutable desktop Linux distribution that brings some interesting new technologies to the table, such as the Apx package manager.
By default, Apx provides a container based on your Linux distribution (Ubuntu 22.10 for Vanilla OS 22.10) and wraps all commands from the distribution’s package manager (apt for Ubuntu).
Nevertheless, you can install packages from other package distributions. For example, using the
--aur
flag, a new container based on Arch Linux will be created. Here, apx will manage the packages from the AUR (Pacman and yay), tightly integrating them with the host system. Using the--dnf
flag with apx will create a new container based on Fedora Linux. Here, apx will manage packages from Fedora’s DNF repository, tightly integrating them with the host system.
Another tentpole technology is ABRoot, which brings atomicity to this distribution.
Atomicity is the ability to perform a specific operation in a way where if it fails, nothing will be changed and if it succeeds, the changes will be applied in their entirety.
ABRoot achieves this by transacting between 2 root file systems: A and B. Let’s make an example. Let’s say you want to install a new package. ABRoot will check which partition is the present root partition (i.e A), then it will mount an overlay on top of it and perform the transaction. If the transaction succeeds, the overlay will be merged with the future root partition (i.e B). On your next boot, the system will automatically switch to the new root partition (B). In case of failure, the overlay will be discarded and the system will boot normally, without any changes to either partition.
Vanilla OS looks incredibly interesting, and I’m definitely keeping an eye on it.
Just two questions :
1- how many different package managers on Linux ?
2- What is the “best” and most “universal” of them ?
Seriously ?
1 – Quite a few
2 – Whichever one you’re using right now.
Snap ? Flatpak ? Appimage ?
Kochise,
Personally I like the decentralized approach of appimage, but I think it may end up being less supported / universal next to the centralized snap & flatpak packages being built by the distro maintainers.
This is more a personal gripe than anything, but I don’t like how snap packages pollute the mount point namespace.
Ok, thank for the insight.
Here’s a pretty good video to watch if you’re interested with a fairly unbiased representation (you may have noticed that this is rare, haha).
“Snap v Flatpak v AppImage – In Depth Pros & Cons of Universal Packaging”
https://www.youtube.com/watch?v=ywwTov7S9M0
Frankly I don’t think it matters to a normal user as long as the software they need is available. Everything gets abstracted under the hood and an average user won’t really care about the details, most of them just want to get the job done and get on with using their software.
I wouldn’t call those package managers, especially AppImage.
To your second question I would say it’s a “try it and see” approach. All Linux package managers have pros and cons, and there isn’t anything really “universal” about them all apart from the base ability to install, upgrade, downgrade, and remove packages cleanly.
With that said, Debian’s apt is probably the most widespread, as there are so many distros based on Debian (and based on Ubuntu which is based on Debian). Second place in popularity is obviously RPM, used by RedHat’s vast family of distros, as well as OpenSuse and a few other big distros.
Personally I’ve found Fedora’s dnf to be extremely powerful and detailed, as well as Arch’s pacman. My personal favorite though is Void’s xbps, as I’ve found it to be the easiest for a non-developer like me to build custom packages. It’s a well designed and thought out, simple method of building a package from source that is the polar opposite of, for example, Debian’s opaque and finicky build system. I’m sure actual developers find Debian’s system to be more to their taste as they are more familiar with the intricacies of writing software, but it’s too much for a layman like me.
“My personal favorite though is Void’s xbps, as I’ve found it to be the easiest for a non-developer like me to build custom packages”
Oh wow, easier than pacman and the AUR? I might have to check that out.
Yes, being able to easily make my own packages using the pacman / ABS / AUR toolset was one thing that drove me to Arch Linux from Debian and APT.
I haven’t tried to create packages for Arch, so I can’t say if it’s easier/better or harder/worse. You can check out the Void way here:
https://github.com/void-linux/void-packages
https://github.com/void-linux/void-packages/blob/master/Manual.md
I hope APX sees a wider adoption in other distros. Being able to use packages from other distros seems amazing, especially for software that isn’t available in your distro’s repos, but you know it is available in some other distro.
Hmm sounds interesting let’s have a look at their website
>uses gnome
… count me out then
Also, their community exclusively exists on Discord, another red flag.
I’m not a GNOME fan either, but I have yet to find a Linux distro where you can’t change the DE to your own personal favorite. The supposed magic of this distro is behind the scenes anyway.
No argument there! Why would anyone in the FOSS world want to use a closed, proprietary, buggy platform like Discord instead of IRC or even a modern open source solution like Matrix? It’s only going to turn away serious FOSS enthusiasts and serve to make it an elitist club.
Well this is new to me.
Now as a comfortable Debian/Devuan user that has everything I need in one repo or another that recieves updates, first thought is – do I need to be able to install from anywhere/anything?
BTW, the only software I have to manually update is Firefox. If anyone has a repo for the latest let me know :).
My daily work machine runs Zoom, Virtualbox, MSTeams (for how long?), Teamviewer. Apart from these everything else I use is OSS and in the main repos.
I’d like to see a video or otherwise showing a use case where this is gold for them. I have in the past come across software that favored a package manager that I wasn’t using. I’d say I probably have stuck with DEB for years because of familiarity and popularity. I’m not against the APX idea at all. Very curious. Maybe it will be the “chosen one” to bring balance in the Linux galaxy?