Category Archives: Unix Sysadmin

Unix System Administration

Installing Firefox on Solaris Unix

Firefox Browser Logo from Mozilla

Installing Firefox on Solaris Unix

Mozilla releases Firefox for Windows,  Mac OS X, Android, iOS for iPhone and Linux operating systems but the popular browser is also ported to Solaris by Sun/Oracle internal developers.

Here, I’ll describe steps for a quick test install on a Solaris 10 machine. You can copy the Firefox file to whatever directory you specify. I used /usr/lib for testing this version without overwriting my current version of Firefox.

Install as root.

sunbox#  pwd


sunbox#  cp /home/testuser/firefox-10.0.1.en-US.solaris-10-fcs-sparc-tar.bz2 .

sunbox#  bzip2 –cd firefox-10.0.1.en-US.solaris-10-fcs-sparc-tar.bz2 | tar xf –  (use tar xvf if you want to see the verbose output)

sunbox#  cd firefox

sunbox#  ls –l | more


sunbox#  ./firefox & (to start this install of firefox)

[1] 342


Firefox for Solaris can be found here (pkgadd versions):

Firefox 19.0.2 is now available for Solaris at

Firefox 18 is also now available for Solaris at

Firefox 17.0.1 is now available for Solaris at

Update 12 September 2012

Firefox 15 is now available for Solaris Unix

Update 19 July 2012

Firefox 14.0.1 is now available for Solaris 10 at the new Sunfreeware link:

Both pkg and tar files are at the new link.

or Firefox for Solaris (tar versions):

Be sure to choose the correct file for your Solaris OS and platform. (OpenSolaris, Sparc, i386, etc.)

The latest version of Firefox ported to Solaris is 10.0.1 which is the latest version of Firefox for other platforms as of this writing (20120214)

In the world of Unix, as in life, there are many paths that lead to the same place. There are numerous ways to perform the same task in Unix, Linux, OS X and sometimes Windows. This is just one.

Happy Valentine’s Day and Happy Browsing!


Uptime Command in Unix, Linux and Windows

The uptime command can be very useful for troubleshooting system problems. In Windows 7 you can use the systeminfo command and pipe the output to find to cut just the “Time” line out. Older Windows XP systems used to show the actual uptime. Now it just shows the system boot time and you have to do the math.

C:\> systeminfo | find "Time:"
Using the systeminfo and | commands to find the uptime of a Windows system--Image Credit:
Windows XP gives the system uptime with the systeminfo command--Image Credit:

You can also use the ‘systeminfo | more’ command string to give you the full output of your Windows system information with paging so you can use the space bar to page down.

Uptime in Unix is of course more versatile. Here’s the short and concise uptime manpage from Solaris 10 Unix:

sunbox% man uptime

User Commands uptime(1)

uptime – show how long the system has been up


The uptime command prints the current time, the length of
time the system has been up, and the average number of jobs
in the run queue over the last 1, 5 and 15 minutes. It is,
essentially, the first line of a w(1) command.

Below is an example of the output uptime provides:

example% uptime
10:47am up 27 day(s), 50 mins, 1 user, load average: 0.18, 0.26, 0.20

See attributes(5) for descriptions of the following attri-

| Availability | SUNWcsu |

w(1), who(1), whodo(1M), attributes(5)

who -b gives the time the system was last booted.

SunOS 5.9 Last change: 18 Mar 1994 1

sunbox% who -b
. system boot Nov 9 15:11
sunbox% uptime
5:57pm up 457 day(s), 2:46, 1 user, load average: 0.10, 0.10, 0.09
sunbox% date
Thu Feb 9 17:57:58 PST 2012

2012 Calendar vs 1752 Calendar in Unix and Leap Years

Happy Ground Hog Day all! This February is the month that gets an extra day added during the leap year of 2012. The Unix ‘cal’ command in Solaris 10 will show you how things can get screwed up if the leap days aren’t added to the calendar every 4 years.

 sunbox% cal 9 1752
 September 1752
 S  M Tu  W Th  F  S
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice anything missing? The calendar we use today had September 1752 adjusted by the British after changing from the Julian calendar to the Gregorian calendar. And you thought changing to a new operating system can create havoc!

From the cal manpage in Solaris 10:

An unusual calendar is printed for September 1752. That is
the month 11 days were skipped to make up for lack of leap
year adjustments. To see this calendar, type:

cal 9 1752

If you want to see the calendar for the current month and year, just type cal.

