In most modern Unix systems (like GNU/Linux and MacOS X), the filesystem hierarchy is standardized. The Linux Standard Base project is a community effort to make the GNU/Linux as the standard. In the filesystem, /usr/local/ is where you put staff files, generally freshly compiled software.
Installing GNU software from its source distribution is now quite straightforward with automatic scripts and the famous idiom configure ; make ; make install. But compiled files usually default to /usr/local/, which after few months of use begins to be polluted with
old files. But here comes the not so known GNU Stow to help you to keep your /usr/local/ clean.
The idea behind Stow is simple: keep your software is a separate folder (say, /usr/local/stow/) and make appropriate symlinks to /usr/local/, keeping it clean. For example, say you want to install the latest distribution of GNU Emacs. Compile it the standard way but instead of using “make install”, install it in the stow folder by using make install prefix=/usr/local/stow/emacs. Now put yourself into the stow folder and stow Emacs by simply doing “stow emacs”. GNU Stow returns quite immediately and you can see that all symlinks to Emacs have been generated automatically, Emacs now appears to be installed into /usr/local/. If you want to remove the stowed Emacs, just do “stow -D emacs”.
The great thing is that it’s now easy to install, test and remove compiled software without taking care of any cleaning. GNU Stow will also warn you of any conflict during an installation. Of course, you can also managed a binary distribution with Stow as long as it comes in a Unix standard hierarchy.
I think it really worth a try.



Add New Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks