Release of Vanilla OS 2 distribution, using containers and atomic updates

After a year and a half of development, the user distribution release of Vanilla OS 2 has been published. Based on the Debian package base, it goes beyond a typical rebuild. The system environment in Vanilla OS is mounted in read-only mode and updated atomically, while applications run in separate containers using Distrobox tooling. The user environment features an unmodified GNOME, provided in the exact form that developers originally release it. Custom graphical configurators are written in GTK4 using Libadwaita. The size of the ISO image is 1.62 GB.

For atomic system updates, the project is developing the ABRoot toolkit, which creates two identical root partitions on the storage - active and passive. The system update is fully downloaded and installed in the passive partition, and after a reboot, the partitions swap places - the partition with the installed update becomes active, while the previous active partition switches to passive mode and waits for the next update installation. Updates are checked and installed automatically in the background during minimal system load and when there is sufficient battery charge. The frequency of update checks can be configured. The installed update is activated upon the next reboot. If something goes wrong after the update, a rollback to the previous version is performed.

Release of Vanilla OS 2 distribution, using containers and atomic updates

Additional applications are installed in separate containers using the custom package manager apx, which allows packages from different distributions to be installed in isolated sandbox environments (for example, packages from Debian, Ubuntu, Arch Linux, and Fedora can be installed). The package manager is implemented as a wrapper over the Distrobox toolkit, allowing for quick installation and launching of any Linux distribution in a container and ensuring its integration with the main system. The format of the container-based packages (Flatpak, Snap, or AppImage) is chosen at the first launch.

The VSO (Vanilla System Operator) toolkit is being developed for system administration, allowing tasks such as system updates, configuration changes, and creating tasks linked to specific actions (for example, you can set up a task to display a notification after the battery has finished charging). It offers built-in capabilities to run Android applications using the Waydroid toolkit.

In the new version:

  • Instead of Ubuntu, a hybrid package base based on Debian GNU/Linux and proprietary Vib (Vanilla Image Builder) modules is used to form the basic system.
  • The system update utilizes a completely rewritten second version of the ABRoot tool, transitioning to the use of images in OCI (Open Container Initiative) format. Features have been added for creating system state dumps, changing Linux kernel parameters, editing configuration, generating local images with additional packages (e.g., drivers, libraries, and codecs), rolling back changes, and regenerating initramfs.
  • Support for dynamic storage allocation (thin provisioning) using LVM (Logical Volume Manager) has been added, allowing the creation of logical disk partitions larger than the available storage.
  • PolKit has been implemented instead of sudo for privileged execution of operations.
  • The second edition of the VSO (Vanilla System Operator) tool has been introduced, which acts as a system shell and package manager, automating the execution of system tasks and allowing the installation of Android applications from the F-Droid catalog, run using Waydroid.
  • A Sideload utility has been added, allowing the installation of separately downloaded packages in DEB and APK format.
  • The second version of the Apx package manager is proposed, supporting the creation of custom environments, allowing the creation of stacks for replicating environment settings, and integrated with various package managers. Custom environments can be used, for example, to create separate development environments for different programming languages. The Distrobox toolkit has been updated to version 1.7.2.1.
  • A graphical interface has been added to simplify the use of the Apx package manager.
    Release of Vanilla OS 2 distribution, using containers and atomic updates
  • Components FsGuard and FsWarn have been added to ensure system integrity during boot.
  • The installer (Vanilla Installer) utilizes a trimmed-down GNOME session, with the ability for specialized OEM installations, a new Albius installer backend has been introduced, enabling the encryption of the /var partition using the LUKS2 format, and support for manual partitioning and network configuration has been added.
    Release of Vanilla OS 2 distribution, using containers and atomic updates
  • The installer has a built-in recovery mode (Recovery), providing the ability to run utilities from the command line and use applications like GParted.
  • The installer provides recommendations for installing VM images and NVIDIA when booting in virtual machine or with an NVIDIA GPU.
  • The interface displayed upon first launch after installation uses a trimmed-down GNOME session, adding capabilities for network configuration, user creation, and web browser selection.
  • A new graphical interface has been added for switching between multiple graphics cards (for example, integrated GPU and discrete card). The Vanilla Tools toolkit has added commands for managing the used GPU, launching applications with NVIDIA GPU, and switching profiles to select the GPU in use.
    Release of Vanilla OS 2 distribution, using containers and atomic updates
  • A new utility for building images, Vib (Vanilla Image Builder), has been implemented, allowing the creation of custom editions of Vanilla using standard templates.
  • The Eratosthenes platform has been added for navigating packages available in the project's repositories.
  • The Atlas platform has been added for navigating available system images in OCI format.
  • The Differ utility has been added for analyzing differences between two images in OCI format.
  • The use of the proprietary Vanilla Control Center has been discontinued, replaced by the standard GNOME Settings interface.
  • Component versions have been updated, for instance, the Linux kernel has been upgraded to version 6.9.8, and GNOME to branch 46.
    Release of Vanilla OS 2 distribution, using containers and atomic updates

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster