3 ms·
Back in the 90s, before package managers for Linux/BSD and when disk drives were fairly pricey, it was common to have say, a network of commercial *nix workstat
by drewg123 9y ago
Back in the 90s, before package managers for Linux/BSD and when disk drives were fairly pricey, it was common to have say, a network of commercial *nix workstations with nfs mounted binaries for stuff like gcc, latex, emacs, X utilities, etc.
This was typically done by a network of symlinks. As best I can remember, you'd have /opt/local exported from the server, with all the open source goodies. It was arranged something like
/opt/local/emacs-19.1.7/bin/emacs
/opt/local/emacs-19.1.8/bin/emacs
/opt/local/emacs -> /opt/local/emacs-19.1.7
<....>
All the clients would have a local /usr/local with another symlink, /usr/local/bin/emacs pointing at /opt/local/emacs/bin/emacs
When you upgraded from 19.1.7 to 19.1.8, you'd just move the symlink on the server. You'd then wait a week or two, and garbage collect the old version (after rsh'ing around to the clients to make sure none had the old version open, if your users were lucky).
The local network of symlinks into /opt/local was maintained by something like cfengine, which ran at install and nightly to update configs (eg, for newly supported stuff, or new binaries in new versions of existing software).
If you screwed this up, and replaced a binary out from under a user, they were rather unhappy..
- js2 9y agoThere was actually a tool for managing such symlink trees, “depot” from CMU: https://www.cs.cmu.edu/~help/unix_linux/software_collections/local_depot.html https://www.cs.cmu.edu/~help/unix_linux/software_collections...
- predakanga 9y agoInteresting - I wonder if that inspired GNU Stow (similar tool I often see used for managing dotfiles)
- js2 9y agoThe CMU depot was presented at LISA '93: http://static.usenix.org/publications/library/proceedings/lisa93/full_papers/wong.pdf http://static.usenix.org/publications/library/proceedings/li... Stow apparently started development in 1996 and was initially named depot: http://git.savannah.gnu.org/cgit/stow.git/tree/doc/ChangeLog.OLD http://git.savannah.gnu.org/cgit/stow.git/tree/doc/ChangeLog... So probably?