It’s been a while since we started using znx for the first time in Nitrux. We had got many different reactions from the OSS community, some of which were not very favorable. We knew from the beginning that this idea was going to cause a lot of stir, but we are committed and resolved to improve many areas of the operating system that are ignored just for tradition.
This time, we will compare two projects against znx: Wubi and Universal USB Installer. What is the added benefit of using znx compared to the other two? I will try to answer that question in the following paragraphs.
Wubi.
Wubi was an installer (it has been forked and is being actively maintained) for Windows users that allowed Ubuntu to be installed and uninstalled in a safe, natural way, like any other Windows application. From its GUI, you were able to create a new user, define a password for that user, select the default language, and define the size the installation would have occupied (persistent storage). Wubi worked only on BIOS and not in UEFI systems, whereas the fork does work on UEFI systems. When the machine was booted, the user was able to choose Ubuntu from the boot menu.
Universal USB Installer.
Universal USB Installer (UUI) is a live Linux bootable USB creator that allows you to choose from a selection of Linux Distributions to put on your USB flash drive. UUI has fewer features than Wubi, as you can only define the size to be used as persistent storage. When the machine is booted, the user can choose any of the installed systems.
znx.
znx is a tool that lets you deploy multiple operating systems and keep them updated without having to repartition the drives. It’s all about simplicity and reliability. znx It doesn’t have any GUI or CLI, as it’s intended to be used by higher-level tools (a CLI, a GUI, etc.). znx further extends the concept of frugal installations (we call them “deployments,” not installations) by also serving the updates (which is a very critical state). It does not just manage the deployment, but also the whole lifetime of an image; this is, updating it safely (and keeping a backup of the last working version) and, possibly, discarding it. znx is designed to work only on UEFI.
Data persistence.
These three systems have support for persistence, but they differ in the way it is implemented. Both Wubi and UUI use a file that serves as a storage device. That file is mounted at boot time as a union filesystem (either aufs or overlayfs). This permits the data mentioned above persistence.
In the case of znx, it’s preferred that images are deployed to the computer’s primary storage device instead of USB storage, but it’s not mandatory. We store data directly on the device without intermediate files. At boot time, we create an overlay mount on /etc. And /home. Our focus is to have a clean core system, and our preferred application distribution format is AppImage, so this made sense to us.
Conclusion.
So,
what is the added benefit of using znx compared to the other two?
With znx you get more than just putting an ISO image on a storage device. znx can handle updates and boot loader configuration automatically. It’s a more elaborated (though simple) and fine tool.