pkgsrc is a framework for building over 20,000 open source software packages. It is the native package manager on SmartOS, NetBSD, and Minix, and is portable across 23 different operating systems. Use one package manager across all of your systems!
Joyent provide binary packages for SmartOS/illumos, macOS, and Linux.
Thanks to its cross-platform support, pkgsrc is able to combine the efforts of developers from NetBSD, SmartOS, macOS, Linux, and others, to produce a single package repository containing over 18,500 binary packages, providing regularly updated desktop and server packages to cover a wide range of requirements. Our package sets are built on SmartOS, but are designed to be portable across all illumos distributions, as the examples below running on Tribblix and OmniOS demonstrate.
Packages for illumos distributions are built on SmartOS 20141030, but should work on any illumos system of at least that date. If in doubt choose the 64-bit set. Older bootstrap kits are available from the archive.
Use the 64-bit package set. These packages are able to utilise the full x86_64 instruction set architecture and address space, useful for working with large data. This set has the most packages, and often has packages (golang, rust, openjdk8, etc) that are not supported for 32-bit.
Use the 32-bit package set. 32-bit binaries will use less memory, and in some cases may be faster than 64-bit, but will not be able to use the full 64-bit address space, and some packages (golang, rust, openjdk8, etc) are not supported or available for 32-bit.
Use the 32-bit multiarch package set. This is similar to the main 32-bit set, but a number of packages (currently around 350) also include 64-bit libraries. This set is only useful if you need to compile third-party software against both 32-bit and 64-bit libraries, otherwise you are better off using either the dedicated 32-bit or 64-bit sets.
Use the 64-bit "tools" set. This is a special limited set, used primarily for package development, but also suitable for installing into the SmartOS Global Zone. Note that this set uses the /opt/tools prefix.
To upgrade your package set, use the upgrade kits below. Note that this will only update the packages, it will not handle configuration changes, so you may need to consult your software documentation if there are upgrade procedures you need to follow (e.g. PostgreSQL).
Now that you're ready to go, here are some common commands you may want to run.
pkgin is the front-end to the binary packages, and lets you search for, install, upgrade, and remove packages. It also provides some basic functionality for querying both local and remote packages. If you have used
yum you should find it to be very familiar.
The underlying packaging tools are
pkgin is equivalent to
yum, then these are the equivalent of
rpm. Here are some useful commands to get you started.