Taking Your First Steps with Oracle Solaris 11
by Glynn Foster
Published October 2012, Updated July 2014
An introduction to installing Oracle Solaris 11, including the steps for installing new software and administering other system configuration.
Oracle Solaris 11 is distributed with several different installation options: a hands-free automated server-based install, an interactive text-based install that is also suitable for servers, and an interactive graphical installer that includes a full desktop environment.
OTN is all about helping you become familiar enough with Oracle technologies to make an informed decision. Articles, software downloads, documentation, and more. Join up and get the technical resources you need to do your job.
This article focuses on the interactive graphical installer, although many of the concepts discussed in this article apply to the other Oracle Solaris 11 installation options. Users coming from Oracle Solaris 10 are urged to take a look at the Transitioning from Oracle Solaris 10 to Oracle Solaris 11 guide.
The graphical installer is officially known as the "Live Media." This means that Oracle Solaris can be booted into RAM, causing zero impact on your existing operating system. After it is loaded, you are free to experiment with Oracle Solaris to determine whether it is something you would like to install to your system.
You can download Oracle Solaris 11 Live Media for x86, which is an approximately 800 MB image file, and use a DVD burner to create the disk, or you can use the ISO image directly in a virtual machine or through the Oracle Integrated Lights Out Manager (ILOM) Remote Console.
The Live Media is not intended for long-term use. For example, any changes that you make to the system are lost when the system is shut down. Therefore, the next logical step is to install Oracle Solaris on the system, which the Live Media makes easy by placing an Install Oracle Solaris icon right on the desktop. But before we head down that road, let's step back a bit and consider the installation options.
Installation Options
You have several alternatives for where to install Oracle Solaris 11:
Inside a virtual machine on top of your existing operating system
On the bare metal alongside your existing operating system(s) (multiboot scenario)
Installing Inside a Virtual Machine
The easiest way to start using Oracle Solaris 11 is to install it into a virtual machine on top of your existing operating system. Figure 1 shows Oracle Solaris 11 installed on Apple OS X using Oracle VM VirtualBox.
Figure 1. Oracle Solaris on Apple OS X
You are guaranteed that Oracle Solaris 11 will recognize the virtualized devices that the virtual machine provides. If you run Oracle Solaris 11 in full-screen mode, you might actually forget that there's another operating system underneath.
The one drawback to this approach is that you need enough memory to run two operating systems simultaneously—a minimum of 2 GB is recommended for good performance. You should also allow a minimum of 7 GB of disk space to install the operating system.
Oracle VM VirtualBox is a free-to-download hypervisor that supports Microsoft Windows, Apple OS X, Linux, and Oracle Solaris as host platforms, and, of course, Oracle Solaris as one of its many guests. Oracle makes it easy to try this approach by also offering a number of preinstalled virtual machines for Oracle VM VirtualBox that are focused towards a specific use, for example, to evaluate the developer tools that are available on Oracle Solaris 11.
After you have booted off the Live Media, the installation process is straightforward. Simply click the Install Oracle Solaris icon on the desktop to launch the graphical installer, shown in Figure 2.
Figure 2. The Oracle Solaris Graphical Installer
As you can see from Figure 2, the installation process is simple and asks some basic questions before laying down a fixed set of packages. After Oracle Solaris has successfully been installed, you can easily customize the installation by using the Package Manager.
After the installation process is complete, you can simply reboot into your new Oracle Solaris environment or review the Oracle Solaris installation log, as shown in Figure 3.
Figure 3. Reviewing the Installation Log
Installing on Bare Metal as a Standalone System
If you have an x86 system to dedicate to Oracle Solaris 11, this installation process is really the same as installing the OS into a virtual machine. Simply boot the Live Media and start up the graphical installer.
The biggest question with this approach is whether Oracle Solaris 11 has the proper drivers for your hardware devices. If you run the Live Media, you can easily determine how well your devices are supported. On the desktop of the Live Media, there is an icon for the Device Driver Utility, which is shown in Figure 4. Double-click the icon and wait for the scan to complete.
While booting off the Live Media, the default user login and password is jack
. If you need to become the root user, you can use the password solaris
. Later, we will discuss more about how the initial user is set up during the Oracle Solaris installation.
Figure 4. The Oracle Solaris Device Driver Utility
If drivers are missing, the utility provides pointers on where to look for help. Google is also your friend here, but if you truly hit a dead end, Oracle VM VirtualBox might be a better solution until the driver you need becomes available or until you buy a new system or the components necessary to solve the driver problems.
If you are trying to install Oracle Solaris 11 onto a SPARC-based system, you will have to use the Interactive Text Installer. Unlike the Live Media, this installation installs a selection of software that is suitable for a server-oriented environment. It does not include a desktop environment. After the initial installation, you can install a full desktop environment by using the Package Manager to install the solaris-desktop
package.
Installing on Bare Metal in a Multiboot Scenario
In a multiboot scenario, you install Oracle Solaris 11 on the bare metal alongside your existing operating system(s). This scenario is the most complicated and requires some preparation.
The Oracle Solaris 11 Live Media includes the GNOME Partition Editor, GParted, which you can use to partition your hard disk. You should create a partition of type Linux swap, which the Oracle Solaris installer will recognize.
If Windows is your existing OS, the Oracle Solaris boot loader will recognize it without difficulty. If Linux is your existing OS, be sure to back up your GRUB
configuration file, because you will need to add its entries to the Oracle Solaris GRUB
menu. Refer to Installing Oracle Solaris 11.2 Systems for details.
Users
Now that you have Oracle Solaris 11 installed, let's discuss how the privileges assigned to the user ID that you created during installation allow you to administer your system.
If you recall, during installation, you created a user account, as shown in Figure 5.
Figure 5. The Oracle Solaris Graphical Installer—Configuring Users
The installer asked you for only a single password, which is used as the password for both the root
account and the initial user account. However, the root
password is immediately expired, as you'll see if you try to switch to root
:
larry@solaris:~$ su
Password:
su: Password for user 'root' has expired
New Password:
Re-enter new Password:
su: password successfully changed for root
GUI tools requiring administrator privileges will also prompt you for the root
password initially and then explain that the root user has expired and a new password must be provided, as shown in Figure 6:
Figure 6. Prompt for a New root
Password
The root
Role
If you look at the /etc/passwd
file, you will see root
defined.
larry@solaris:~$ cat /etc/passwd
root:x:0:0:Super-User:/root:/usr/bin/bash
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/:
...
However, you will be frustrated if you try to log in as root
. For security reasons, Oracle Solaris 11 does not define root
as a traditional user account. If you look at the /etc/user_attr
file, you can see that root
is defined as a role, as shown in Listing 1.
larry@solaris:~$ cat /etc/user_attr
#
# The system provided entries are stored in different files
# under "/etc/user_attr.d". They should not be copied to this file.
#
# Only local changes should be stored in this file.
# This line should be kept in this file or it will be overwritten.
#
root::::type=role
larry::::lock_after_retries=no;profiles=System Administrator;roles=root
Listing 1. Verifying that root
Is Defined as a Role
You can also see that the user ID created by the installer was assigned the root
role by default. So, although you cannot log in as root
, you can switch to the root
role, which will prompt you for the root
password.
Note: When using su
, the default user name is root
and it is not required, as seen in the earlier example where we changed the default password.
larry@solaris:~$ su root
Password:
root@solaris:~#
The sudo
Command
In addition to being assigned the root
role, the user created at install time is added to the /etc/sudoers
file. The /etc/sudoers
file is well-documented and you can define very fine-grained rules as to what a particular user is allowed to do. In the case of the user created during installation, the user is allowed to do everything (just as if they were root
). Here's what the entry for the user created during installation looks like:
larry ALL=(ALL) ALL
The entry above is stating that user larry
can run any command on any host as any user. For further details on how to fine-tune a user's privileges, see the sudoers
man page.
So, theoretically, you should never have to switch to the root
role to perform privileged operations, for example, to write a file to the root of the file system:
larry@solaris:~$ touch /file1
touch: cannot touch `/file1': Permission denied
However, prefixing the same command with sudo
gives me the proper privileges necessary to complete the operation:
larry@solaris:~$ sudo touch /file1
Password:
Note that the password required by sudo
is not the root
password, but rather your user account password.
The bottom line here is that everything is set up for you "out of the box" with the default installation of Oracle Solaris 11. The user ID you created at install time is able to fully administer the system. With the right privileges, you can properly administer your system, such as managing system services, which we address in the next section.
Service Management Facility (SMF)
Oracle Solaris 11 manages system services through the Service Management Facility (SMF). Although a GUI is available, the more common and powerful way to manage services is to use these command-line commands: svcs
to report service status and svcadm
to manipulate service instances. For example, run svcs
to get a list of the currently running services, as shown in Listing 2.
larry@solaris:~$ svcs |more
STATE STIME FMRI
legacy_run 19:20:46 lrc:/etc/rc2_d/S47pppd
legacy_run 19:20:46 lrc:/etc/rc2_d/S89PRESERVE
disabled 19:21:28 svc:/system/ocm:default
online 19:12:50 svc:/system/early-manifest-import:default
online 19:12:50 svc:/system/svc/restarter:default
online 19:13:00 svc:/network/tcp/congestion-control:vegas
online 19:13:01 svc:/network/sctp/congestion-control:cubic
online 19:13:01 svc:/network/sctp/congestion-control:newreno
online 19:13:01 svc:/network/sctp/congestion-control:vegas
...
online 19:25:48 svc:/network/smtp:sendmail
online 19:25:51 svc:/network/location:default
online 19:25:52 svc:/system/filesystem/autofs:default
online 19:25:53 svc:/system/name-service/cache:default
Listing 2. Getting a List of the Currently Running Services
SMF has many advantages compared to the old way of using UNIX services through startup scripts. The key advantage is the specification of metadata about each service in a manifest file. This allows you to specify dependencies between services, which then enables independent services to be started in parallel, which speeds up the system boot. Also, when services fail, they can be restarted in the correct order relative to each other. For example, take a look at the sendmail
service, using the -l
option to display all available information, as shown in Listing 3.
larry@solaris:~$ svcs -l sendmail
fmri svc:/network/smtp:sendmail
name sendmail SMTP mail transfer agent
enabled true
state online
next_state none
state_time September 11, 2012 07:25:48 PM UTC
logfile /var/svc/log/network-smtp:sendmail.log
restarter svc:/system/svc/restarter:default
contract_id 289
manifest /lib/svc/manifest/network/smtp-sendmail.xml
manifest /etc/svc/profile/generic.xml
dependency require_all/refresh file://localhost/etc/mail/sendmail.cf (online)
dependency require_all/refresh file://localhost/etc/nsswitch.conf (online)
dependency optional_all/none svc:/system/filesystem/autofs (online)
dependency require_all/none svc:/system/filesystem/local (online)
dependency require_all/none svc:/network/service (online)
dependency require_all/refresh svc:/milestone/name-services (online)
dependency optional_all/refresh svc:/system/identity:domain (online)
dependency optional_all/none svc:/system/system-log (online)
Listing 3. Displaying Information About a Service
At the bottom of Listing 3, you can see the services on which sendmail
depends. If one of services on which sendmail
depends fails to start for some reason, sendmail
will not even attempt to start.
You can also easily disable, enable, and restart services by using the svcadm
command. For example, use this command to disable the sendmail
service:
larry@solaris:~$ sudo svcadm disable sendmail
larry@solaris:~$ svcs -x sendmail
svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent)
State: disabled since September 11, 2012 08:32:29 PM UTC
Reason: Disabled by an administrator.
See: http://support.oracle.com/msg/SMF-8000-05
See: sendmail(1M)
See: /var/svc/log/network-smtp:sendmail.log
Impact: This service is not running.
Using the -x
option for the svcs
command will give you an explanation of the service state:
larry@solaris:~$ svcs -x sendmail
svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent)
State: disabled since October 5, 2011 01:52:39 AM NZDT
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: sendmail(1M)
See: /var/svc/log/network-smtp:sendmail.log
Impact: This service is not running.
Note that this output also provides links to further information about the service state and the services log file (/var/svc/log/network-smtp:sendmail.log
), both of which can be very useful in tracking down service failures.
Equally, we could also have used the SMF Services graphical interface from the Administration menu in the desktop panel. This interface allows some of the same functionality as the command line, including the ability to disable, refresh, and restart system services and browse logs for each service instance, as shown in Figure 7.
Figure 7. Oracle Solaris SMF Service Inspector
Oracle Solaris 11 is secure by default. What this means is that all nonessential network services are disabled or configured to only listen for connections from the local system itself, thus reducing the risk of a network-based attack. In fact, only SSH, a service to allow remote logins, is enabled.
Administering the Network
One of the first services that you need to administer is the network. Oracle Solaris 11 uses Network Configuration Profiles (NCPs) to apply network configuration to a system. By default, when using the Live Media, the system uses the Automatic NCP, which automatically tries to connect to a network using DHCP. If a wired network is available, it will always connect to this; otherwise, it will try to connect to a wireless network.
The first place to start is the Network Status icon found on the top panel of the desktop. This icon indicates whether you are connected to a wired or wireless network or you are offline, as shown in Figure 8.
Figure 8. Three States of the Network Status Icon
Clicking the icon brings up the Network Preferences dialog box, as shown in Figure 9.
Figure 9. Oracle Solaris Network Preferences Dialog Box
From the Network Preferences dialog box, you can see both IP version 4 and version 6 addresses as well as the network speed for the network link that has been configured, in this case a wired interface. All network interfaces in Oracle Solaris 11 are assigned vanity identifiers, in this case net0
, which no longer reflect what underlying network driver is used. This is a change that is new to Oracle Solaris 11 compared to previous releases.
If you are installing onto a laptop and have wireless networking, you can view the list of wireless networks available by right-clicking the status icon, as shown in Figure 10.
Figure 10. Oracle Solaris Wireless Network Options
Network configuration is managed using an SMF service, svc:/network/physical:default
, and just like any SMF service, you can view the status of the service from the command line, as shown in Listing 4.
larry@solaris:~$ svcs -l network/physical:default
fmri svc:/network/physical:default
name physical network interface configuration
enabled true
state online
next_state none
state_time September 11, 2012 07:17:34 PM UTC
logfile /var/svc/log/network-physical:default.log
restarter svc:/system/svc/restarter:default
contract_id 69
manifest /lib/svc/manifest/milestone/config.xml
manifest /lib/svc/manifest/network/dlmgmt.xml
manifest /lib/svc/manifest/network/network-physical.xml
manifest /lib/svc/manifest/network/network-ipmp.xml
manifest /lib/svc/manifest/network/network-install.xml
manifest /lib/svc/manifest/network/network-ipmgmt.xml
manifest /lib/svc/manifest/system/name-service/upgrade.xml
manifest /etc/svc/profile/site/sc_profile.xml
dependency optional_all/none svc:/milestone/config (online)
dependency require_all/none svc:/network/datalink-management:default (online)
dependency require_all/none svc:/network/loopback (online)
dependency require_all/none svc:/network/physical:upgrade (online)
dependency require_all/none svc:/network/location:upgrade (online)
dependency optional_all/none svc:/network/ipmp (online)
dependency optional_all/none svc:/network/install (disabled)
dependency require_all/none svc:/network/ip-interface-management:default (online)
dependency require_all/none svc:/system/name-service/upgrade (online)
dependency require_all/none svc:/network/netcfg:default (online)
dependency optional_all/none svc:/system/manifest-import (online)
Listing 4. Viewing the Status of an SMF Service
If you prefer to manage your network manually, you need to enable the DefaultFixed
Network Configuration Profile, as follows:
larry@solaris:~$ sudo netadm enable -p ncp DefaultFixed
Password:
Enabling ncp 'DefaultFixed'
You will then have full manual control over the network configuration and can proceed to use the administrative commands dladm
and ipadm
to configure your network, as shown in Listing 5.
larry@solaris:~$ dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet unknown 1000 full e1000g0
larry@solaris:~$ ipadm show-if
IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes --
larry@solaris:~$ sudo ipadm create-ip net0
larry@solaris:~$ ipadm show-if
IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes --
net0 ip down no --
larry@solaris:~$ sudo ipadm create-addr -T static -a 10.0.2.18/24 net0/v4static
larry@solaris:~$ sudo ipadm show-if
IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes --
net0 ip ok yes --
larry@solaris:~$ ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net0/v4static static ok 10.0.2.18/24
lo0/v6 static ok ::1/128
Listing 5. Manually Administering a Network
We will not cover manual network configuration, network configuration profiles, or managing naming services in this article. You can read more about manual network configuration in the excellent Oracle Solaris 11 product documentation.
Where Is Everything in Oracle Solaris?
So where is everything in Oracle Solaris 11? The root directory (/
)is not hard to understand for those accustomed to Windows operating systems. It's like the top-level directory on a drive (C:\\
). The key difference is that Oracle Solaris provides a single directory hierarchy that starts at /
. So, unlike Windows, there's no need to specify a device (for example, C:\\
, D:\\
, and so on) when specifying a file name.
Oracle Solaris uses ZFS as the default root file system. ZFS provides the highest levels of data integrity, and it includes many different utilities to allow administrators to perform a variety of tasks, for example, data backup or data encryption.
Table 1 shows various locations available in Oracle Solaris from which to run different commands. These are specified by the value of the environmental variable $PATH
.
Table 1. Locations and Their Content
Location | Content | Default Path |
---|---|---|
/usr/bin |
Nonessential command binaries (not needed in single-user mode); for all users. | Yes |
/usr/gnu/bin |
GNU versions of popular commands. Where there is no conflict, commands have been included in /usr/bin . Linux users can set /usr/gnu/bin to be in their $PATH at first to have a more familiar experience. |
No |
/usr/sbin |
Nonessential system binaries, for example, daemons for various network services. | Yes |
Table 2 shows some additional locations to note in Oracle Solaris 11.
Table 2. More Oracle Solaris 11 Locations and Their Content
Location | Content |
---|---|
/opt |
Optional application software packages. |
/usr/local |
Tertiary hierarchy for local data, specific to this host. Typically, it has further subdirectories, for example, /usr/local/bin/ , /usr/local/lib/ , and /usr/local/share/ . |
/etc |
Static system configuration data. |
/var |
Variable files whose content is expected to continually change during normal operation of the system, such as logs, spool files, and temporary e-mail files. |
/home |
Users' home directories, containing saved files, personal settings, and so on. |
The home directories are actually auto-mounted from /export/home
. For more information see the Automounted Home Directory blog.
Image Packaging System (IPS)
Because Oracle Solaris 11 is designed to fit on a CD, you might discover that you need to install additional software. A key differentiator from Oracle Solaris 10 is the new Image Packaging System (IPS) in Oracle Solaris 11. One of the main goals of the IPS is to provide a network repository-based delivery mechanism, which is kind of like an app store. Oracle Solaris comes with one repository preconfigured, and you can easily add more. From here, you can very easily install many other software components that aren't in the default installs, either by using a graphical or command-line client.
An important feature of IPS is automatic software-dependency checking. When you select a package to install, IPS determines all the other required packages that are needed and ensures that these are installed as well. There are a number of group packages that are available to install for common selections of software, for example, a desktop environment and a Web AMP stack.
Finding and Installing Packages
You can use either the Package Manager GUI (available from the System > Administration menu), shown in Figure 11, or the command line to manage the packages.
Figure 11. The Oracle Solaris Package Manager
From the command line, the main command is pkg
. The pkg
command is always intended to be run with a subcommand, such as list
, search
, info
, or install
.
For example, use the pkg list
command to see the list of packages currently installed on your system, indicated by an i
in the first column of IFO
, as shown in Listing 6. An f
in the second column indicates that the package is frozen, and an r
or o
in the third column indicates that package has been renamed or obsoleted.
larry@solaris:~$ pkg list
NAME (PUBLISHER) VERSION IFO
archiver/gnu-tar 1.26-0.175.1.0.0.24.0 i--
audio/audio-utilities 0.5.11-0.175.1.0.0.24.0 i--
codec/flac 1.2.1-0.175.0.0.0.0.0 i--
codec/libtheora 1.1.1-0.175.1.0.0.15.0 i--
codec/ogg-vorbis 2.30.0-0.175.1.0.0.12.0 i--
codec/speex 1.2-0.175.1.0.0.15.0 i--
communication/im/pidgin 2.10.5-0.175.1.0.0.24.0 i--
compress/bzip2 1.0.6-0.175.1.0.0.24.0 i--
compress/gzip 1.4-0.175.1.0.0.24.0 i--
compress/p7zip 9.20.1-0.175.1.0.0.24.0 i--
compress/unzip 6.0-0.175.1.0.0.24.0 i--
compress/xz 5.0.1-0.175.1.0.0.24.0 i--
...
x11/xkill 1.0.3-0.175.1.0.0.24.1317 i--
x11/xlock 0.5.11-0.175.1.0.0.24.1317 i--
x11/xmag 1.0.4-0.175.1.0.0.24.1317 i--
x11/xvidtune 1.0.2-0.175.1.0.0.24.1317 i--
Listing 6. Determining What Packages Are Installed
To find a package, use the search
subcommand. For example, if you are looking for wireshark, a graphical network protocol analyzer, use pkg search
. The -p
flag restricts the results to the package names only; otherwise the output lists all items in a package that contain the search string, for example, files, directories, links, and so on:
larry@solaris:~$ pkg search -p wireshark
PACKAGE PUBLISHER
pkg:/diagnostic/wireshark/wireshark-common@1.8.2-0.175.1.0.0.24.0 solaris
pkg:/diagnostic/wireshark@1.8.2-0.175.1.0.0.24.0 solaris
And then, to get more information on a particular package, use pkg info
. The -r
(remote) flag is necessary when querying a package that is not installed on the local file system, as shown in Listing 7.
larry@solaris:~$ pkg info -r wireshark
Name: diagnostic/wireshark
Summary: Graphical network protocol analyzer
Category: Applications/Internet
State: Not installed
Publisher: solaris
Version: 1.8.2
Build Release: 5.11
Branch: 0.175.1.0.0.24.0
Packaging Date: September 4, 2012 05:18:59 PM
Size: 3.33 MB
FMRI: pkg://solaris/diagnostic/wireshark@1.8.2,5.11-0.175.1.0.0.24.0:20120904T171859Z
Listing 7. Getting More Information for a Package
To see the contents of the wireshark
package, use the pkg contents
command, as shown in Listing 8. This command is very useful when you're trying to figure out where a package installed its contents.
larry@solaris:~$ pkg contents -r wireshark
PATH
etc
etc/security
etc/security/exec_attr.d
etc/security/exec_attr.d/diagnostic:wireshark
usr
usr/sbin
usr/sbin/wireshark
usr/share
usr/share/applications
usr/share/applications/wireshark.desktop
usr/share/man
usr/share/man/man1
usr/share/man/man1/wireshark.1
usr/share/pixmaps
usr/share/pixmaps/wireshark.png
Listing 8. Listing the Contents of a Package
To see any dependencies that a package might have, you need a slightly more complicated query, shown in Listing 9.
larry@solaris:~$ pkg contents -r -o fmri -t depend wireshark
FMRI
pkg:/diagnostic/wireshark/wireshark-common@1.8.2-0.175.1.0.0.24.0
pkg:/library/desktop/cairo@1.8.10-0.175.0.0.0.0.0
pkg:/library/desktop/gtk2@2.20.1-0.175.1.0.0.19.0
pkg:/library/desktop/pango@1.28.3-0.175.0.0.0.0.0
pkg:/library/glib2@2.28.6-0.175.1.0.0.19.0
pkg:/library/zlib@1.2.3-0.175.1.0.0.23.0
pkg:/system/library/libpcap@1.1.1-0.175.1.0.0.23.0
pkg:/system/library/math@0.5.11-0.175.1.0.0.19.0
pkg:/system/library@0.5.11-0.175.1.0.0.23.0
pkg:/x11/library/libx11@1.5.0-0.175.1.0.0.23.1314
pkg:/x11/library/libxcursor@1.1.13-0.175.1.0.0.23.1314
Listing 9. Determining Package Dependencies
In this case, we are outputting the package FMRI (Fault Management Resource Indicator), which is the formal way of describing a package of a specific version, and we are using the -t
option to specify that we are looking for a package dependency of type depend
.
This means that IPS will identify the packages on which wireshark depends and install them if they are not already installed.
Finally, when you are ready to install the package, use the pkg install
command, as shown in Listing 10.
larry@solaris:~$ sudo pkg install wireshark
Packages to install: 3
Create boot environment: No
Create backup boot environment: No
Services to change: 2
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 3/3 294/294 17.5/17.5 228k/s
PHASE ITEMS
Installing new actions 389/389
Updating package state database Done
Updating image state Done
Creating fast lookup database Done
Listing 10. Installing a Package
Note: Only authorized users can install packages to the system, which is why you must prefix the pkg install
command with sudo
. See the Users section to review.
Package Repositories
Oracle Solaris 11 comes preconfigured with a single software repository: http://pkg.oracle.com/solaris/release. Oracle also makes the entire software repository available for download so that it can be set up on your internal network if you are in an environment where the network is restricted, or if you simply want improved performance by having software packages available locally. It is also possible to configure additional software repositories. Over time, it is expected that third-party software providers will create and publish to their own repositories in addition to the main Oracle Solaris repository.
Besides the default release
repository at pkg.oracle.com, Oracle makes available a support
repository to those who purchase an Oracle support contract. The support
repository is updated, on average, once per month with bug fixes and security patches for Oracle Solaris 11. For more information on support, see Oracle Premier Support for Operating Systems.
One-Click Install
You might have noticed the Install link when you were browsing the repositories. Figure 12 shows the Package Catalog, which is a list of all packages that are available for Oracle Solaris 11.
Figure 12. Oracle Solaris Repository View through a Web Browser
Clicking the Install link launches the Package Manager and starts the installation. If the repository hasn't been configured on the system, the necessary configuration is added before the packages are installed. This is a nice feature, because anyone can promote a package. For example, here's a link to install wireshark. (Note: Unless you're reading this from an Oracle Solaris system, your Web browser will not know what do to with this link).
Boot Environments
A boot environment (BE) is a clone of the files and file system that are critical to the operation of Oracle Solaris. After installation, there is only a single boot environment, but over time, new boot environments are created, either manually by you or automatically by the Package Manager.
A boot environment essentially allows you to roll back to an earlier snapshot of Oracle Solaris 11 in case something goes wrong in your current boot environment. A boot environment usually consists of the root data set, but it can optionally include other data sets. Some data sets are shared across multiple boot environments, for example, /export
. Figure 13 shows the Manage Boot Environments dialog box from the Package Manager.
Figure 13. Manage Boot Environments Dialog Box
Before you do anything risky on your system, such as modifying a system configuration file, consider creating a new boot environment to protect yourself in case something goes wrong. You create a new boot environment using the beadm
utility. Here's an example of creating a new boot environment called be-prior-to-changes
.
larry@solaris:~$ sudo beadm create be-prior-to-changes
Remembering to use this simple command can be the difference between several hours of downtime trying to recover from your changes and a few seconds to quickly revert to an older boot environment. So it is recommended that administrators use boot environments as part of their best practices for administering an Oracle Solaris 11 system.
Update Manager
When updates to IPS packages are available, Oracle Solaris will notify you by way of an icon in your top panel, as shown in Figure 14.
Figure 14. Oracle Solaris Update Manager Notification Icon
Clicking the icon launches the Update Manager, which then creates a new boot environment and installs the updates, as shown in Figure 15. The updated system will be active on your next boot. If anything unexpected happens during a system update, you can safely revert to the older boot environment to recover the system.
Figure 15. Oracle Solaris Update Manager
Solaris Legacy Package Manager
For many years, the Oracle Solaris operating system has used the SVR4 packaging system, so named because it was part of the System V, Release 4 version of UNIX. Oracle Solaris 11 supports the installation of SVR4 packages and includes the commands needed to install and remove those packages. Some compatibility has been added to the system to allow any package dependencies declared in an SVR4 package to be satisfied.
You should be careful to heed any warnings printed to the console when installing SVR4 packages to ensure that the package contents don't conflict with existing files and directories installed using IPS. One nice way to avoid this issue is by taking advantage of Oracle Solaris 10 Zones, compatible virtual environments that allow for running legacy applications.
A Final Message
Moving to Oracle Solaris 11 can be exciting. However, it can also be frustrating as you begin to learn your way around. We hope this article has given you enough of an introduction to successfully make the move to Oracle Solaris 11.
After you are up and running, you will surely come up with additional questions. An experienced Oracle Solaris community is ready to help. Come join us in the OTN Discussion Forum: Oracle Solaris 11 for SysAdmins. Generally, you will receive a response within hours. Also, take a look at some of the excellent Oracle Solaris 11 how-to guides, which cover some of the more common administrative tasks you will face when deploying applications on the operating system.
Enjoy your journey with Oracle Solaris 11!
See Also
Download Oracle Solaris 11
Access all Oracle Solaris 11 how-to articles
Learn more with Oracle Solaris 11 training and support
See the official Oracle Solaris blog
Revision 1.2, 07/26/2014