Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!fernwood!synopsys!arnold From: arnold@mango.synopsys.com (Arnold de Leon) Newsgroups: comp.unix.admin Subject: designing /usr/local/{bin,etc,lib} Keywords: /depot /usr/local/bin software Message-ID: <613@synopsys.COM> Date: 21 Dec 90 23:07:39 GMT Sender: news@synopsys.com Organization: Synopsys Inc. Lines: 90 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@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@synopsys.com Synopsys Inc. (415) 962-5051 1098 Alta Ave. Mt. View, CA 94043