A new version of the software distribution format Installer-SH has been released, designed to address the problem of software distribution in Linux and FreeBSD distributions (desktop segment). Initially, Installer-SH was developed for internal use within the Chimbalix distribution, but as it evolved, it became a universal installation package for Linux distributions and later gained support for the FreeBSD platform, allowing for the delivery of builds for different processor architectures in one package.
Compared to using regular archives or the AppImage format, Installer-SH has optimized compression algorithms that reduce network traffic during transfers and minimize the space occupied on local disks. The package operates by default in the home directory and does not require root privileges for software installation or removal. However, users can choose the 'for all users' installation mode, which utilizes system directories and requires root privileges. By default, Installer-SH places configuration files and cache in a separate directory alongside the program to avoid configuration file conflicts when installing different versions of the same program. However, users can revert to the classic method where the main home directory is used for storing configuration, cache, and other files.
The packager can disable unnecessary setup steps before installation, as not all applications use the home directory and not all programs function correctly when installed in system mode with root privileges. Developers can update an already created and configured package by replacing the software files, updating basic information, and restarting the packaging and cleanup process. Most routine tasks are automated and can be summarized by calling the installer with the required arguments (a brief help is available when invoked with the -h, -help, or —help arguments).
Thanks to the isolation capabilities of the format, distributable packages can be created even for applications that require specific files in the home directory. In this case, all necessary files for operation should be placed in a dedicated 'userdata' directory next to the program, and the corresponding setup step should be disabled to prevent the user from accidentally breaking anything. Uninstalling unnecessary programs is done using the built-in uninstaller present in each program.
The Installer-SH format operates according to the specifications of XDG Desktop and PortSoft and is not dependent on any specific OS desktop environment that adheres to the XDG Desktop specifications. The PortSoft specifications were originally developed for the Chimbalix distribution and are intended for the structured installation of software in a dedicated directory to prevent confusion among installed applications of different architectures and versions.
Since the PortSoft specifications are a relatively new development compared to the XDG Desktop, the Installer-SH format is self-sufficient, containing everything necessary for deploying the PortSoft specifications and preparing a dedicated section in the applications menu. This dedicated section in the applications menu is necessary to organize installed applications and provide access for launching and maintaining each program individually.
Although the format is oriented towards the desktop segment, software installation is possible in distributions that lack a graphical interface. However, this usage scenario has not been tested in real conditions.
Users can create a backup of any correctly assembled program, and it will retain functionality after being copied to another computer (shortcuts cannot be copied in this way, as they are distributed according to XDG specifications to three different locations in the file system). Each distributable software installation package is a full-fledged carrier of the Installer-SH format. Based on already existing installation packages, the format can be restored, and new installation packages with other applications can be created.
The first multi-platform installation package for the game "2048" in Installer-SH format 2.8 supports architectures x86, x86_64, amd64, and platforms Linux and FreeBSD. The size of the installation file is 2.1 megabytes. This package has been successfully tested on Debian 7 (GNOME, x86_64), Fedora 20 (Xfce, x86_64), Gentoo (i686), Manjaro 20 (x86_64), openSUSE 13.1 (KDE, i686), Slackware 15 (x86_64), FuryBSD 12.1 (amd64), and NomadBSD 14.1 (i386). In addition, several dozen more packages are available.
Source: opennet.ru
