Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I want to install some extra software on my Debian system (TexLive and NLTK) for which I can't find recent versions in the repositories. Both use their script-based installers. Where is the best place to put these on a Debian system? /usr/local/ or /opt or another place? Is that best I use ROOT or does that not matter?
If you want your newly-installed packages not to interfere with the package manager, it'd probably be better to install them in /opt.
If you install it as root, you'll install it system-wide (for all users). When some apps let you install it as a user, it's going to be only for that particular user.
AFAIK, if you want to install it in /usr/local or /opt, you'll have to be root (because of permissions on that directories)
Some things to consider. If the software you plan to install wants all its files in a single directory you are probably better to use /opt/. Eg
Code:
/opt/PackageThatDoesNotUnderstandFSH-1.3
Then you need to add and entry to your $PATH and perhaps $LD_LIBRARY path etc.
If your package does understand FSH then you may find it better to install in /usr/local/
Eg.
Code:
cd /usr/local/src
mkdir baz
cd baz
wget http://foo.bar/download/baz-1.2.tar.gz
tar xzf baz-1.2.tar.gz
cd baz-1.2
./configure --prefix=/usr/local
make
getroot make install
Where I have assumed that your user has write permission to /usr/local/src and that "getroot" is sudo or su or whatever.
If using /usr/local and you think you may want to upgrade baz-1.2 to baz-1.3 or later you may want to consider using stow which does a kind of simplistic package management within /usr/local (or anywhere else) using symlinks.
If you want your newly-installed packages not to interfere with the package manager, it'd probably be better to install them in /opt.
The package manager should not be using /usr/local either. ... but this may be distro specific. Also distros may have a policy on where packges should and should not install files to, but it will depend on the package actually respecting the policy.
Quote:
If you install it as root, you'll install it system-wide (for all users).
AFAIK, if you want to install it in /usr/local or /opt, you'll have to be root (because of permissions on that directories)
Strickly speaking it depends on your setup. For example on all my systems /usr/local is writable by members of the staff group.
Quote:
When some apps let you install it as a user, it's going to be only for that particular user.
That again depends on file permissions not on who does the installation.
Evo2.
Last edited by evo2; 06-16-2010 at 05:56 AM.
Reason: quote tag fix
The way I see it is:
/usr/local is a prefix for compiled apps, it host a usr/,bin/,sbin/,lib/,include/...(all other). /opt have one folder per apps with their own prefix inside. /usr/local is a mess while /opt can stay clean quite easilly. I know it is not officially like that, just like /var vs /srv for data, but as compiled packages tend to prefix themselves to /usr/local, it is quite common to see this kind of setup.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.