Oracle made a tone of changes to its networking stack in Solaris 11. Persistent network configuration is now managed by SMF, and not by editing following files :
/etc/defaultdomain /etc/dhcp.* /etc/hostname.* /etc/hostname.ip*.tun* /etc/nodename /etc/nsswitch.conf
IPMP conponents :
1. mpathd daemon – This daemon is responsible to detect an interface failure or repair. It uses a configuration file /etc/default/mpathd to determine when to failover the interface.
# cat /etc/default/mpathd # #pragma ident "@(#)mpathd.dfl 1.2 00/07/17 SMI" # # Time taken by mpathd to detect a NIC failure in ms. The minimum time # that can be specified is 100 ms. # FAILURE_DETECTION_TIME=10000 # # Failback is enabled by default. To disable failback turn off this option # FAILBACK=yes # # By default only interfaces configured as part of multipathing groups # are tracked. Turn off this option to track all network interfaces # on the system # TRACK_INTERFACES_ONLY_WITH_GROUPS=yes
2. ipmpstat – Shows information about IP interface configured in an IPMP group also the test and data address.
Types of configurations
1. Singleton – IPMP group with single interface
2. Active-Active – All the interfaces in the IPMP group are online.
3. Active-standby – One of the interface in the IPMP configuration will be used as standby.
Testing IPMP failover
We can check the failure and repair of an interface very easily through command line. “-d” detaches the interface whereas “-r” reattaches it.
# if_mpadm -d ce0 # if_mpadm -r ce0
1. IPMP requires a manual (fixed) network configuration mode, so we have to set the network configuration profile (NCP) to DefaultFixed.
# netadm enable -p ncp DefaultFixed
The output of netadm list should show the ncp online with DefaultFixed profile.
# netadm list TYPE PROFILE STATE ncp Automatic disabled ncp DefaultFixed online loc Automatic offline loc NoNet offline loc DefaultFixed online
2. Make sure you have unique MAC addresses for all the interfaces being used in the IPMP group
# eeprom local-mac-address?=true
# dladm show-linkprop -p mac-address LINK PROPERTY PERM VALUE DEFAULT POSSIBLE net1 mac-address rw 0:c:29:12:40:79 0:c:29:12:40:79 -- net2 mac-address rw 0:c:29:12:40:83 0:c:29:12:40:83 -- net3 mac-address rw 0:c:29:12:40:8d 0:c:29:12:40:8d -- net0 mac-address rw 0:c:29:12:40:6f 0:c:29:12:40:6f --
By default the link based failure detection is enabled. To check the failure detection method :
# ipmpstat -p ipmpstat: probe-based failure detection is disabled
My virtual machine has 4 NIC cards as follows. I will be using net1 and net2 to configure the IPMP group.
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet unknown 1000 full e1000g0 net1 Ethernet unknown 1000 full e1000g1 net2 Ethernet unknown 1000 full e1000g2 net3 Ethernet unknown 1000 full e1000g3
1. Active/Active Configuration example
Active Interface : e1000g1 (net1) : e1000g2 (net2) Data IP : 192.168.1.10
Create the IPMP group “ipmp0”.
# ipadm create-ipmp ipmp0
Create the interfaces net1 and net2 to be used in the IPMP group.
# ipadm create-ip net1 # ipadm create-ip net2
Add the two interfaces to the IPMP group
# ipadm add-ipmp -i net1 -i net2 ipmp0
To check the status of the IPMP group we just created :
# ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES ipmp0 ipmp0 ok -- net2 net1
Add data IP address to the IPMP group. The syntax to do so is :
ipadm create-addr -T static -a [hostname or IP address] [IPMP-interface]/[arbitrary-string]
# ipadm create-addr -T static -a 192.168.1.10 ipmp0/data1
To check the status of the IPMP interface :
# ipmpstat -a ADDRESS STATE GROUP INBOUND OUTBOUND ipmp0-data1 up ipmp0 net1 net2 net1
# ipmpstat -an ADDRESS STATE GROUP INBOUND OUTBOUND 192.168.1.10 up ipmp0 net1 net2 net1
To check the status of individual interfaces in the IPMP group.
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net2 yes ipmp0 ------- up disabled ok net1 yes ipmp0 --mb--- up disabled ok
To check the IP address of the IPMP group :
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 ipmp0/data1 static ok 192.168.1.10/24
# ifconfig -a lo0: flags=2001000849[UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL] mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 net1: flags=1000843[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 12 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:12:40:79 net2: flags=1000843[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 13 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:12:40:83 ipmp0: flags=8001000843[UP,BROADCAST,RUNNING,MULTICAST,IPv4,IPMP] mtu 1500 index 11 inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255 groupname ipmp0
All the configuration changes we just made, are saved in the /etc/ipadm/ipadm-DefaultFixed.conf file (As we are using Fixed NCP)
# cat /etc/ipadm/ipadm-DefaultFixed.conf _ifname=lo0;_aobjname=lo0/v4; _ipv4saddr=string,127.0.0.1;prefixlen=string,8;up=string,yes; _ifname=lo0; _family=string,2,26;_class=uint64,2; _ifname=net1; _family=string,2,26;_class=uint64,0;_ipmpif=string,ipmp0; _ifname=ipmp0; _family=string,2,26;_class=uint64,1;_underif=string,net1,net2; _ifname=net2; _family=string,2,26;_class=uint64,0;_ipmpif=string,ipmp0; _ifname=ipmp0;_aobjname=ipmp0/data1; _ipv4saddr=string,192.168.1.10;up=string,yes;
2. Active/Standby Configuration Example
Let us configure an Active/Standby Link-Based IPMP configuration, by setting net2 as the standby interface.
Active Interface : e1000g1 (net1) Standby Interface : e1000g2 (net2) Data IP : 192.168.1.10
To set the net2 interface as standby interface :
# ipadm set-ifprop -p standby=on -m ip net2
Check the status of the individual interfaces. Observe the 2nd column. The net2 interface is not active.
# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net2 no ipmp0 is----- up disabled ok net1 yes ipmp0 --mb--- up disabled ok
You can also confirm the STANDBY flag in the ifconfig command output.
# ifconfig -a lo0: flags=2001000849[UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL] mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 net1: flags=1000843[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 12 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:12:40:79 net2: flags=61000843[UP,BROADCAST,RUNNING,MULTICAST,IPv4,STANDBY,INACTIVE] mtu 1500 index 13 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:12:40:83 ipmp0: flags=8001000843[UP,BROADCAST,RUNNING,MULTICAST,IPv4,IPMP] mtu 1500 index 11 inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255 groupname ipmp0
Check the status of the IPMP group and observe the net2 interface in (), as a contrast to the Active/Active configuration.
# ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES ipmp0 ipmp0 ok -- net1 (net2)
Also note the difference in the output of the below command. Bothe the inbound and outbound traffic is on the interface net1.
# ipmpstat -an ADDRESS STATE GROUP INBOUND OUTBOUND 192.168.1.10 up ipmp0 net1 net1
Solaris 11 – Link Based IPMP configuration
Solaris 10 – Probe based IPMP
Solaris 10 – Link Based IPMP
Solaris 11 IPS hand-on LAB – Managing software Packages
Solaris 11 IPS hand-on LAB – Boot environments
Boot environments in solaris 11 are multiple images with different kernel, software applications and packages. Only one boot environment can be active at a time. We can boot into different boot environments according to our need. The command to manage boot environments in solaris is beadm. BEs are extremely useful in case of rolling back any software upgrades. The BEs are actually designed over ZFS file system, so its important to have ZFS file system for root.
Now by default we have a BE with name solaris when you install a fresh solaris 11 operating system.
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 2.28G static 2013-11-19 02:41
As you can see the default BE solaris is the active BE on reboot (NR flag denotes Active on next reboot).
Let us now create a new boot environment called geekBE.
# beadm create geekBE
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- geekBE - - 150.0K static 2013-11-19 10:19 solaris NR / 2.28G static 2013-11-19 02:41
As you can see the new BE is created but its not active. Check the size of this BE, 150 KB. Check the size of the geekBE when you activate it.
To activate the new BE :
The geekBE will get activated on next reboot. As you can see in the Active column below (R denotes reboot)
# beadm activate geekBE
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- geekBE R - 2.28G static 2013-11-19 10:19 solaris N / 37.0K static 2013-11-19 02:41
If you can see now, the size of geekBE is 2.28 GB, as its active BE now.
We can also mount a BE to see the contents of it.
# beadm mount geekBE /mnt
Similarly to umount it :
# beadm umount geekBE
To list a complete information about the new BE we created :
# beadm list -a geekBE BE/Dataset/Snapshot Active Mountpoint Space Policy Created ------------------- ------ ---------- ----- ------ ------- geekBE rpool/ROOT/geekBE R - 2.11G static 2013-11-19 10:19 rpool/ROOT/geekBE/var - - 129.20M static 2013-11-19 10:19 [email protected]:49:13 - - 42.0K static 2013-11-19 10:19 [email protected] - - 38.56M static 2013-11-19 02:45 [email protected]:49:13 - - 308.0K static 2013-11-19 10:19 [email protected] - - 6.46M static 2013-11-19 02:45
Installing packages in BE
You can install a package in a particular BE. If the BE is already active the you have to simply use the original pkg install command.
In case you want to add a package by creating a new BE :
# pkg install --be-name newBE vim Packages to install: 1 Create boot environment: Yes Create backup boot environment: No DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 1/1 1528/1528 7.8/7.8 0B/s PHASE ITEMS Installing new actions 1673/1673 Updating package state database Done Updating image state Done Creating fast lookup database Done
A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment newBE will be
mounted on ‘/’. Reboot when ready to switch to this updated BE.
Snapshots of BE
We can also take snapshots of BEs similar to the ZFS file system snapshots.
# beadm create [email protected]
The -s option in beadm list would also display the snapshot we just created
# beadm list -s geekBE BE/Snapshot Space Policy Created ----------- ----- ------ ------- geekBE [email protected]:47:00 311.0K static 2013-11-19 11:17 [email protected] 6.51M static 2013-11-19 02:45 [email protected] 0 static 2013-11-19 11:24
We can also create new BEs using the snapshots.
# beadm create -e [email protected] newBE
## beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- geekBE R - 2.31G static 2013-11-19 11:17 newBE - - 60.0K static 2013-11-19 11:27 solaris N / 90.0K static 2013-11-19 02:41
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- geekBE - - 150.0K static 2013-11-19 10:31 newBE R - 2.41G static 2013-11-19 10:36 solaris N / 2.78M static 2013-11-19 02:41
When you install the vim package by creating a new BE, it gets automatically created and activated as well on next reboot.
In order to destroy a BE use :
# beadm destroy newBE Are you sure you want to destroy newBE? This action cannot be undone(y/[n]): y The BE that was just destroyed was the 'active on boot' BE. solaris is now the 'active on boot' BE. Use 'beadm activate' to change it.
I hope the post was informative. Stay tuned for more on Oracle Solaris 11.
Solaris 11 IPS hand-on LAB – Managing software Packages
Solaris 11 IPS hand-on LAB – Boot environments
In the last post we created an IPS repository. Let us now see how we can manage the software packages in solaris 11. Now oracle has completely restructured the software management in Solaris 11 to simplify the software package administration. Lets start with some pkg commands.
Publisher Related Commands
To see which publisher configuration the machine is using
a. Local repository
# pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file://sol_11_repo/
b. Remote repository
# pkgrepo info -s /net/repo_server/sol_11_repo/ PUBLISHER PACKAGES STATUS UPDATED solaris 4401 online 2012-09-27T22:22:59.530981Z
To set a new publisher configuration
We can also the change the publisher :
# pkg set-publisher -g /net/repo_server2/sol_11_repo/
To check for updates for all the packages
Now we can see if there any available updates in the repository for the software packages already installed in the machine use the pkg update command with -nv option for dry run.
# pkg update -nv
Getting information about packages
To list the packages that are available in the repository :
# pkg list -g /net/repo_server/sol_11_repo/
To list the packages that are currently installed in the system :
# pkg list
We can also do a pkg list on a particular package.
# pkg list top NAME (PUBLISHER) VERSION IFO diagnostic/top 3.8-0.175.1.0.0.24.0 i--
Here check the last column, i in I column -> package is installed f in F column -> package is frozen o in O column -> package is obsolete r in O column -> package is available under new name
To get a detailed info about a package :
# pkg info top Name: diagnostic/top Summary: provides a rolling display of top cpu using processes Category: Applications/System Utilities State: Installed Publisher: solaris Version: 3.8 (3.8beta1) Build Release: 5.11 Branch: 0.175.1.0.0.24.0 Packaging Date: September 4, 2012 05:17:59 PM Size: 229.39 kB FMRI: pkg:[email protected],5.11-0.175.1.0.0.24.0:20120904T171759Z
Use -r to get the package information from the repository. In my case I have a updated top package
# pkg info -r top
To list the contents of the package and the paths, files that will be installed :
# pkg contents top PATH usr usr/bin usr/bin/top usr/share usr/share/man usr/share/man/man1 usr/share/man/man1/top.1
We can search for a package which contains a particular file. For e.g. /etc/default/mpathd file.
# pkg search mpathd INDEX ACTION VALUE PACKAGE basename file etc/default/mpathd pkg:[email protected]
The installation and un-installation of packages in IPS is pretty easy. Let us first see how we can install packages using IPS.
We can do a dry run before installing any package. use the switch -nv for this
# pkg install -nv vim Packages to install: 1 Estimated space available: 5.37 GB Estimated space to be consumed: 52.47 MB Create boot environment: No Create backup boot environment: No Rebuild boot archive: No Changed packages: solaris editor/vim None -> 7.3.600,5.11-0.175.1.0.0.24.0:20120904T172128Z
As shown above we can check whether the package requires a rebuild of boot archive, space required by it etc.. before actually installing it.
Now to actually install the package :
# pkg install vim Packages to install: 1 Create boot environment: No Create backup boot environment: No DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 1/1 1528/1528 7.8/7.8 0B/s PHASE ITEMS Installing new actions 1673/1673 Updating package state database Done Updating image state Done Creating fast lookup database Done
In case of uninstalling a package you can do a dry run as we did for installing it.
# pkg uninstall -nv vim
To actually uninstall an installed package :
# pkg uninstall vim Packages to remove: 1 Create boot environment: No Create backup boot environment: No PHASE ITEMS Removing old actions 1717/1717 Updating package state database Done Updating package cache 1/1 Updating image state Done Creating fast lookup database Done
Solaris 11 IPS hand-on LAB – Managing software Packages
Solaris 11 IPS hand-on LAB – Boot environments
Oracle Solaris 11 uses a completely new approach for package management. Now with Image packaging system (IPS) a system administrator can install, update and search packages from local or remote repository. The repository can be accessed with both command line and GUI interface.
The repository can be any one of the following :
1. Local repository
2. Remote repository in local network
3. Internet repository
Although a remote repository in a local network is a common practice in production setups as this gives a central repository and security and complete control.
Advantages of IPS:
1. Auto software dependency checking and validation.
2. Uses ZFS snapshot and clones features for creating instant backups and roll-backs in case any issue arises.
3. Easy replication of exact same set of softwares across many client versions.
4. Allows you to easily search, list, install, update, remove software packages for Solaris 11.
5. Create and manage boot environments.
1. Manifest : describes an IPS package
2. Repository : location either local or remote where packages are stored. The location is specified by Universal Resource Identifier (URI)
3. Publisher : Person or organization that provides the packages.
4. Image : Location where IPS package can be installed.
5. Catalog : Lists all the packages in a repository
6. Package archive : File containing publisher information and packages provided by the publisher
7. Boot environment : Bootable instance of an Image
7. Origin : Repository with both package metadata and package content.
9. Mirror : Repository that contains only package content. Similar to a download mirror to a file on the Internet. A secondary repository you may say.
Creating a Local IPS repository
1. Create a separate ZFS filesystem for repository
Create a dedicated filesystem for storing the IPS repository.
# zpool create sol_11_repo c1t2d0 # zfs set atime=off sol_11_repo # zfs set compression=on sol_11_repo
The atime property do not update the access time of the files, thus reducing the write traffic when reading the files.
# zpool list sol_11_repo NAME SIZE ALLOC FREE CAP HEALTH ALTROOT sol_11_repo 14.9G 91K 14.9G 0% ONLINE -
# df -h /sol_11_repo Filesystem size used avail capacity Mounted on sol_11_repo 15G 31K 15G 1% /sol_11_repo
2. Download, extract the repository
Now download the iso image of the repository from oracle site. It comes in 2 parts, so we have to combine it together as follows :
# cat sol-11_1-repo-full.iso-a sol-11_1-repo-full.iso-b > sol-11_1-repo-full.iso
Now mount the iso image on /mnt
# mount -F hsfs `lofiadm /tmp/sol-11_1-repo-full.iso` /mnt
Copy all the files in the repository to the mount point we created for the repository.
# sudo rsync -avz /mnt/repo/* /sol_11_repo/
We can now umount the mount point /mnt and remove the iso image.
# umount /mnt # rm -fr /tmp/sol-11_1-repo-full.iso
3. Creating the repository
Create the infrastructure for the repository using the pkgrepo command.
# pkgrepo create /sol_11_repo
4. Build a search index
The repository creation command does not build the search index by default, so we need to create one
# pkgrepo -s /sol_11_repo refresh Initiating repository refresh.
5. Enable Clients to access the Repository
To enable the client systems to get packages from the repository we have to set the origin for the publisher. To check the publisher of the repository we just created :
# pkgrepo -s /sol_11_repo/ info PUBLISHER PACKAGES STATUS UPDATED solaris 4401 online 2012-09-27T22:22:59.530981Z
As shown above the Publisher for the repository is solaris. Fire the below command on the local client to be able to get packages from the local repository.
# pkg set-publisher -G '*' -M '*' -g /sol_11_repo solaris -G '*' -> Removes all existing origins for the solaris publisher. -M '*' -> Removes all existing mirrors for the solaris publisher. -g -> Adds the URI of the newly-created repository as the new origin for the solaris publisher.
Now check whether your repository works fine on the local system. The pkg list command will display all the packages available in the repository.
# pkg list -g /sol_11_repo NAME (PUBLISHER) VERSION IFO FSWfontconfig-devel-docs 0.5.11-0.130 --o FSWxorg-client-docs 0.5.11-0.130 --r FSWxorg-client-programs 0.5.11-0.130 --r FSWxorg-clientlibs 0.5.11-0.130 --r FSWxorg-data 0.5.11-0.130 --r FSWxorg-devel-docs 0.5.11-0.130 --o FSWxorg-headers 0.5.11-0.130 --r FSWxwpft 0.5.11-0.130 --o FSWxwrtl 0.5.11-0.130 --r ..................
Creating a Remote IPS repository
Now the steps to create a repository which is accessible to all the systems in your production setup we have to do some extra steps in addition to what we did to configure a local IPS repository. First thing is to share the repos via NFS.
# zfs set sharenfs=on sol_11_repo
Now for the client systems to use the packages from the remote repository use the below command :
# pkg set-publisher -G '*' -M '*' -g /net/repo_server/sol_11_repo/ solaris repo_server -> this is the central repository server -G '*' -> Removes all existing origins for the solaris publisher. -M '*' -> Removes all existing mirrors for the solaris publisher. -g -> Adds the URI of the newly-created repository as the new origin for the solaris publisher.
To check if we can list the packages use the command :
# pkg list -g /sol_11_repo
Using the default repository
Now every solaris 11 system is configured to have a default publisher solaris, which uses the public “release” repository : http://pkg.oracle.com/solaris/release. You don’t have to create this repository. If you have an internet connection to the solaris 11 host you can use this repository by default if you have not configured any other local repository. The public repository is not generally used in production as it is not secure, not customizable like the local repositories.
Updating an IPS repository
The local repositories must be updated to have the latest softwares. The update only copies the updated software files. This can be done in 2 ways :
1. Directly from the Public repository
I am using environment variables here, otherwise we can do it the other way by giving the source and destination in the pkgrecv command.
# export PKG_SRC=http://pkg.oracle.com/solaris/release/ # export PKG_DEST=/sol_11_repo # pkgrecv '*'
2. Updating from a local repository
# pkgrecv -s 192.168.1.10:/sol_11_depo -d /sol_11_repo '*'
I hope the post was informative. Stay tuned for the next part in the hands-on series on IPS.
A lot has been already said on Solaris 11 new features, its performance etc.. So, I just wanted get my hands dirty by testing the new Solaris 11. And what could be better than installing a Solaris 11 Virtual machine in virtual box. Here is how, you can also do it :
1. A laptop with atleast 2 GB RAM and around 50 GB of disk space
2. Oracle virtualbox software. (download here)
3. Oracle Solaris 11.1 iso image ( sol-11_1-text-x86.iso )
Let us setup a virtualbox virtual machine with solaris 11. Open the virtualbox software and click on new.
We need to name the new virtual machine and set the type/version as Solaris/Oracle Solaris 11 (64bit)
Set the Memory of the virtual machine to atleast 1.5 GB for a optimum performance.
We will be creating a new hard drive for the solaris 11 virtual machine.
Now in case you want the virtual machine to be used in other virtualization softwares like VMware workstation etc., then select appropriate hard drive file type. I will be using the VM in virtualbox itself, so I am going to go with VDI (VirtualBox Disk Image)
In case of a dynamically allocated hard drive file, space is filled only when some data is written to it. I usually prefer fixed size hard drive as it is faster than the other dynamically allocated hard drive.
Name the HDD file we are going to create. You can also choose the location to store the hard disk file. I will be setting the size of hard disk as 10 GB.
We are almost done with all the settings. There are few more settings to be done, so click on settings.
We do not need audio device for the virtual machine , so disable it.
We also do not need the USB ports, So disable the USB controller too.
To be able to connect the Virtual machine from the host machine, select the bridged Adapter as the adapter 1 type and select the appropriate network hardware to be used from the host machine. I use Wi-Fi network in the host machine so I selected the Wi-Fi port. You may be using a ethernet card in host machine, so select it appropriately.
For the first time boot of the virtual machine, we need to boot it from the solaris 11 text install ISO image. Select the ISO of solaris 11 and click start to start the installation.
Select the default US-English keyboard layout and press enter.
On the next screen select the default language as English and press enter.
Select the option 1 to install the Oracle solaris 11.
Now appears the Welcome screen of solaris 11. On this screen and all other screen we need to use ESC + 2 to go to the next screen.
We will be installing solaris 11 on the local disk so select Local Disk as a discovery selection.
The installer would discover the only hard disk we allocated for this installation. Select this hard drive and press ESC + 2.
You can change the layout of the disk on the next screen. We would go with the default layout and use the entire disk.
On the next screen give the hostname for the virtual machine (geeklab) and select manual configuration of the network configuration. As shown you can configure network automatically using the DHCP as well. But for this LAB let us use the manual configuration itself.
Provide the IP address and netmask for the interface net0. (192.168.1.20/24)
We do not need to use any DNS name service for this installation so select “Do not configure DNS”.
Select “None” For the Alternate Name Service option.
Now set the time zone according to your location. For me its india so I would choose Asia/India.
Confirm the time settings and go to the next screen.
On the next screen set the root password . here you can also create any additional users if you want.
The enrollment for support is not required for this LAB setup so just go to next screens.
Select a no proxy network configuration as we are not going to use any proxy settings to connect to the internet.
Check the final installation summary and verify them to start the installation of Oracle Solaris 11.
Now the installation would start which will not take more than 15 minutes.
Once the installation is complete we need to reboot the OS. The key to reboot is ESC + 8 on this screen.
Do remember to remove the ISO image from the virtual machine or else the installation would start again. The OS would reboot and you can see the latest Solaris 11.1 OS up and running.
Enabling GNOME Graphical Desktop
Be default you won’t be able to use the graphical desktop in solaris 11. To enable the graphical desktop we need to add a package (solaris-desktop) from the IPS repository (refer Solaris 11 IPS series).
# pkg install solaris-desktop # init 6
After rebooting the Virtual Machine and you should see the Graphical Desktop.
I hope the post was informative. Do subscribe to stay tuned to the latest happenings on the blog.