Original author(s) | Mike Hearn |
---|---|
Developer(s) | Jan Niklas Hasse |
Initial release | Around 2002 |
Stable release | 1.4.2 [1] / May 24, 2009 |
Written in | Bash, C, C++ and Python |
Operating system | Linux |
Type | Package management system |
License | GNU Lesser General Public License |
Website | autopackage.org at the Wayback Machine (archive index) Autopackage at Google Project Hosting |
Autopackage is a free computer package management system aimed at making it simple to create a package that can be installed on all Linux distributions, created by Mike Hearn around 2002.
In August 2010, Listaller and Autopackage announced that the projects will merge. [2]
Projects such as aMSN and Inkscape offered an Autopackage installer, and Freecode offered content submitters a field to put the URL of Autopackages. The list of available packages is very limited, and most program versions are obsolete (for example, the most recent Autopackage of GIMP is 2.2.6, even though GIMP is now at version 2.8.2, as of August 2012). [3] [4]
Autopackage was designed for installing binary, or pre-compiled, versions of non-core applications such as word processors, web browsers, and personal computer games, rather than core libraries and applications such as operating system shells. Concept of autopackage was to "improve" Linux to a desktop platform, with stable binary interfaces comparable to Windows and MacOS. [5]
Autopackage is not intended to provide installation of core applications and libraries for compatibility reasons. Using Autopackage to distribute non-core libraries is something of a thorny issue. On the one hand distributing them via Autopackage allows installation on a greater range of systems, on the other hand there can be conflicts with native package dependencies.
Autopackage is intended as a complementary system to a distribution's usual packaging system, such as RPM and deb. Unlike these formats, Autopackage verifies dependencies by checking for the presence of deployed files, rather than querying a database of installed packages. This simplifies the design requirements for autopackage by relying on available resources, rather than necessitating tracking all the package choices of all targeted distributions. [6]
Programs that use autopackage must also be relocatable, meaning they must be installable to varying directories with a single binary. This enables an autopackage to be installed by a non-root user in the user's home directory.
Autopackage packages are indicated by the .package extension. They are executable bash scripts, and can be installed by running them. Files in an Autopackage archive are not easily extracted by anything other than Autopackage itself as the internal format must be parsed in order to determine file layout and other issues. [7]
Autopackage programs are installed to hard-coded system paths, which may conflict with existing packages installed by other means, thus leading to corruption. This can usually be remedied by uninstalling an older version of a package being installed with Autopackage.
The Autopackage files can also be installed and removed using the Listaller toolset. [8] Listaller simply includes the Autopackage packages into its own package container format and handles Autopackage like any other Listaller package file.
A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
The Linux Standard Base (LSB) was a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the software system structure, including the Filesystem Hierarchy Standard. LSB was based on the POSIX specification, the Single UNIX Specification (SUS), and several other open standards, but extended them in certain areas.
Arch Linux is an independently developed x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is intentionally minimal so that users can add only the packages they require.
Ingo Molnár, employed by Red Hat as of May 2013, is a Hungarian Linux hacker. He is known for his contributions to the operating system in terms of security and performance.
Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.
Puppy Linux is a family of light-weight Linux distributions that focus on ease of use and minimal memory footprint. The entire system can be run from random-access memory (RAM) with current versions generally taking up about 600 MB (64-bit), 300 MB (32-bit), allowing the boot medium to be removed after the operating system has started. Applications such as AbiWord, Gnumeric and MPlayer are included, along with a choice of lightweight web browsers and a utility for downloading other packages. The distribution was originally developed by Barry Kauler and other members of the community, until Kauler retired in 2013. The tool Woof can build a Puppy Linux distribution from the binary packages of other Linux distributions.
VectorLinux, abbreviated VL, is a Linux distribution for the x86 platform based on the Slackware Linux distribution, originally developed by Canadian developers Robert S. Lange and Darell Stavem. Since version 7 the Standard Edition is also available for the x86-64 platform, known as VLocity64 7.
TrueOS is a discontinued Unix-like, server-oriented operating system built upon the most recent releases of FreeBSD-CURRENT.
Zenwalk GNU/Linux is a desktop-focused Linux distribution founded by Jean-Philippe Guillemin. It is based on Slackware with very few modifications at system level making it 100% compatible with Slackware. It aims to be a modern, multi-purpose Linux distribution by focusing on internet applications, multimedia and programming tools. It comes with many specialized tools and is designed for beginners and advanced users alike, as it offers system configuration via both graphical tools and the command line.
AppImage is an open-source format for distributing portable software on Linux. It aims to allow the installation of binary software independently of specific Linux distributions, a concept often referred to as upstream packaging. As a result, one AppImage can be installed and run across Ubuntu, Arch Linux, and Red Hat Enterprise Linux without needing to use different files. It aims to be a format that is self-contained, rootless, and independent of the underlying Linux distribution.
A portable application, sometimes also called standalone, is a program designed to operate without changing other files or requiring other software to be installed. In this way, it can be easily added to, run, and removed from any compatible computer without setup or side-effects.
NimbleX is a small Slackware-based Linux distribution optimized to run from a CD, USB drive or a network environment. NimbleX has been praised for how fast it boots, as well as for its small disk footprint, which is considered surprising for a distribution using KDE as desktop environment. NimbleX was also remarked for its website that allows users to generate custom bootable images by using a web browser. It was also covered in mainstream Romanian press as the first Linux distribution put together by a Romanian.
RPM Package Manager (RPM) is a free and open-source package management system. The name RPM refers to the .rpm
file format and the package manager program itself. RPM was intended primarily for Linux distributions; the file format is the baseline package format of the Linux Standard Base.
Phatch is a raster graphics editor used to batch process digital graphics and photographs. Phatch can be used on the desktop as a GUI program or on the server as a console program.
Salix OS is a multi-purpose Linux distribution based on Slackware.
Listaller is a free computer software installation system aimed at making it simple to create a package that can be installed on all Linux distributions as well as providing tools and API to make software management on Linux more user-friendly.
Chakra was a Linux distribution originally based on Arch Linux and focused on KDE software, intending to provide a KDE/Qt minimizing use of other widget toolkits where possible. It was well received by critics during its existence.
Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel and the systemd init system. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system. Snap was originally released for cloud applications but was later ported to also work for Internet of Things devices and desktop applications.
What's a desktop Linux platform? Why do we need one? Essentially, software is easy to install on Windows and MacOS [...] because by depending on "Windows 2000 or above" developers get a huge chunk of functionality guaranteed to be present, and it's guaranteed to be stable. In contrast, on Linux you cannot depend on anything apart from the kernel and glibc.
What is autopackage? For users: it makes software installation on Linux easier. If a project provides an autopackage, you know it can work on your distribution. You know it'll integrate nicely with your desktop and you know it'll be up to date, because it's provided by the software developers themselves. You don't have to choose which distro you run based on how many packages are available. For developers: it's software that lets you create binary packages for Linux that will install on any distribution, can automatically resolve dependencies and can be installed using multiple front ends, for instance from the command line or from a graphical interface. It lets you get your software to your users quicker, easier and more reliably. It immediately increases your user base by allowing people with no native package to run your software within seconds.