SPCM HPC Cluster Management
Another Programmer's Editor
Personal Github Site
Auer Lab Github Site
The Pkgsrc system can be used to install software on any POSIX operating system. It is the native package manager for NetBSD and SmartOS, but also well-supported on enterprise Linux systems (which often lack an extensive open-source package repository in their native packaging system) and Mac OS X.
On RHEL-based Linux systems, we use Yum to install most system services and libraries required by commercial software, and Pkgsrc for all the latest open source software.
Enabling additional RPM repositories is another option for installing software not found in the standard Yum repository, but mixing repositories can lead to breakage in the form of incompatible dependencies when Yum updates are installed. Some repositories, such as EPEL, are quite safe in this respect, while others can be more problematic because they're not maintained as religiously.
The Pkgsrc collection is also much larger than the reliable RPM repositories and the packages tend to provide much more recent versions than the RHEL Yum repositories, which are designed to provide stability and long-term compatibility with commercial applications, not the latest open-source apps.
To install a base pkgsrc tree on NetBSD or SmartOS, follow the instructions on the pkgsrc website.
For other systems, such as Linux or Mac OS X, or to install additional pkgsrc trees on NetBSD or SmartOS, the process involves installing a base compiler suite outside of Pkgsrc and then "bootstrapping" the Pkgsrc base system.
The auto-pkgsrc-setup script can be used to automatically bootstrap a new pkgsrc tree in 10 minutes or less on most systems. This script can be run as root or as an ordinary user, and can install multiple Pkgsrc trees so that older installed packages can remain untouched after you install additional newer trees.
The auto-pkgsrc-setup script configures pkgsrc to be independent of Yum packages, so software installed via Pkgsrc will never be broken by Yum updates.
It supports installing multiple Pkgsrc trees on the same system, and automatically generates and installs sh and csh start up scripts and an environment module which can be used to select a tree. As the software in a Pkgsrc installation becomes outdated, simply install an entire new tree using auto-pkgsrc-setup and begin the sun-setting process for the old tree.
Note for FreeBSD users: FreeBSD users can also bootstrap FreeBSD ports in much the same way as pkgsrc, using auto-ports-setup. Using FreeBSD ports this way will provide access to a larger collection of packages. If you prefer to use the exact same packages that you're using on another operating system, you can, of course, use pkgsrc on FreeBSD as well.
Joyent Cloud services provides binary packages for CentOS, illumos, and Mac OS X. These packages install into /usr/pkg and can be installed and upgraded using the modern pkgin command. The joyent-pkgsrc script quickly bootstraps a pkgsrc tree using the system provided by Joyent, but also installs a compatible frameworks tree in /usr/pkgsrc and offers the option of installing the pkgsrc-wip collection. It provides a quick and easy way to get up and running with Joyent's binary packages.