Berkeley CSUA MOTD:Entry 21158
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/04/07 [General] UID:1000 Activity:popular
4/7     

2001/5/1 [Computer/SW/Unix] UID:21158 Activity:very high
4/30    Uninstall for Unix?  Assuming you install something with the usual
        ./configure make make install routine, and later decide,  "Fuck that
        was the wrong distribution" or the wrong version or whatever.  If you
        aren't using a package, how do you know that you are removing all
        the right stuff before you go to install the other version?  I assume
        that most big companies must depend on packages made on dev. machines
        that are then installed, no?  What is a reasonable policy as far as
        this stuff goes?
        \_ Install packages so that each of them is contained completely
           within a separate directory, e.g. /opt/local/packages/pine-4.30,
           then create symbolic links from /opt/local/{bin,man.sbin,lib,include}
           to the real packages directory. If you need to remove a package
           just nuke it's directory. Sure, there are still dangling symbolic
           links, but at least you know what package they belong to if you
           want to remove it. See how /opt/local/ is setup on OCF for example.
           \_ Another neat idea would be to have a subdirectory within
              /opt/local/packages/pine-4.30 called consolidated-links, or
              something like that, which contains symbolic links to those
              other symbolic links you were talking about. That way, when
              you decide to trash a "package" you can run a little script
              that will readlink and rm each link so that you won't have
              dangling links.
                \_ There's a package called opt_depot which manages a link
                   farm (in /usr/local/{bin,man,lib} by default) based on
                   installations in a package (or "depot") directory like
                   the above.  http://www.arlut.utexas.edu/csd/opt_depot.
                     -tom
        \_ Here's my little scheme, its similar to OCFs:
           0. mkdir /usr/pubsw/ and required subdirs:
              {bin,sbin,include,lib,libexec,share,etc,pgms,src}
              (you only need to do this once)
           1. untar your the source for your program into
              /usr/pubsw/src/<program>/<program>-<version>
           2. ./configure your program with prefix set to
              /usr/pubsw/pgms/<program>/<program>-<version>
           3. make && make install
           4. cd into /usr/pubsw/pgms/<program> and ln -s
              <program>-<version> to <program> (remove the
              old link if you have one)
           5. for new programs cd into /usr/pubsw and foreach
              of the {bin,sbin,include,lib,libexec,share,etc} <dirs>
              ln -s ../pgms/<program>/<program>/<dir>/* .
           Now to acutally use the programs and libraries, all you
           have to do is set PATH and LD_LIBRARY_PATH to point to
           the /usr/pubsw/{bin,sbin} and /usr/pubsw/lib dirs.
           To upgrade a pkg, you just download the new source, build
           it, make install and change one symlink. To uninstall a
           pkg just remove its directory. To downgrade, just change
           one link.
           The other advantages are that the top level directory is
           clean (less overhead on directory reads) and source and
           programs are stored using similar naming conventions making
           it easy to track down problems and do upgrades, etc.
           I'm giving you the brief version here. The full setup
           also handles multiple architectures and OS revisions and
           has some perl tools for cleaning up and installing.
2025/04/07 [General] UID:1000 Activity:popular
4/7     

You may also be interested in these entries...
2012/8/30-11/7 [Computer/SW/Apps, Computer/SW/Unix] UID:54470 Activity:nil
8/30    Is wall just dead? The wallall command dies for me, muttering
        something about /var/wall/ttys not existing.
        \_ its seen a great drop in usage, though it seems mostly functional.
            -ERic
        \_ Couldn't open wall log!: Bad file descriptor
           Could not open wall subscription directory /var/wall/ttys: No such file or directory
	...
2011/11/20-2012/2/6 [Computer/Companies/Apple, Computer/SW/Unix] UID:54237 Activity:nil
11/20   Are there tools that can justify a chunk of plain ASCII text by
        replacing words with words of similar meaning and inserting/removing
        commas into the text?  I received a 40-line plain text mail where
        all the lines are justified on left and right.  Every word and comma
        is followed by only one space, and every period is followed by two
        spaces.  The guy is my kid's karate instructor which I don't think is
	...
2011/10/26-12/6 [Computer/SW/Unix] UID:54202 Activity:nil
10/24  What's an easy way to see if say column 3 of a file matches a list of
       expressions in a file? Basically I want to combine "grep -f <file>"
       to store the patterns and awk's $3 ~ /(AAA|BBB|CCC)/ ... I realize
       I can do this with "egrep -f " and use regexp instead of strings, but
       was wondering if there was some magic way to do this.
       \_ UNIX has no magic. Make a shell script to produce the ask or egrep
	...
2010/11/21-2011/1/13 [Computer/SW/Languages/Web] UID:53988 Activity:moderate
11/21   Lifehacker's recommending Dreamhost as a personal web hosting service.
        Apart from csua, who do you guys use? --erikred
        \_ What do you want to use it for? Do you need CGI or PHP?  My
           brother worked for Dreamhost and said they are unethical. In
           fact, he sued them. This refers to their treatment of customers
           and employees both. I don't know who  or what "Lifehacker" is,
	...
Cache (2309 bytes)
www.arlut.utexas.edu/csd/opt_depot -> www.arlut.utexas.edu/csd/opt_depot/
Jeremy Thibeaux, Amy Shook, Jonathan Abbey, and Erik Grostic directly contributed to the code. I've not looked at the Andrew Depot package for a while now. We found Depot to be less flexible and more complex than we wanted, with some basic 29 design decisions that gave us problems. Much more extensive than opt_depot, but also more complex to use. Includes a GUI mechanism for selecting and manipulating packages. Cicero provides support for an environment in which trust is an issue, and in which NFS mounting cannot be assumed. Note that it appears that Cicero is not currently available for download outside of NASA. It appears to be a bit less refined in some ways than opt_depot. However, Stow is under the GPL, so it will likely garner a good bit of popularity and improvements with time. LUDE is a project both to achieve a standard package format and to build up a library of packaged software. Makes it possible to download and install a new package into your /usr/local tree in one step. Includes a number of utilities and alternate implementations for tools to work with their package archive format. It doesn't seem to have the opt_link style NFS support, but it does have support for tools to automatically document installed software. Sort of similar to Stow, but more flexible about handling files in the tree that did not come from package archives. Unlike most of these packages, the graft script is intended to be manually run on a per-package basis. Has some of the nice features of opt_depot, including clean integration with target directories containing non-reflect managed files and symlinks. Reflect allows per-package configuration files, and a package may be configured so that particular files are linked into multiple locations in the filesystem. In this way, Reflect is approaching the more location agnostic design of RPM. Like Graft, Reflect is designed to be run manually on a package-by-package basis. Using SrcPkg, large and complex software packages that are not depot-friendly can be depotized after the fact in an automatic fashion. SpkgTool actually provides a set of GUI tools to manage the symbolic links for packages. Apparently inspired by Graft in the first instance, SpkgTool also supports automated installation of tar files that conform to the autoconf standard.