PortableLinuxApps) is a format for Linux portable applications. Its major advantages are:
It does not require root permissions.
It does not require to install any application (it uses chmod +x).
It does not require the installation of runtime or a daemon into the system.
AppImage might be used to distribute desktop applications, command-line tools and system services (daemons).
AppImage uses filesystem in user-space (FUSE). It allows to easily mount the images and inspect their contents.
The main steps of the packaging process are pretty straightforward and could be easily automated:
Create a directory like
Download the AppImage runtime (AppRun file) and put it into the directory.
Copy all dependency files, like libraries (.so), resources (e.g. images) inside the directory.
Fill the myapp.desktop configuration file with some brief metadata of your application: name, category…
The result of the previous steps will give you a MyApp-x86_64.AppImage file, which is a regular Linux ELF file:
$ file MyApp-x86_64.AppImage
MyApp-x86_64.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.18, stripped
Finally, that file file could be easily distributed just by copying and uploading it to a Web or a FTP server, moving it to the flash drive, etc..