Into which directory should I install programs in Linux?

  • I want to install a program in Linux and run it as a daemon. (Team Speak 3 in this case, but the question is general in nature). There is no package provided, only tarred binaries. Where in directory structure should I put such a program by convention?

    On the web I found that /opt is for "optional addon apps", while /usr is for "user programs". I found one tutorial suggesting /opt while the other sugested /usr.

    So which one is "more correct"?

    The "more correct" depends on your distribution. You should check your distribution's guidelines on where to put software that isn't managed by the package manager (often `/usr/local`) OR on how to create your own package for it.

    Thank you Leiaz. Your comment helped me to find the answer (http://askubuntu.com/questions/1148/what-is-the-best-place-to-install-user-apps). So I guess it should be /opt in my case (Using Linux Mint, which is based on Ubuntu) and the application is using a single folder. If you convert your comment into an answer, I will accept it.

  • Leiaz

    Leiaz Correct answer

    7 years ago

    The "more correct" depends on your distribution. You should check your distribution's guidelines on where to put software that isn't managed by the package manager (often /usr/local) OR on how to create your own package for it.

    As you said TeamSpeak just put everything in one folder (and may not be easy to reorganise), yes /opt/ is probably best.

    (But, for instance, in Archlinux, the package manager can install there, so I'd still make a PKGBUILD to install in /opt.)

    Also distributions usually try to follow the Filesystem Hierarchy Standard, so this is where to look for more generic convention.

    is there some alias to know where are located each directory by usage? (for example, where to put root configurations, where to put binaries, dependencies, templates...)

    Usually you put your downloaded folder in /opt and create a symbolik link from /usr/bin. If the app has a GUI a very useful thing to do is to create a NAME.desktop file in /home/USER/.local/share/applications such that you will see it from the main menu. https://unix.stackexchange.com/a/103222/130710

License under CC-BY-SA with attribution


Content dated before 6/26/2020 9:53 AM