>I am not asking how to make it idiot proof or
>how to make it possible for computer novices to administer, but I *am*
>asking for ideas on how to improve it so that computer literate people
>who aren't UNIX guru's can function decently as a system administrator.
> But if you
>can see ways to improve UNIX, perhaps by designing administration tools
>or whatever, I think it would be interesting to hear your thoughts.
improved in system administration? Let's get down to specifics, and
quit *ing.
As a mere "user" (scientific programmer) and ersatz sysadmin (what else
are grad students for?) here's my ideas...
1) Setting up a cross-mounted NFS network. This happens ALL the time,
everywhere!
Right now, we had to type in and figure out /etc/exportfs for each
individual machine, and figure out how to configure that damn automounter
everywhere, etc. etc. This is the typical situation. Here's a simple
example of what it should be like instead: (I'll use a portion of our setup,
here)
===========================================
What are the names of the machines in this cluster?
poincare, lyapunov, gibbs
Give me a name of a machine:directory that should be available everywhere.
poincare:/usr2
What do you want to call it across the network?
/home/poincare
(do same for gibbs & lyapunov)
Are there any aliases that should be propagated to every machine on the
local network?
Yes. /usr/local -> /home/gibbs/local
/usr/lib/X11 -> /usr/local/lib/X11
/usr/include/X11 -> /usr/local/include/X11R5
/usr/lang -> /home/poincare/lang
etc.
What paths for executable programs should be added to the standard ones?
/usr/local/bin, /usr/local/bin/X11, /usr/lang
What paths for manual pages should be added to the standard ones?
/usr/local/man, /usr/lang/man, /usr/openwin/man
==========================================
This should set up all the appropriate NFS files, .rhosts, etc. etc.
One should have a centralized place that has this information, so that
one could easily change, say to add a new computer, and the tool would
automatically create all the new information needed. This would
save an enormous amount of effort for 95% of the sites out there.
This doesn't require any new technology; a combination of perl, make, cpp,
rsh, and rdist ought do be completely sufficient. Probably somebody could
write it in a couple of weeks; a good one in a few months. Also keep it
lo-tech & simple---no fancy new protocols & object-oriented file systems or
other CS frilly things. We want it to work right when other things
aren't---and be understandable by an average sysadmin in case something goes
wrong! If it doesn't come standard as an OS, one should be able to download
it to one machine, and given that root rsh works everywhere, propagate the
whole system config from that one place. This system ought to be much
simpler to write than "gcc" "X11" or even "xterm" for Gd's sake!
compare that to:
(auto.master)
/- /etc/auto.direct -rw,soft,noquota
and
(auto.direct)
/home/poincare poincare:/usr2
/home/gibbs gibbs:/usr2
and (other machines in our cluster are included here) Of course, on every machine these are slightly different because you have Those silly configuration files, in my opinion should be like Postscript--- As a matter of fact, along these lines, ALL system files that a human 2) Sendmail.... This is always a problem. Here at UCSD, we just download 3) Automatic .login and .cshrc that ALWAYS get executed. This way If people know enough to know about MANPATH and PATH they can make Furthermore, these should automatically set up xhost + for all machines 4) Programs that automatically set the DISPLAY variable to the console I'm sure there are other areas that you out there can think of. My whole point, is that there are quite a number of very EASY things that As part of the DOS vs. Unix flame war: These are all things that standard
(/etc/exports)
/usr2 -root=louise:jacobi:legendre:hamilton:gibbs:herbie:poincare:louise.ucsd.
edu:jacobi.ucsd.edu:legendre.ucsd.edu:hamilton.ucsd.edu:herbie.ucsd.edu:gib
sd.edu:poincare.ucsd.edu,access=louise:jacobi:legendre:gibbs:hamilton:herbi
ncare:louise.ucsd.edu:jacobi.ucsd.edu:legendre.ucsd.edu:hamilton.ucsd.edu:h
.ucsd.edu:gibbs.ucsd.edu:poincare.ucsd.edu
to refer only to the other machines and not yourself.
humans shouldn't have to ever create them themselves.
has to localize for any particular site should be in ONE subdirectory, say
/etc/LOCALCONFIG/* (or whatever) and with links from the normal places
into here. This way, it's very easy to save a particular local
installation, to know exactly what's change, and to reconstruct it after
an OS upgrade, or a disk wipe.
a sendmail configuration that was created by the Net Gurus on campus and
don't worry about it, but others aren't so lucky, I take it, especially
if they have to deal with UUCP and junk like that. I don't know how
to fix this, so I'll leave it up to others.
any sysadm added paths and manpaths can be automaticaly propagated
instead of having people complain "Why can't I get MATLAB? So and so
just types in "matlab" and it worked but I can't? Why can't I man gcc?"
(I know some places have it---I'm specifically harping on Sun, because
that's what I know)
their own .login's and .cshrc's undo anything the sysadm does as a default.
on the local network, in general.
screen that the person's using, even when rlogin'd to other machines. I
hear very frequently ("Why can't I graph on my screen blah blah what's wrong
with this X windows anyway") Newbies shouldn't have to even worry--
they rlogin, run their graphics programs and it comes up on their screen.
I mean the computer knows you're on somewhere, so why do you have to tell
it again?
commonly used UNIX systems could do, that are trivial from a fundamental
point of view, but quite serious from a day-to-day perspective.
UNIX has the capability to do now. On a DOS network, how would I
automatically create directory links on every machine? (rsh? links? what's
that?)
>--
>Senior Partner, Quetzal Computational Associates
>Albuquerque, New Mexico