pkgsrc is a framework for building over 17,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, Mac OS X, and Linux.
These example screenshots show just a small number of the 15,000+ binary packages available in our pkgsrc sets. All examples were produced on a clean install of OmniOS r151018 using pkgsrc Xorg.
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.
Upgrades aren't fully supported (we don't yet handle major configuration changes) but this procedure may work fine for many users and avoid having to re-bootstrap. If in doubt ensure you have backed up your data and configuration files. Make sure you use the same set that was originally installed.
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.