Help - Search - Members - Calendar
Full Version: Linux Literacy -- /usr/bin And Isntalling
Linuxhelp > Support > Technical Support
jeff_brown
Why is /usr/bin flat? Isn't that messy? Would it not be preferable to put the code for related programs in spearate directories within /usr/bin?

I'm about to install CheeseTracker, and in the install instructions it says "edit the makefile, change the install directory [from /usr/bin to whatever you want]". Why would one want to change it?
hughesjr
All executables are in /usr/bin (or /bin , /usr/local/bin) and all system executables are in /usr/sbin (or /sbin or /usr/local/sbin) ... that is just part of the LSB (Linux Standard Base). It is the way UNIX has done it for more than 30 years as well.

The executables are all in one place ... which is in the standard PATH.

Here is the section of the LSB that discusses Filesystem Hierarchy.
Termina
Ugly, confusing, and when you're looking for something that you're not sure the name of, hopeless. happy.gif

Not sure why they don't... stuborn, I guess. wink.gif

*dodges a shoe thrown by hughesjr*
hughesjr
Hey ... Don't go changing stuff on me now!

I've been learning this for the last 21 years ... and I just about have it down now laugh.gif
jeff_brown
The LSB FSH was really interesting. Odd, bcause it's such a dry read, but I was fascinated.

Apparently, then, every command in a flat executable directory is supposed to be standalone. I thought /usr/bin was holding the contents of entire libraries -- for example, all the functions needed for xmms. I was wrong -- there's only one executable for xmms in there, that executable being xmms itself. If that's the case for every program, then I suppose it's reasonable to have a flat directory because it lets you to know everything you can do.

Questions of transparency aside, I'm still unclear as to why somebody would change the /usr/bin target directory in a configure (or was it make?) file when installing software.
Robert83
Hi,

Security...Security...Security would be the answer to that,

you see, when everyone is using the same settings, same browser, same e-mail software , viruses trojans come out that search for weakpoints in those software, those destinations...and will find them easier at the default location...

Sincerely
Robert B
hughesjr
also back to the FSH ... somethings would go to /usr/local/bin if they are for a segmented group and not for all users. Somethings might go in /usr/sbin if for administrators ... or in /bin if you need it available before filesystems other than root are mounted.

And it is the case that the executable goes in /bin, /usr/bin and /usr/local/bin .... the libraries go in /lib, /usr/lib and /usr/local/lib ...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2017 Invision Power Services, Inc.