Les Mikesell wrote:
On Wed, 2005-12-28 at 10:27, Guy Fraser wrote:
It can be a contentious issue, exactly where to put non base system files. Sun Microsystems used to prefer /opt but almost everyone else uses /usr/local for most add on software. But it is well understood that :
/opt is for third-party things packaged with installers. /usr/local is your own. With appropriate PATH settings you can have the system, pre-packaged, and your own compiled versions installed and execute the one of your choice.
/bin, /sbin and /lib are for single user base system commands and their required libraries.
In case no one has mentioned it yet, these are the things that may be needed before /usr is mounted, given that /usr can be a separate partition.
More to the point, on another machine. And/or shared with other systems.
I know of a chap who ran 40,000+ Linux virtual machines on one zBox a few years ago. (Note, I didn't say he had tens of thousands of useful Linux systems, the underlying zBoz was very busy running Linux, but not very busy doing work for people. Hundreds, however, is relatively common). He'd not have wanted to give each its own /usr (8.5 Gb here).
That it where the FHS and its requirement that /usr be ro (so don't go building kernels there) are important.
The real theological battle is what is considered part of the base system. Most Unix variants and Linux distributions consider only essential software to be part of the base.
And more to the point, where third-party RPMs fit into the picture. In RedHat-land they are almost always made to fit into the vendor-provided scheme, clobbering system files if there is a conflict. Sometimes that's what you
Never clobbering vendor-provided files unless, you the system administrator, make them do so. And it's perfectly possible to make relocatable rpms that will install almost anywhere.
I used Debian for a couple of years, and early on went mad getting extra packages from here, there, everywhere. All installed into the dpkg-managed vendor space just as most rpms do on FC.