You are here

3 Installing software and package management

Primary tabs

Content pulled from:

OpenIndiana uses the same package management system, IPS, as Oracle Solaris 11, and Oracle is thus far continuing Sun's practice of providing well written manuals:

The command line package manager is pkg[5].

Package management is done with super-user privileges (when running as a normal user with rights to elevate, prepend sudo or pfexec to the commands below).

Set a remote repository:

; pkg set-publisher -O Search for a package (in remote repositories):

; pkg search -pr git Install a package:

; pkg install git The above is the "native" OpenIndiana package management, but some packages may be missing or outdated.

Option 2: Install software from SmartOS repositories via pkgin

All illumos-based operating systems, like OmniOS, OpenIndiana and SmartOS can use the repository from Joyent/SmartOS. Its main advantage is that you find there a lot of very up to date packages.

A list of available software: in folder (or

If you want to install software via pkgin (installs every package to /opt), you need to (console as root):

add /opt/local/{s,}bin where all software is installed to your PATH (in your shell, maybe save to your .profile): PATH=/opt/local/sbin:/opt/local/bin:$PATH export PATH install the bootstrap-loader: (use the loader according to your repository, see

; curl | gtar -zxpf - -C / update the repository database:

; pkgin -y update install the needed package, for example – Apache 2.4.6:

; pkgin -y install apache-2.4.6 or, just for newest 2.4:

; pkgin -y install apache-2.4 For more information see:

newest repository: Option 3: Compile yourself

You need a compiler like gcc; download the sources, switch to the folder with your sources (make the content of your sourcefolder executable recursively) and compile via:

; cd /sourcefolder

; ./configure

; make

; make install You might want to first look into ./configure --help to see what options are available for building the software – quite often, some features useful for you might notbe a general choice enabled by default, or might require other dependency software to be available first in binary or source form, in order to compile.

User comments

Hide/Show Comments User icon: Anonymous Jun 24, 2011 Anonymous Brilliant :| Permalink User icon: Anonymous Jul 18, 2011 Anonymous In case of no info at any point of this document, please refer to the FreeBSD handbook instead, I suppose...? Permalink User icon: Anonymous Aug 05, 2011 Anonymous guys, seriously, are you joking? Permalink User icon: Anonymous Aug 26, 2011 Anonymous The project is what, 12 months old now, and still basically no documentation? Come on guys, how do you expect people to use this OS at all without even basic documentation on installation, pkg management etc.? Permalink User icon: Anonymous Sep 05, 2011 Anonymous Many irrelevant complaints, I'm following the oracle's manual and it works, I think by now there are priorities other than write again something that is already explained. If a linux newbie like me can follow it, I'm pretty sure you guys can too. Permalink User icon: Anonymous Sep 12, 2011 Anonymous Documentation such as a manual is essential in not just learning from, it tells everyone where the product is in the scheme of things. Referring to Oracle for documentation relating to OI just makes one have less confidence with OI itself. Look at the FreeBSD site documentation levels are really good and gives people confidence to try FreeBSD and its derivatives. Permalink User icon: Anonymous Sep 18, 2011 Anonymous Documentation would be the same as Solaris 10 as these os are based on that product. Search Oracle for Solaris documentation. Permalink User icon: truedat101 Feb 23, 2012 David J. Kordsmeier Is anyone opposed to at least posting the man page up here? That seems to be the best 'help'. I'll take a look at what the freebsd guys have for package management. Permalink User icon: scarcry May 01, 2012 Marco van Lienen FreeBSD is pretty much a source-based OS and it has the ports tree to compile software from (/usr/ports/) Installing, upgrading, recompiling ports using different make arguments can be done via various "port" management tools such as sys-mgmt/portmaster (that is a port itself which needs to be installed first).

One can also install binary packages via the current pkg_add[1] interface (part of the base system).

Currently a new package manager called pkgng is in development and is in its beta stage. Permalink User icon: designstudio Nov 20, 2013 Philipp Speck I'm using IPS to install software from the global zone in a local zone. For example:

  1. pkg -R /zones/local/root install nano Because the SmartOS repo has more actual packages I want to use pkgin. What's the best practise to install software inside a zone? Do I have to install pkgin in every zone or is it possible to install packages from the global zone? Permalink User icon: designstudio Dec 15, 2013 Philipp Speck pkgin inside a zone Maybe there is another/better solution for this, but here is how I got it to work.

root@global:# pkg -R /zones/zone1/root install nano root@global:# zlogin zone1

root@zone1:# nano /etc/resolv.conf

domain domain.tld search domain.tld nameserver 192.168.XXX.XXX
root@zone1:# cp /etc/nsswitch.dns /etc/nsswitch.conf root@zone1:# export PATH=/opt/local/sbin:/opt/local/bin:$PATH root@zone1:# cd / root@zone1:/# curl -k | gzcat | tar -xf - root@zone1:/# mkdir -p /var/db/pkgin root@zone1:/# pkgin update