In my experience, the most redundant part of the Unix filesystem.

It's got exactly the same structure as /usr, and its directories (mostly) have the same purposes. So when something gets installed to /usr/local instead of /usr, it causes needless confusion, especially since I've never run a Linux distro that has /usr/local/bin in its path by default, or looked for libraries in /usr/local/lib.

So what's the point of having this be a seperate directory? Is there any reason why I can't just symlink it to /usr and resolve these problems forever?

I know that the difference is supposed to be that /usr is for programs that come with your distro and /usr/local is for stuff you install yourself, or something like that. Wishful thinking, I say, because everything installs to /usr anyway because at least it'll WORK there without the user having to move files around.

Recently, I tried to get Pike and pigtk set up. Both had to be compiled from source. When I finally found a version of Pike that would compile, it put itself in /usr/local/bin, while pigtk expected it to be in /usr/bin. So I moved it. After struggling with getting pigtk to compile also -- people release too damn many programs that don't compile - I went and ran the Pike script I'd been doing all this in order to run, and it didn't work. I looked at the script and it wanted Pike in /usr/local/bin. Aaaargh!

The Posix-correct place to put third-party software is now /opt.

The company I work for has traditionally used /usr/local for the *operational* versions of software developed in-house.

This includes binaries as well as shell scripts, and the original versions of OS scripts we have had to customize. Oh, and of course documentation.
It makes a lot of sense when you're frequently backing up and restoring stuff, or updating the OS. You know where all your weird stuff is.

Log in or register to write something here or to contact authors.