Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Basically, my problem is that I don't like installing anything single user. In fact, I don't like executibles in my home directory all together. However I'm not always sure what the best prefix for applications is.
Can somebody give me a quick reference about prefixes?
in general, I usually install non-interactive programs in the / prefix
and gui programs in /usr or /usr/local. The only time I use /opt is when it's a ported program which doesn't use a typical directory hierarchy and I just want to keep it's messy directories away from the rest of my stuff.
Also, is there any prefixes I haven't considered besides /home?
As Cedrik said: /bin and /sbin - core executables: stuff you need to help recover in case your system cannot mount filesystems other than the root filesystem
/usr/bin and /usr/sbin - greater functionality, less necessary executables. Not considered a "safe" place for enduser-installed executables when doing a major operating system upgrade
/usr/local/bin and /usr/local/sbin - Generally the "safest" place for enduser-installed executables. Operating system/distribution upgrades should leave these directories (and any below /usr/local in general) alone.
/opt - more of a testing ground for applications and/or keeping multiple versions of the same application installed simulataneously. Enduser-installed applications should be safe here as well between major upgrades.
Of course, all the above about being "safe" for major upgrades requires that the enduser choose not to format any partition that contains the mentioned directories.
Let me clarify, that when I said a prefix of /, I did not mean I was installing executibles in the root directory, I meant in /bin and /sbin
From my limited experience installing software most "./configure --prefix" flags seem to be referring to prefixes in this way.
Anyway, based on your advice, Dark_helmet, If I wanted to install, KDE from source "I like pain ", Where would I want to put the desktop environment
I was leaning towards /usr but don't really know how to justify it over /usr/local
Distribution: Xubuntu 12.04, Mythbuntu, Ubuntu Server 12.04
Basically, anything self compiled should go into /usr/local/*.
Some software packages simply don't want to fit into something FHS-like and have their own (sub)directory structure. I put these into /opt.
You could make an argument for one of three locations:
Personally, since you are installing from source (part of an LFS project perhaps?), I would pick /opt first, and maybe switch to /usr once you have everything working/verified.
An install to /opt is more "contained" and much easier to remove (in case of mistake) than /usr: because you can simply "rm -rf" directory and start again. However, an install to /opt will require some extra steps on your part (changing PATH, LD_LIBRARY_PATH, and perhaps some other things). The reason to re-install it to /usr would only be if you want to eliminate the extra steps of special PATH configs. The install would appear "seamless" to other users (if you have anyone else using the computer).
Alternatively, you could leave it in /opt, and install subsequent KDE versions later. To switch versions, you would simply change your PATHs. Or, if you feel comfortable with symlinks, create a symlink in /opt (e.g. "/opt/kde_current") to point to the version of KDE you want to use. Gear all your config to use "/opt/kde_current" and switching versions should be as simple as switching the symlink target.
Also, I would suggest /usr over /usr/local because a GUI environment is generally considered a system-level program because it controls user-computer interaction. It's not a simple a-la-carte application install. And, if you were to install another distribution on top of this system, their KDE would likely go in /usr. So there would be some potentially hair-pulling conflicts if you installed to /usr/local and they installed to /usr.