Type cal 3 2012 to see the calendar for March 2012. If you just type cal 3, you will see the full 12 month calendar for the year 3. 2009 years ago, way before Unix Time.Type cal 2012 in the Unix command terminal and you’ll get the full 12 month calendar for the year 2012.

Unix command cal 2012 in Solaris

Sun/Oracle ends support for some UltraSPARC processors

So I was asked about upgrading some older Sun/Oracle hardware to Solaris 11. The systems in question are all currently running Solaris 10. Solaris 11 was introduced on November 9, 2011 so it hasn’t been around too long yet. But Solaris 10 has been around since 2005 which makes the Unix OS as old as some of our hardware. The full version of Solaris 11 no longer supports legacy processor architectures UltraSPARC I, II, IIe, III, IIIi, III+, IV and IV+. In the world of Sun/Oracle hardware, these don’t go to 11.

The list of our somewhat dated hardware currently running Solaris 10 includes:

System and Codename

Processor Type and Maximum Number

Sun Netra 440                        Chalupa 19

4x UltraSPARC IIIi

Sun Blade 150                Grover Plus

1x UltraSPARC IIi

Sun Fire V440                 Chalupa

4× UltraSPARC IIIi

Sun Fire V880                 Daktari


Sun Fire V890                 Silverstone

8× UltraSPARC IV/IV+

Sun Ultra 45                           Chicago

2x UltraSPARC IIIi

The processors are UltraSPARC IIi, UltraSPARC III/III+ and UltraSPARC IV/IV+, all of which are not supported in the production release of Solaris 11. (They were still supported in the ‘Express’ beta version of Solaris 11 released in November 2010.) Looks we are due for new hardware, which of course is what Larry Ellison wants. Racing sail boats can be expensive. 🙂

If you need to find out what version of Solaris you are running and what type of processors you have, use the uname –a and psrinfo –pv commands.

sunbox% uname -a

SunOS sunbox 5.10 Generic_127111-03 sun4u sparc SUNW,Sun-Fire-880

sunbox% psrinfo -pv

The physical processor has 1 virtual processor (0)

  UltraSPARC-III+ (portid 0 impl 0x15 ver 0xb0 clock 1200 MHz)

The physical processor has 1 virtual processor (2)

  UltraSPARC-III+ (portid 2 impl 0x15 ver 0xb0 clock 1200 MHz)


We are still using old iron in a standalone test environment that doesn’t have to meet the demands of real production servers. At least we aren’t still using the old ‘pizza box’ or the Sun E10K systems from the 1990’s.

Note that If you do try to install Solaris 11 or boot from a Solaris 11 DVD on unsupported hardware, you will get an error similar to this:

Error: 'SUNW,UltraSPARC-IIIi' is not supported by this release of Solaris.
Program terminated
{1} ok

Moving more legacy systems to linux anyone?

Solaris 10 UNIX /var/audit logs full, workstation not responding…

So you have a UNIX system admin emergency:  A Solaris 10 workstation that was working and running is suddenly frozen and unresponsive.

Suspected culprit? Audit logs. If they have filled up and no other actions can be logged, all processes and attempted logins are stopped.

It is possible to get back into the frozen UNIX workstation and restore normal operation with a few steps:

Hit Stop-A to get to the Solaris OpenBoot PROM OK prompt. *

At the OpenBoot prompt, login to command mode with the firmware password if you have one set. (You should if you are worried about audit logs)

Type boot-s  to boot into single user mode. You’ll need the firmware and root password.

Run a df –h to see what is mounted. If /var/audit is not mounted, the partition is probably full.

Find the entry in your /etc/vfstab file for the disk device that contains /var/audit.

Mount the disk device (not the raw rdsk device) using the mount command with your disk device name such as:

mount /dev/dsk/c1t0d0s7 /var/audit

Run a df –h again just for a sanity check. /var/audit should show as mounted and at 100% capacity.

Change directory to /var/audit and run gzip on the largest audit files or move them according to your local security policy.

After gzip compression completes, (this may take a while if the files are large) run df –h again to check that /var/audit is under 80% capacity or so.

A test compression on the binary audit files using gzip on my system dropped the /var/audit partition from 100% to 5% capacity. Your results may vary.

While still in single user mode, type init 6 to reboot and go back to normal multi-user mode. All your normal drive partitions and network devices should be mounted and available.

*This works on Solaris SPARC machines, x86 machines have no built-in Open Boot PROM so you must use GRUB or other boot loader to boot to single user mode.