Possible Duplicate:
What is the best place to install user apps?

I've downloaded a .tar.gz and ran sudo sh install.sh. It's asking me where to install the program to. I don't want it cluttering up my home directory, and I want it to be available in the applications menu. Where should I put it? /usr/bin? /usr/local/bin? Or are those only for single binaries? This program wants to create a folder.

marked as duplicate by Oli Aug 18 '11 at 17:45

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 64 down vote accepted

First of all which Application are you installing? It is always preferable to install through the native Package Management as the Package Manager will handle the location, updates, paths and the launchers (shortcuts) for you. Also updates would be handled. You should ideally search for the package in the Software Center or Synaptic. PPAs can be used if the software is not in the default repos.

However if you are sure of installing this package, use /opt directory, /opt/appname for example. /opt would be suitable for this kind of installs. Launchers may or may not be created depending on the installer. You can create a launcher manually if the installer doesn't create. You may also use $HOME/bin for putting all your apps.

  • Komodo Edit 6. I don't see it in the repos. – mpen Oct 13 '10 at 18:01
  • 2
    In that case, Simply use /opt/komodo, or any subdirectory within /opt. This installer will create a launcher for you in the Menu (just tested). – LFC_fan Oct 13 '10 at 18:19
  • 4
    I'd go with /opt as well: tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html – dr Hannibal Lecter Oct 13 '10 at 18:22
  • interestingly, many programs/appplications automatically suggest to install to /opt if you do sudo install. – HongboZhu Sep 10 at 8:26

For all path-related questions, the Linux Filesystem Hierarchy Standard is the definitive reference.

If the program needs to create a folder, then /usr/local is the directory of choice; according to the FHS:

The /usr/local hierarchy is for use by the system administrator when installing software locally.

Avoid placing your local binaries directly under /usr, because according to the FHS, that hierarchy is reserved for the software provided by the Linux distribution (in this case, Ubuntu).

Note that, placing a binary in /usr/local/bin (or any other bin directory) will not create a menu entry; for that you have to provide a .desktop file and install it in the appropriate directory with the xdg-desktop-menu command.

  • 2
    I disagree. According to FHS, /usr/local should not contain extra directories beyond the ones specified, and /usr/local/bin should only contain binaries. Creating a folder in /usr/local or /usr/local/bin is a violation of FHS. /opt should be used in this case. – jordanbtucker Mar 28 '15 at 20:52
  • 7
    @jordanbtucker Hmmm, no the FHS states that: "No other directories, except those listed below, may be in /usr/local after first installing a FHS-compliant system." Actually, it's pretty explicit that /usr/local is for locally-installed software: "The /usr/local hierarchy is for use by the system administrator when installing software locally. [...] Locally installed software must be placed within /usr/local rather than /usr unless [...] to replace or upgrade software in /usr." – Riccardo Murri Mar 30 '15 at 8:45
  • 1
    @RiccardoMurri Ah, thanks for the clarification. That is an important difference. – jordanbtucker Mar 30 '15 at 15:58
  • "Extraction not performed" - You don't have the right permissions to extract archive in the folder "local". 1) I googled Firefox beta; 2) click download; 3) extract manager got opened; 4) I google where to extract it; 5) I get error; How I'm doing it wrong??? This is why people hate Linux! – icl7126 Dec 3 '17 at 9:14
  • 1
    Someone else might come up with something better icl7126 - I'm fairly new to linux (35 year old dev moved to Linux a month ago!) but for me what worked was to right click in the folder where the zip file is - select 'open in terminal'. Then type 'sudo xdg-open .' to open the file browser with elevated permissions. From there I could open the zip file with sufficient privileged to extract to the opt folder. – Chris Nevill Jan 14 at 11:40

Usually you would put it in /usr, binaries in /usr/bin if it's something bigger it would go to /opt.

Not the answer you're looking for? Browse other questions tagged or ask your own question.