“When running a single box with tried and true
software, tracking the versions of software that you use may be a
no-brainer. That is to say, you use whatever Red Hat, Debian, or
Sun provided (yes, I will touch on non-Linux issues here) if you
could find or build the necessary package. But wait: what if you
have been running the same machine for years and you simply must
have the latest Emacs? What if you are developing your own software
and don’t want to create RPMs, or Debian dpkg each time you pause
at a version? What if you don’t trust that software package written
by a 14 year old in that far away country with an unstable
government? In short, what if you are heeding Obi-Wan Kenobe’s
advice, and using the source? How do you make it easy to rip out
those configuration files, man pages, binaries, and libraries that
you may want to replace in the future?Well, when you think about it a little bit, Unix has sort of
provided the raw materials to do that, in the form of a symbolic
link or symlink . Symlinks are a powerful tool because they allow
you to configure software so that its implementation does not
necessarily connect directly to it’s interface (sound familiar?). I
might be playing a little loose with the definitions, but that
really is what is being done when, for example, postfix mimics
sendmail. The implementation, that is postfix, is presenting the
same interface as sendmail, which has become a de facto standard
interface to the Unix mail transport agent (MTA).”