Well, it is "cleaner" to have your homemade programs (for all users of the system) in a separate directory. Nothing prevents your program in /usr/bin from being overwritten if you install a package that happen to have picked the same name as yours for one of its binaries.

See what http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY (the "Filesystem Hierarchy Standard") specifies:

The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.

Locally installed software must be placed within /usr/local rather than /usr unless it is being installed to replace or upgrade software in /usr.

http://www.pathname.com/fhs/pub/fhs-2.3.html#FTN.AEN1450 (a note) additionally says:

Software placed in / or /usr may be overwritten by system upgrades (though we recommend that distributions do not overwrite data in /etc under these circumstances). For this reason, local software must not be placed outside of /usr/local without good reason.

Reply via email to