Often it is very frustrating to install software on *nix systems, and Solaris is no exception. Most of the times, non-availability of software in "ready to install" form, and/or the lack of installed dependencies on the local system, makes it even hard for the novice end-user. Wouldn't it be nice to have some kind of tool, that does the installation for us automatically, including dependencies (if any)? Fortunately, tools like
do exist on some *nix environments, for automatic package installations.
(Advanced Package Tool) is available on some Linux distributions, quite for some time. For more on apt-get, have a look at the web page, APT HOWTO
The following paragraphs concentrate on a similar tool,
for Solaris environment.
What is pkg-get
(The following text was borrowed from bolthole.com; full-text can be viewed at: Solaris pkg-get tool
is a tool to automate download and installation of binary packages from archive sites that support it.
This tool simplifies fetching the latest version of a package from compatible sites to be as simple as:
% pkg-get install gcc
This will automatically download the appropriate version for your architecture and OS revision (if available), and install the package. If you have an older version of the package already installed, using '
' instead of '
' will replace the older version with a newer one, if available.
If the archive supports dependancies, pkg-get will also download any needed dependancies. For example:
% pkg-get install mod_php
should triger an automatic
% pkg-get install apache
which in turn should automatically trigger
% pkg-get install openssl.
One of the sites that supports these dependancies is www.blastwave.org
. Another one is www.sunfreeware.com
. Rest of the instructions focus on installing
to get packages from blastwave.org. To get packages from sunfreeware.com,
has to be modified as explained in the latter parts of "How to install pkg-get?" section.
How to install pkg-get?
(source: blastwave.org; full-text is at: http://www.blastwave.org/howto.html
- Download pkg-get from http://www.blastwave.org/pkg_get.pkg. Since it is a package, it has to be installed with
pkgadd command on Solaris.
% pkgadd -d <path of pkg-get>/pkg-get.pkg
- Download and install a copy of
SPARC version: wget-sparc.bin
x86 version : wget-i386.bin
(From GNU wget FAQ)
wget is a network utility to retrieve files from the World Wide Web using HTTP and FTP, the two most widely used Internet protocols. It works non-interactively, so it can work in the background, after having logged off. The program supports recursive retrieval of web-authoring pages as well as FTP sites - you can use
wget to make mirrors of archives and home pages or to travel the Web like a WWW robot.
This version of
wget is simple, without any dependencies. But this copy is good enough to install the complete
wget package as explained later.
wget, an executable and add it to the PATH environment variable. This step is very important for
pkg-get to work properly. So, make sure you have
wget in your PATH, before you move on to the next step.
- Make sure that you have both
pkg-get in your PATH, with
which wget, and
which pkg-get commands.
pkg-get configuration file:
/etc/pkg-get.conf file, to get software packages from a nearby source. You can find a list of Blastwave mirrors at: http://www.blastwave.org/mirrors.php.
- Install the complete
wget package with the man pages and dependencies.
% pkg-get -i wget.
-i switch can be used to instruct
pkg-get to install something.
Now remove the simple
wget that was installed in step (2).
/opt/csw/bin at the beginning of PATH variable (the essential
wget tools will reside under code>/opt/csw/bin directory.). Also add
/opt/csw/man to the MANPATH to read the newly installed manual pages.
man pkg-get is a good starting point to use
pkg-get available, lists all the software that is available for download on the remote server.
pkg-get compare is similar to
pkg-get available, except that it shows the local status of the packages as well.
- A list of software descriptions can be viewed with
- You can search for software using regular expressions.
-D is synonymous with describe
% pkg-get -D '^g.. '
# (Descriptions from site ibiblio.org )
gdb - The GNU Debugger
gm4 - GNU m4 Unix macro processor
gtk - the Gimp ToolKit library, libgtk
- To install a package:
pkg-get install <pkg> Or
pkg-get -i <pkg>
% pkg-get -i firefox
- To upgrade a package:
pkg-get upgrade <pkg> Or
pkg-get -U <pkg>
% pkg-get -U firefox
is a pure command line interface. If you are more used to Windows environment, you can try
tool from bolthole.com. More information is available at: Solaris pkgadm tool
Acknowledgements & recommendations:
Technorati Tag: Solaris