iansjack wrote:So, just another headache regarding the filing system; /opt vs /usr. From an abstract point of view, they do the same thing. The major difference is that /opt can be used by anyone and /usr requires administrative privileges.
Those latter two sentences directly contradict each other. If one directory can be written to only by the administrator and the other can be written to by anyone then they can hardly be said to do the same thing, from an abstract or practical viewpoint. Let's face it, relax your definition enough and all directories do the same thing from an abstract viewpoint - they all store files and directories.
No, they do the same thing; the permissions are just different. There's nothing preventing you from changing the privelege level of the /opt directory, though really you should only be concerned with the priveleges of the /opt/* directories. Each subdirectory of /opt is like a duplicate /usr directory (though without the need for conformance). As long as those have the correct priveleges and ownship, there is no loss in safety.
iansjack wrote:You miss out the other very important directories in the hierarchy of executable files (assuming that by "/usr" you meant "/usr/bin") - /bin, /sbin, /usr/sbin, /usr/local/bin, and /usr/local/sbin.
No, I didn't. I pointed out specifically the difference in the structures between /opt and /usr afterwards. If you had cared to read my entire post, you'd have seen that.
The /usr directory was orignally for user data, but now it only serves as a way to splatter files across the filing system or symlink to programs and libraries in the root directory for late mounting; kind of like how /var/run now symlinks to /run so it can be mounted earlier than /var itself. The question is, if /usr is not user specific, then
why do we need a separate directory for everything? We have /bin and /sbin for differentiating system binaries from user binaries.
When I had originally written my post, I was directly comparing /opt to /usr/local (since that's more clearly analagous), but changed it to /opt vs /usr because generally the /usr directory tries to usurp the purpose of /opt (among other root directories)