Table of Contents

Solaris

Free NIC drivers for Solaris including those for an nForce 3 motherboard.
CSW packaging home home of pkg-get for Solaris and a large collection of packages.
Blastwave is a collective effort to create a set of binary packages of free software, that can be automatically installed to a Solaris computer (sparc or x86 based) over the network. Blastwave has a substantial build server farm for the use of the software developers and maintainers in the Solaris community. All software is built and tested in a standardized build environment using Sun ONE Studio 8, Sun ONE Studio 10, Studio 11 tools as well as GCC.

DNS client configuration

Edit /etc/nsswitch.conf:

hosts:     files dns

Edit /etc/resolv.conf:

nameserver 10.1.1.1

Source:DNS Configuration

DHCP client configuration

Create a /etc/dhcp.ifname:

touch /etc/dhcp.nfo0

Mount ISO on Solaris

# lofiadm -a /path/to/cd.iso

The output contains a part of the input for the next step:

/dev/lofi/1

To mount the ISO:

pkgconfig-x.xx-sol10-x86-local.gz
# mount -o ro -F hsfs /dev/lofi/1 /mnt

Sources:
lofiadm: Solaris Mount an ISO CD Image
How to mount an ISO image in SUN Solaris

Commands

System cpu/mem/process statistics:

prstat

Logrotation

man logadm

Rotate /var/log/mylog:
-p1w: after one week.
-C7: keep 7 old versions.
-z0: Leave 0 old log file uncompressed.
-N: Do not complain about missing logs.
-w mylog: Provide “mylog” as name for this logadm configuration.

logadm -p1w -C7 -z0 -N -w mylog /var/log/mylog

System information

CPU

psrinfo -pv

Example output:

The physical processor has 4 cores and 8 virtual processors (0-7)
  The core has 2 virtual processors (0 4)
  The core has 2 virtual processors (1 5)
  The core has 2 virtual processors (2 6)
  The core has 2 virtual processors (3 7)
    x86 (GenuineIntel 206C2 family 6 model 44 step 2 clock 2400 MHz)
      Intel(r) Xeon(r) CPU           E5620  @ 2.40GHz
prtdiag

Example output:

System Configuration: Supermicro X8DTN+-F
BIOS Configuration: American Megatrends Inc. 2.1c       10/28/2011
BMC Configuration: IPMI 2.0 (KCS: Keyboard Controller Style)

==== Processor Sockets ====================================

Version                          Location Tag
-------------------------------- --------------------------
Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz CPU 1

==== Memory Device Sockets ================================

Type        Status Set Device Locator      Bank Locator
----------- ------ --- ------------------- ----------------
DDR3        in use 0   P1-DIMM1A           BANK0
DDR3        empty  0   P1-DIMM1B           BANK1
DDR3        empty  0   P1-DIMM1C           BANK2
DDR3        in use 0   P1-DIMM2A           BANK3
DDR3        empty  0   P1-DIMM2B           BANK4
DDR3        empty  0   P1-DIMM2C           BANK5
DDR3        in use 0   P1-DIMM3A           BANK6
DDR3        empty  0   P1-DIMM3B           BANK7
DDR3        empty  0   P1-DIMM3C           BANK8
DDR3        empty  0   P2-DIMM1A           BANK9
DDR3        empty  0   P2-DIMM1B           BANK10
DDR3        empty  0   P2-DIMM1C           BANK11
DDR3        empty  0   P2-DIMM2A           BANK12
DDR3        empty  0   P2-DIMM2B           BANK13
DDR3        empty  0   P2-DIMM2C           BANK14
DDR3        empty  0   P2-DIMM3A           BANK15
DDR3        empty  0   P2-DIMM3B           BANK16
DDR3        empty  0   P2-DIMM3C           BANK17

==== On-Board Devices =====================================

==== Upgradeable Slots ====================================

ID  Status    Type             Description
--- --------- ---------------- ----------------------------

Source: The Geek Diary - How to find Number of Physical/Logical CPUs, cores and memory in Solaris

Memory

Amount of system memory in megabytes:

prtconf -m

Example output:

24568

Disk

diskinfo

Example output:

TYPE    DISK                    VID      PID              SIZE          RMV SSD
SCSI    c0t5000C500A1D1C647d0   ATA      ST1000NM0008-2F2  931.51 GiB   no  no
SCSI    c0t5000C500A1D1B4D4d0   ATA      ST1000NM0008-2F2  931.51 GiB   no  no
SCSI    c0t5000C500A45A75A2d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45A73EAd0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45B6EB5d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45EB962d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45D5DFFd0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45A4389d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45E8218d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A45E6E92d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A52BBA32d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A52BD754d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A52C80CAd0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500C602C8D6d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A5D84CFDd0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A60E9679d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A52F1CF1d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no
SCSI    c0t5000C500A52C9BD5d0   ATA      ST8000NM0055-1RM 7452.04 GiB   no  no

Services

List services:

svcs

Enable a service:

pfexec svcadm enable /network/zabbix:agent

Restart service:

pfexec svcadm restart zabbix:agent

Clear a 'maintenance' mark on a service (e.g. when set after too many service failures):

pfexec svcadm clear zabbix:agent

Bolthole.com is a mix of Solaris info, Java programming, and other techie tips.

OpenSolaris/OpenIndiana

Flash player

Install Adobe Flash Player on OpenSolaris for the default Firefox browser:

  1. Download the latest Flash Player from the Adobe website.
  2. Extract the contents of the archive to ~/.mozilla/plugins/
  3. Restart Firefox.

ioquake3

