[727] in SIPB_Linux_Development
Re: Try something new? (was Re: {/bin,/etc}/athena)
daemon@ATHENA.MIT.EDU (Greg Hudson)
Tue Sep 27 23:41:56 1994
To: yandros@MIT.EDU
Cc: svalente@MIT.EDU, ghudson@MIT.EDU, linux-dev@MIT.EDU
In-Reply-To: Your message of "Tue, 27 Sep 1994 23:07:51 +0500."
<9409280307.AA01521@deathtongue.MIT.EDU>
Date: Tue, 27 Sep 1994 23:41:32 EDT
From: Greg Hudson <ghudson@MIT.EDU>
(For the record, Derek was right about what I was suggested.)
In general, I hate filesystem issues. People make divisions for
practical reasons between administrative programs and user programs,
root partition file and files that can be shared, and the divisions
turn out to be brittle and platform-dependent.
The reason I suggested eliminating the /bin/athena and /etc/athena
links was because I wanted to allow /usr/athena to be shared, and the
Athena release has, in effect, already decided the hard issues, for
better or for worse. Rel-eng has a pretty good idea of what needs to
be on the root partition and what can be shared, for instance. If we
can't come to any consensus on a filesystem layout of our own, then
perhaps we should still go with this option.
However, if the mood in DCNS is that the filesystem layout sucks and
should be reconsidered, then perhaps we should do what Chad suggests
and design our own placement system.
I'm going to propose the following set of fairly radical principles,
just to see how close to consensus we can get:
* Don't modify the vendor operating system any more than
necessary, and bundle together all the changes to the vendor operating
system filesystem.
* Follow the guidelines of the Linux and BSD 4.4 filesystem
layouts. Administrative binaries should go in "sbin" rather than
"etc", and all references to writable directories should be through
/var (/var/tmp rather than /usr/tmp, /var/spool rather than
/usr/spool).
* The majority of Athena software should go in /usr/local. I
don't know where we got the idea that we were important enough to
warrant our own directory under /usr.
One might make the argument that we shouldn't impinge on
/usr/local because we're not the local system administrator. If you
buy this argument, then you probably buy into the Linux FSSTND theory
of /usr/contrib (a place for people to target package distributions).
I don't really buy this argument, and most operating systems don't
treat /usr/contrib as a place to target package distributions.
* Some Athena software is critical to the operation of the
machine or may be necessary to locate the shared data (attach, AFS).
This data belongs on the root partition; there is no standard place to
pout this stuff. I'm going to recommend /local; this seems really
gross, but I think /bin/athena and /etc/athena are worse.
* AFS sucks, but we should probably leave /usr/vice alone.
The cache, however, should probably go in /var/vice/cache or some
other place in /var, with a symlink from /usr/vice/cache. Tom's SunOS
Athena bild does this.
I don't expect people to agree with all of this (or even most of
this). Please make reasoned commentary.