Acadix Software

SPCM HPC Cluster Management
Lightweight Portable Job Scheduler
Biostar-tools Metaport
Another Programmer's Editor
Diskimage Tools
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.

Pkgsrc Advantages

  • Automatically download, patch, build, and install software
  • Automatically install all necessary dependencies
  • Over 19,000 quality-checked packages (and growing)
  • Thousands of newer packages available globally via the work-in-progress collection
  • Use the same package system to deploy software on multiple platforms
  • Global collaboration and cross-platform support all but eliminate redundant effort porting software
  • Global support community via the pkgsrc-users mailing list
  • Easily deploy newer software than available in the RHEL Yum repository
  • Pkgsrc installs can be isolated from other software (without using containers)
  • Can install multiple pkgsrc trees on the same system, to allow seamless upgrades to newer software

Getting Started

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.

UWM provides binary packages for quarterly pkgsrc snapshots on CentOS and NetBSD.