Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Asking this question got me thinking - are there portable apps available for Linux? I know a lot of simple tools can be run in a standalone fashion, but will I run into security limitations with common Linux distributions?

Considering the availability of tools etc. on most default Linux systems anyhow, is there even a need for this?

EDIT: To clarify, I'm looking for apps I can run on an existing Linux system - I don't want to carry around the whole OS, if I don't have to.

share|improve this question

Most of applications that use GNU tool-chain can be built from source like this:

./configure --prefix=[directory which will contain your 'portable' application]
make install

and then moved to different computer with compatible libraries.

Linux doesn't have registry many applications usually do not really need to be 'installed' they can be built from the source instead so making "My Specialy Portable © applications for Linux" is apsolutely pointless so I think nobody even cares about this.

Just look at the topmost answer for this question and you'll understand that stupid concept of making applicatins 'portable' 'usefull' just in the world of registry and proprietary applications with license management.

share|improve this answer
Thanks! I wasn't sure it was stupid before, but you really drove that point home ;) – Andy Mikula Jul 30 '09 at 19:33

The ./configure trick will work for some applications. Many applications, however, encode the prefix into themselves and then use it at run time to find supporting files. They also need the ability to load their shared library files (although the LD_LIBRARY_PATH environment variable can be set to help with that). The result of this, however, is that the portable applications will likely not be very portable -- they will depend upon being at the specified prefix. This will probably work in many places (most modern distros mount media at /media/DISKNAME), but it does prevent the application from being truly portable and location-independent.

The net answer, therefore, is that making portable Linux applications, while not impossible, is rife with subtleties. I suspect that this is a major contributing factor to why it isn't done near as much as it is on Windows. Additionally, public computing facilities (where the bulk of the portable application benefit arises) typically do not run Linux. A notable exception is university labs, but you can usually install some extra software in your home directory there.

share|improve this answer

Linux for Travelers tracks this topic and has several tricks to get around the fact that there aren't (yet?) portable apps installs aimed at Linux - likely for the reason you mentioned: if you have install privileges already adding new applications is easy enough to not need using your portable ones.

  • Install WINE and run the apps from or elsewhere. This seems like overkill, but it does let you use a portable apps install you already have.
  • Run Damn Small Linux inside your existing Linux install (e.g. on Ubuntu). This one is useful if you don't already have install privileges on a given Linux system.
share|improve this answer (maintainer of Super OS version of Ubuntu) maintains some portable apps for Linux:

share|improve this answer

You can check Portable Linux Apps. Just download portable binaries and make them executable. all the needed dependencies are included in the binary.

share|improve this answer

To make any app portable, you might be able to make symlinks that you put in the home folder when you log in; the app will save preferences through the symlink to wherever it leads, say the flash drive. I've used this for portable Minecraft saves.

share|improve this answer

The problem with running apps on existing Linux systems is that often apps are compiled to use shared libraries. There are many Linux distributions and many versions of base libraries. If you are lucky, the existing Linux system will have the same versions of them and your app will be linked against the correct version of libraries. If not, it won't work. A workaround would be to compile the apps you need with statically linked libraries, but this leads to much bigger program sizes.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .