designing /usr/local/{bin,etc,lib}
Arnold de Leon
arnold at mango.synopsys.com
Sat Dec 22 10:07:39 AEST 1990
Here is an update on what I've found/thought on a design for
managing /usr/local.
I was referred to the a paper presented at the Usenix LISA IV,
"The Depot". IT is apparently available for anonymous ftp
at durer.cme.nist.gov (129.6.32.4) as ~ftp/pub/depot.lisa.ps.Z
I happen to have the LISA IV proceedings so did not end up
ftping a copy.
"The depot" is very close to what I want to do. I am
working on adapting it to what I want.
Here is what I have so far (Much of it lifted straight the
"The depot":
Software packages would be in installed in a package directory,
I'm using "/depot" same as the paper.
Working with the example "perl", the installation on "server" would look like
Assuming a sun4 binary
/export/depot/.primary/perl/plat-sun4-OS4/bin/perl
/h2p
/lib/perl/[bunch of stuff]
/README
The clients will "see" this as
/depot/.primary/perl/plat/bin/perl
/h2p
/lib/perl/[bunch of stuff]
although I am thinking of just making it
/depot/perl/bin/perl
/h2p
/lib/perl/[bunch of stuff]
I haven't thought through the side effect yet.
I intend to implement the client view via the automounter.
Aside: I would expect that in this example that perl would be have
been configured to expect itself to be installed
in /depot/perl/bin (or /depot/.primary/perl/plat/bin)
and to find it's libaries in /depot/perl/lib
(/depot/.primary/perl/plat/lib) This is make the packages
"self-contained"
An "installation program" would then build symlinks so that
there will be links in /usr/local that would look like:
/usr/local/bin/perl -> /depot/perl/bin/perl
/h2p
/usr/local/lib/perl -> /depot/perl/lib/perl
I expect to have a "deinstall" program to remove the symlinks also.
Issues that I am still uncertain are:
o Shared libraries and associated problems
lidl at eng.umd.edu (Kurt J. Lidl) mentioned this and I
don't have a good understanding of how to deal with it.
o Performance -- while I think it will be fine and several
people have agreed, I don't have concrete data to back me
this assertion up. If someone can explain the "cost"
a /usr/local/bin full of symlinks I would appreciate it.
(I am hoping for something like: In our environment of 100
clients and 10 servers the extra overhead is about 2% extra stat
traffic which is insignifant and delays in starting up
are applications is tolerable)
I've also glossed over some very hard problems in using the automounter
for doing this. I will probably bring those up as I get closer to
them.
Many of the ideas, terminology in the above description are adaptations
or blatant ripoffs of those presented in "The Depot: A framework for
shareing software installation across organization and UNIX platform
boundaries" by Manheimer, Warsaw, Clark and Rowe.
I appreciate the feed back and comments that people have sent it so far.
--
Arnold de Leon arnold at synopsys.com
Synopsys Inc. (415) 962-5051
1098 Alta Ave.
Mt. View, CA 94043
More information about the Comp.unix.admin
mailing list