knowledge

Overview

Solaris is a UNIX-based operating system originally developed by Sun Microsystems in the 1990s, later acquired by Oracle Corporation. Known for robustness, scalability, and support for high-end hardware, it is widely used in enterprise environments for mission-critical applications including database management, cloud computing, and virtualization. Solaris differs from Linux distributions in its proprietary nature, package management, service management, and file system tools.


Terminology

TermDefinition
SMFService Management Facility — Solaris init/service management system replacing SysV
IPSImage Packaging System — Solaris package manager
ZFSZettabyte File System — default on Solaris; supports snapshots, data compression, integrity checks
SPARCSun’s proprietary processor architecture targeted by Solaris
trussSolaris system call tracer (equivalent to strace on Linux)
pfilesSolaris tool to list open files for a process (equivalent to lsof -c on Linux)
showrevSolaris system info command (similar to uname -a but more detailed)

Core Concepts

Solaris vs Linux Distributions

AspectLinuxSolaris
LicenseOpen-sourceProprietary (Oracle)
Source CodePublicly available and modifiableClosed source
Package Managerapt, dnf, rpm, etc.IPS (pkgadd)
Service ManagementsystemdSMF (svcadm)
File Systemext4, Btrfs, XFS, etc.ZFS
Hardwarex86, ARM, RISC-VSPARC and x86
RBACAvailable on some distrosBuilt-in
HypervisorKVM, VirtualBoxOracle VM Server for SPARC (built-in)

Key differences:

  • ZFS — Solaris default; provides data compression, snapshots, and high scalability
  • SMF — more advanced service management than systemd; better reliability and availability for services
  • IPS — Solaris package management; includes built-in RBAC and mandatory access controls not standard across all Linux distributions

Command Equivalents

System Information

TaskLinuxSolaris
System infouname -ashowrev -a (includes patch level and hardware provider)

Package Management

TaskLinuxSolaris
Install packagesudo apt-get install apache2pkgadd -d SUNWapchr

Permission Management

TaskLinuxSolaris
Change permissionschmod 700 filenamechmod 700 filename (same)
Find SUID filesfind / -perm 4000find / -perm -4000 (note the - prefix)

NFS

Solaris has its own NFS implementation using the share command. Configuration stored in /etc/dfs/dfstab.

TaskLinuxSolaris
Share NFS directoryEdit /etc/exportsshare -F nfs -o rw /export/home
Mount NFS sharemount -t nfs <server>:/share /mntmount -F nfs 10.10.10.10:/nfs_share /mnt/local

Process and File Inspection

TaskLinuxSolaris
List open files by processsudo lsof -c apache2pfiles $(pgrep httpd)
Trace system callssudo strace -p $(pgrep apache2)truss -p $(pgrep httpd)

truss vs strace:

  • truss can trace signals sent to a process — strace cannot
  • truss traces system calls made by child processes — strace only traces the specified process
  • truss is useful for diagnosing errors, performance issues, and revealing sensitive data in application calls


References / Images

  • Oracle Solaris documentation
  • man showrev, man truss, man pfiles