Neha Patil (Editor)

AppImage

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Simon Peter

Written in
  
C

Development status
  
Active

Operating system
  
Linux

AppImage

Initial release
  
2004; 13 years ago (2004)

Stable release
  
6 / September 11, 2016; 5 months ago (2016-09-11)

AppImage is a format for distributing portable software on Linux without needing superuser permissions to install the application. It tries also to allow Linux distribution-agnostic binary software deployment for application developers. Released first in 2004 under the name klik, it was continuously developed since then, renamed in 2011 to PortableLinuxApps and 2013 to AppImage.

Contents

Objectives

AppImage strives to be an application deployment system for Linux with the following objectives: simplicity, binary compatibility, distro agnosticism, no installation, no root permission, being portable, and keeping the underlying operating system untouched.

Properties

AppImage does not install the application in the traditional, Linux, sense putting its various files in the distro's appropriated places in the file system. Instead, like its predecessors klik and portablelinuxapps, no such installation actually takes place. The AppImage file is just its compressed image; this is mounted when it runs.

It uses one file per application. Each one is self-contained: it includes all libraries the application depends on that are not already part of the targeted base-system. An AppImage is an ISO 9660 file with zisofs compression containing a minimal AppDir and a tiny runtime.[1] An AppImage applications can be added to a live CD by adding only one file to the live CD.

AppImage files are simpler than installing an application. No extraction tools are needed, nor is it necessary to modify the operating system or user environment. Regular users on the common Linux distributions can download it, make it executable, and run it.

klik

AppImage's predecessor klik was designed in 2004 by Simon Peter. The client-side software is GPL licensed. klik integrated with web browsers on the user's computer. Users downloaded and installed software by typing a URL beginning with klik://. This downloaded a klik "recipe" file, which was used to generate the .cmg file. In this way, one recipe could be used to supply packages to a wide variety of platforms. With klik only eight programs could be run at once because of the limitation of mounting compressed images with the Linux kernel, unless FUSE was used. The file was remounted each time the program is run, meaning the user could remove the program by simply deleting the .cmg file. A next version, klik2, was in development; and would natively incorporate the FUSE kernel module, but it never reached past the beta stage. Around 2011, the klik project went dormant and the homepage went offline for some time.

PortableLinuxApps

Simon Peter started a successor project named PortableLinuxApps with similar goals around that time. The technology was adapted for instance by the "portablelinuxgames.org" repository, which provides hundreds of mostly open-source video games.

AppImage

Around 2013, the software was renamed again from portableLinuxApps to AppImage; the license became the MIT license. AppImage is the format and AppImageKit is a concrete open source implementation. The development happens in a GitHub repository with latest changes from 2016.

Reception and usage

Klik was in 2007 the inspiration for Alexander Larsson's glick project, the precursor of Flatpak which was released in 2016.

Linus Torvalds' dive log application Subsurface started to use AppImage around 2015. Subsurface's traditional packaging was changed to a portable, self-contained, distro-agnostic AppImage, as binary software deployment for the Linux users of the various Linux distributions turned out to be problematic.

MuseScore started in April 2016 to use AppImage builds for software deployment for all Linux flavors.

Krita, a digital painting free and open-source software application, is also deployed using AppImage from version 3.0 in May 2016.

digiKam, an open source photo management application, also includes an AppImage bundle from version 5.3.0, released in November 2016.

References

AppImage Wikipedia