Solaris 11 package management (IPS) cheatsheet

Install a package called diagnostic/wireshark:
pkg install diagnostic/wireshark
Uninstall a package called diagnostic/wireshark using a short form of the package
name:
pkg uninstall wireshark
Update all possible packages to the newest version, including all Oracle Solaris zones:
pkg update
Do a dry run of an update of all possible packages to the newest version:
pkg update -nv
Update all system packages to the newest version and require a new BE:
pkg update --be-name fix-nfs-issue

List packages currently installed on a system:
pkg list
Show information about an installed package called wireshark:
pkg info wireshark
Show information about an uninstalled package called xchat:
pkg info -r xchat
Show the contents of an installed package called wireshark:
pkg contents wireshark
Show all PNG files of an installed package called wireshark:
pkg contents -o path -a path=*.png wireshark
Search all locally installed packages for the match gcc:
pkg search -l gcc
Search all packages in the configured repositories that contain dev header
gcrypt-module.h:
pkg search 'gcrypt-module.h'
Search for all packages in the configured repositories that have the
classification Web Services/Application and Web Servers:
pkg search -o pkg.name 'set:info.classification:*Application
and Web Servers’
Search for all packages installed locally that have a dependency on
library/libxml2:
pkg search –l -o pkg.name 'depend::library/libxml2'

Browse package command history (includes graphical Package Manager client):
pkg history
Purge package command history:
pkg purge-history
Verify the integrity of the current system image:
pkg verify
Verify the integrity of installed package called wireshark:
pkg verify wireshark
Fix any errors reported by pkg verify on an installed package called wireshark:
pkg fix wireshark
Freeze a package called wireshark to prevent any accidental future updates:
pkg freeze wireshark

List currently associated publishers:
pkg publisher
Add a publisher at a specified repository URI:
pkg set-publisher -p http://www.example.com/solaris11
Add a publisher:
pkg set-publisher -g http://www.example.com/solaris11 siteapps
Remove a publisher:
pkg unset-publisher siteapps
Query a repository URI for publisher names and package counts:
pkgrepo -s http://pkg.oracle.com/solaris/release info
Change to the Oracle Solaris support repository with pre-downloaded certificates
and keys from the Oracle Solaris release repository:
pkg set-publisher -G http://pkg.oracle.com/solaris/release \
-g http://pkg.oracle.com/solaris/support -k /path/to/ssl_key \
-c /path/to/ssl_cert solaris

print devices in solaris

root@solaris01:~# prtconf -v | awk ‘/model/{getline; print}’
value=’Host bridge’
value=’VGA compatible controller’
value=’Video controller’
value=’Mixed Mode device’
value=’PCI-PCI bridge’
value=’Network controller’
value=’PCI-PCI bridge’
value=’Universal Serial Bus UHCI compliant’
value=’Universal Serial Bus UHCI compliant’
value=’Universal Serial Bus UHCI compliant’
value=’Universal Serial Bus UHCI compliant’
value=’Universal Serial Bus EHCI compliant’
value=’Subtractive Decode PCI-PCI bridge’
value=’Ethernet controller’
value=’FireWire (IEEE 1394) OpenHCI compliant’
value=’Unknown class of pci/pnpbios device’
value=’System peripheral’
value=’System peripheral’
value=’System peripheral’
value=’ISA bridge’
value=’Motherboard’
value=’Motherboard’
value=’Motherboard’
value=’PS/2 Port for PS/2-style Mice’
value=’System keyboard’
value=’Motherboard’
value=’Motherboard’
value=’IDE controller’
value=’SMBus (System Management Bus)’

Everytime you want to identify a device look at the vendor id + device id

                name='device-id' type=int items=1
                    value=00004311
                name='devsel-speed' type=int items=1
                    value=00000000
                name='interrupts' type=int items=1
                    value=00000001
                name='model' type=string items=1
                    value='Network controller'
                name='power-consumption' type=int items=2
                    value=00000001.00000001
                name='reg' type=int items=10
                    value=000b0000.00000000.00000000.00000000.00000000.020b0010.00000000.00000000.00000000.00004000
                name='revision-id' type=int items=1
                    value=00000001
                name='subsystem-id' type=int items=1
                    value=00000007
                name='subsystem-vendor-id' type=int items=1
                    value=00001028
                name='unit-address' type=string items=1
                    value='0'
                name='vendor-id' type=int items=1
                    value=000014e4

In this case the 14e4:4311 is a BCM4311 802.11b/g WLAN

Solaris 11 links

Download Media

https://www.oracle.com/solaris/solaris11/downloads/solaris-downloads.html

Create IPS repository

https://www.thegeekdiary.com/solaris-11-ips-hand-on-lab-creating-ips-repository/

http://www.snatchbrain.com/?p=401

Hands-On labs for solaris 11

https://www.oracle.com/technical-resources/articles/solaris11/solaris-labs.html

Device driver for Broadcom BCM4401 100Base-T NIC

https://docs.oracle.com/cd/E86824_01/html/E54777/bfe-7d.html

Solaris 11 training path

Download Solaris SW

https://fsck.technology/software/Sun%20Microsystems/Solaris%20Install%20Media/Sun%20Solaris%2010/

https://archive.org/details/SunSolaris9OperatingEnvironmentSPARCPlatformEdition

Opencsw IPS repository

http://sfe.opencsw.org/quickrepolinks

Set Kodi to autostart in the VGA port in ElementaryOS

Create file /lib/systemd/system/kodi.service with contents

[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target
[Service]
User = root
Group = root
Type = simple
ExecStart = /scripts/kodi.sh
Restart = on-abort
RestartSec = 5
[Install]
WantedBy = multi-user.target

Run: systemctl daemon-reload

create /scripts/kodi.sh

#!/bin/sh
xinit /scripts/kodi.bash
exit $?

create /scripts/kodi.bash

#!/bin/sh
(while true;do
xrandr --output LVDS-1 --off --output VGA-1 --auto > /var/log/xrandr.log 2>&1
sleep 2
done) &
/usr/bin/kodi-standalone
exit $?

Setup the system to start on multiuser level: systemctl set-default multi-user.target

To go back to the default login level: systemctl set-default graphical.target