[RFC] User Accesable Filesystem Hierarchy Standard

Michael A. Peters mpeters at mac.com
Wed Apr 7 05:31:57 UTC 2004


On Tue, 2004-04-06 at 18:46, Alan Cox wrote:

> 
> Maybe there is an argument for a /usr/local/ with default labels that
> prohibit privileged roles using the contents and which doesn't require
> total superuser rights to write into.
> 
> That also solves
> 	- The 10,000 private installations of epic problem
> 	- The cross platform problem
> 	- Non-exec /home
> 
> Alan

My dad (long time university programmer at Cal) is a strong believer
that only operating system vendor supplied packages go into
/usr/{bin,lib,include}

Packaged third party vendor stuff goes in /opt with symlinks to the
binaries in /usr/local/bin

Stuff compiled from source goes in /usr/local.
That's his way.

Something like that would make a lot of sense here. Not necessarily /opt
with symlinks - but something like that, that (at the sysadmins
discretion) could be written to by anyone in the group admin or staff or
whatever - perhaps with sticky bits to prevent someone from over-writing
someone elses stuff. Maybe require that they be installed by RPM (or
whatever the distro uses)

They could still be handled by rpm but not require root to install the
rpm - keeping a separate rpm database.

Only OS vendor stuff has a prefix of /usr
Third party stuff has a prefix of /usr/contrib
/usr/contrib/lib
/usr/contrib/include
/usr/contrib/etc
/usr/contrib/bin

only package manager stuff goes in /usr/contrib - stuff compiled from
source still goes in /usr/local

Separate rpm database for /usr/contrib - it can check the system rpm
database to make sure dependencies are satisfied, but stuff in its
database can not be used to satisfy the system rpm's dependencies so
that if there is a problem with tainted binaries in /usr/contrib -
/usr/contrib can be unmounted or denied execution without breaking the
stuff in /usr

I wouldn't want to use /opt for this because the /opt standard is
/opt/vendor/product - and that either requires symlinks into /usr/local
or horribly long paths. /usr/contrib (or /contrib - I don't care) should
be unmountable without resulting in broken symlinks in /usr/local.

But I think /usr/local is for stuff compiled from source.

-=-
Note to Alan Cox - thanks for your work on m68k Linux.
That was my second Linux distribution (debian slink on an SE/30 with a
100 MB hard drive and 20 MB of ram - definitely no X11) - my first being
MKLinux DR3. Your name was all over the release notes for that port ...
;)

-- 
Cheap Linux CD's - http://mpeters.us/linux/





More information about the fedora-devel-list mailing list