M.Hockings wrote:
I must admit that on more than one occasion I have installed something in Linux (via RPM and via "make install") and the docs indicate that it would go to /usr/local/bin/pgm-name but I find it in /usr/bin/pgm-name. What controls this? Is it an exported (or somehow retrieved) system setting, the RPM builder, the makefile author, or what? I have not viewed this an inhibitor to using RedHat, more like I thought it was my inexperience with Linux leading me astray.
No standard package rpm should ever install into /usr/local.
IIRC, /usr/local is for the installation of "site local" packages (at least that's how I've always used it) and is often physically on a remote NFS system.
I shouldn't need to explain why using a locally indexed database mechanism (like rpm) with a shared drive will lead to problems.
To answer your question, however, the installed location of files in an RPM is up to the RPM builder and based on what flags they pass to the source package's makefile or configure script.
Lastly, I have installed IBM's WSAD in RH9 and FC1 and it gets installed into /opt/IBM/... so I have to assume that the installer does have control over where things are installed. It was not an RPM install though.
I hate /opt. I hate it soooo much. I curse the day Sun and HP started using it. I hate it because / and /usr were usually separate partitions, with all the extra space for installing programs going into /usr instead of /. Usually I end up having to link /opt to /usr/opt and hope that the installation program in question is smart enough to check that there's "enough space" on the correct partition without being too smart and trying to 'fix' my /opt directory.