OpenSolarisOpenIndiana
Tested with:
OpenSolaris: ?
ioquake3: ?
Tested with:
OpenIndiana 151a7
ioquake3 rev2244
Download and install pkgconfig-x.xx-sol10-x86-local.gz Freeware for Solaris.

Check your PATH with:
$ $PATH

If /usr/local/bin isn't in the PATH place it there temporarily:

$ export PATH=$PATH:/usr/local/bin


Use Package Manager to install:
SUNWgmake
SUNWgcc (installeerd SUNWgcc, SUNWbinutils, SUNWarc en SUNWhea) \\

Use Package Manager to install:
gcc-3
header-math
iconv/extra

Source for header-math 1

Create a Makefile.local in the ioquake3 tree with contents:

Makefile.local:
USE_VOIP=0
USE_OPENAL=0

FIXME: Fix the following:

gmake[2]: Entering directory `/home/bas/ioquake3'
gmake[2]: `build/release-sunos-i386/ioq3ded.i386' is up to date.
LD build/release-sunos-i386/ioquake3.i386
ld: fatal: library -liconv: not found
ld: fatal: file processing errors. No output written to build/release-sunos-i386/ioquake3.i386
collect2: ld returned 1 exit status
gmake[2]: *** [build/release-sunos-i386/ioquake3.i386] Error 1
gmake[2]: Leaving directory `/home/bas/ioquake3'
gmake[1]: *** [targets] Error 2
gmake[1]: Leaving directory `/home/bas/ioquake3'
gmake: *** [release] Error 2

Hint: compiling and installing libiconv-1.14 doesn't help.

Open ./ioquake3/Makefile and scroll to:

#############################################################################
# SETUP AND BUILD -- SunOS
#############################################################################

Change:

  MKDIR=gmkdir

To:

  MKDIR=mkdir

Start the compilation:

$ gmake

OmniOSCE

Configure network interface after install

Tested on OmniOSCE r151046.

Check the dmesg output for the available network cards:

dmesg | grep mac

“Enable” the interface (in this case the yge0 interface):

ipadm create-if yge0

Set it to DHCP:

touch /etc/dhcp.yge0

Reboot:

reboot

WireGuard

Install WireGuard:

pfexec pkg install wireguard-tools

Go to homedir:

cd

Generate public and private WireGuard keys:

wg genkey | tee private.key | wg pubkey > public.key

Move the private.key to be the start of the tun0.conf:

pfexec mv private.key /etc/opt/ooce/wireguard/tun0.conf

Set permissions:

pfexec chown root:bin /etc/opt/ooce/wireguard/tun0.conf
pfexec chmod 0600 /etc/opt/ooce/wireguard/tun0.conf

Edit tun0.conf:

pfexec vi /etc/opt/ooce/wireguard/tun0.conf

Add server config under [Interface], and at least one client under a [Peer]:

[Interface]
PrivateKey = BASE64PRIVATEKEYOFSERVER
Address = 10.10.10.1/32
ListenPort = 5182

[Peer]
PublicKey = BASE64PUBLICKEYOFCLIENT
Endpoint = 10.1.1.38:5182
AllowedIPs = 10.10.10.38/32

Address: IP address to use for tunnel interface on the server.
Endpoint: IP address of client.
AllowedIPs: At least tunnel IP of client.

wg-quick looks for information in /etc/wireguard/ directory.
Create the config directory:

pfexec mkdir /etc/wireguard

And link the config:

pfexec ln -sf /etc/opt/ooce/wireguard/tun0.conf /etc/wireguard/tun0.conf

Start the WireGuard tun0 interface:

wg-quick up tun0

Expected output:

[#] wireguard-go tun
[#] sleep 0.1
[+] Interface for wg0 is tun0
[#] ipadm create-addr -t -T static -a local=10.10.10.1/32,remote=10.10.10.1 tun0/wg00
[#] wg setconf tun0 /dev/fd/63
[#] ifconfig tun0 mtu 1420
[#] route -q -n add -inet 10.10.10.38/32 -iface 10.10.10.1
add host 10.10.10.38/32: gateway 10.10.10.1
[+] Backgrounding route monitor

Show the status of WireGuard:

wg show

Expected output:

interface: tun0
  public key: BASE64PUBLICKEYOFSERVER
  private key: (hidden)
  listening port: 5182

peer: BASE64PUBLICKEYOFCLIENT
  endpoint: 10.1.1.38:5182
  allowed ips: 10.10.10.38/32

Shut down the interface so we can enable the wq-quick service (without it switching to state 'maintenance':

pfexec wg-quick down tun0

Check that wg-quick is available as a service to create an instance for:

svccfg list | grep wg

Expected output:

ooce/network/wg-quick

If it isn't import the manifest:

pfexec svccfg -v import /lib/svc/manifest/ooce/network-wg-quick.xml

Expected output:

svccfg: Successful import.

Create an instance of the wg-quick service for the tun0 config/interface:

pfexec svccfg

You will get the svccfg interactive shell.
Select the ooce/network/wg-quick service, add an instance for tun0, and exit the svccfg shell as follows:

svc:> select ooce/network/wg-quick
svc:/ooce/network/wg-quick> add tun0
svc:/ooce/network/wg-quick> exit

Check:

svcs -a | grep wg

Expected output:

-              -        svc:/ooce/network/wg-quick:tun0

Enable:

pfexec svcadm enable /ooce/network/wg-quick:tun0

Check:

svcs -a | grep wg

Expected output:

online         17:58:49 svc:/ooce/network/wg-quick:tun0

Check the status of WireGuard like before:

wg show

Reboot the server and use 'wg show' to check that that the WireGuard tun0 interface is available after reboot.

Source: kubernaut.eu - Installation of wireguard (wireguard-go) in OmniOS (illumos)