Methods for Portable Applications on Linux
See also: Portable Applications (Linux)
This pages covers both "cross-distro" installation methods available for Linux-based and Ubuntu systems and also "truly portable" methods to create Portable Applications (Portable Apps). Projects that might provide ideas for Portable Applications are also included, even if unrelated.
- Description: A specification for Portable Applications ("application directories")
- Links: Home Source code Documentation OMG Ubuntu OMG Ubuntu #2
- Status: current
- Description: Offers some Portable Apps that don't require any installation on the target system. It works by including a small executable (ELF) "runtime" in the header of an ISO image. Very clever and works out of the box.
- Links: www.appbundles.org - offline
- Status: unmaintained/abandoned
- Comment: seemed an interesting project. It was mainly a format for Portable Applications (in the .parcel format) + a "launcher". It seemed a well-designed project and there were a few working examples. There was no automated way to create portable apps.
- Links: http://distributions.freedesktop.org/wiki/AppStream
- Description: Project with the following goals: agree on a common UI to install applications; agree on what metadata to use, how to generate it, where to host it; agree on a protocol to use to provide non-static metadata (featured apps, ratings, comments, etc.); decide what metadata can be shared between distros, and what should stay distro-specific (eg: do we want user comments to be shared?)
Autopackage [DEAD PROJECT], once installed, allowed the easy installation of .package files, they are just software installers, not Portable Applications.
Comment: Very interesting and one of the few that can create Portable Applications. Works by "monitoring" all the files/libraries required by a certain program, and then saves everything into a folder, with a easy-to-use script/launcher to run the (now-portable) application.
[DEAD PROJECT] CNR (CNR.com - now offline - archived page here) offered programs in .cnr format. Note that .cnr files do not contain the software, they are just "links", and need internet connection to be installed, those files could be installed in many distros, as long as they had the "CNR Plugin" (archive of the page here). Still in Beta, it did not worked very well. They did not have a plugin for Ubuntu 8.10, the current Ubuntu version at the time. It also seems there were not way no way to unninstall the software installed with CNR.
[DEAD PROJECT] Glick was a runtime-less application bundle system for linux (I contacted the developer and he said glick was just a on-time hack and he no longer works on it)
Programs in the .jnlp or .jar format can run on any computer with Java installed. .jnlp do not seem to be self contained programs, but .jar files are
Klik [DEAD PROJECT], once the user installed klik, all he/she had to do was visit the klik website and choose one of the programs there, and click a button/install to install the program. A .cmg file was created with the program, that could be launched by clicking on it or from the command line
LINA [DEAD PROJECT] seemed to be , among other things, some kind of platform that once installed, seemed to allow the easy installation of "LINAfied" software. In theory, would allow some kind of portable apps 
- Links: Home
- Description: "We provide a cross-distro independent package format as well as several tools to create cross-distro apps and to manage installed applications."
(OUTDATED PROJECT) I'm not really sure what Luau is, but it seems to be cool... From the site: "Automatically Update Programs And Libraries. Power And Flexibility Through Decentralized Control"
l-portable, in theory, can install some portable apps into a folder or USB flash drive, it did not worked for me, and at this time only offers Firefox, Mozilla Thunderbird and MPlayer to be installed as portable software.
Nix "is a purely functional package manager. It allows multiple versions of a package to be installed side-by-side, ensures that dependency specifications are complete, supports atomic upgrades and rollbacks, allows non-root users to install software..." <-- seems to be a good piece of software, but I never really tried...
(OUTDATED) OBLISK (alternative link) was "...a packaging system for GNU/Linux that will allow any binary package to run on virtually any system, regardless of the setup. It also makes the installation process easier for the end-user by eliminating the need to use secondary tools to install"
PackageKit is a cross-distro package manager (a very good one)
- Links: Homepage FAQ
- Status: maintained
- Descritpion: specification for portable apps format
- Comment: some portable apps are provided. The RUNZ framework needs to be installed first, however, a runz file can be coverted to a true portable app (that does not require the framework) with the runz2self program. In the future (hopefully), .runz files will not need the framework.
[DEAD PROJECT] SFS Technology allowed, in theory, to run portable programs in .sfs format. Some apps from their website worked well, however, only about half of the ones I tested worked...
Smart Package Manager
VMware ThinApp is a tool to make Portable Applications for Windows
Wine allows users to run some windows programs, therefore, allowing users to run some windows portable applications on Linux.
Zero Install is an easy way to install software: If a software developer publishes software in this format, just grab the install link (example: http://rox.sourceforge.net/2005/interfaces/ROX-Filer ), paste/drag it into Zero Install, and the program will be downloaded and installed.
While this does not make the software portable, there is a program, to be installed together with Zero Install, called Zero2Bundle, that can create "self-contained bundles" (meaning: "portable apps"! that don't require any other software installed, not even Zero Install), but only works with programs already available in "Zero Install format"...
If you want to suggest more software, or you have found a mistake, you can contact me!