Changing the port on Solaris 10 Web Console

If enabled, the Solaris Management Console (SMC) runs a secure web server on port 6789 and this port setting is well documented in many Sun documents as well as several online forums. However, what is not so well documented is how to change this port setting.

Several Sun documents suggest that a simple change to the /etc/opt/webconsole/server.xml file (followed by a restart of the SMC web server) will do the trick but I have found this not to be the case. Each time I restarted the web server (after changing this file), the port on which the web server ran seemed to reverted back to the original setting of 6789. A comment at the top of the server.xml file saying, “DO NOT EDIT THIS FILE” also seems to suggest that this is not the correct file.

Instead (after a lot of searching), I found what I believe to be the correct file – /usr/lib/webconsole/.runtimerc and here is how I eventually changed the port on which the SMC web server runs:

# vi /usr/lib/webconsole/.runtimerc
# /usr/sbin/smcwebserver restart

You should be able to verify the new port is in use using the netstat -an command.

Register365 finally drop their prices

I see that Register365 (a.k.a. Hosting365) have finally reduced the cost of registering a .ie domain with them. Until recently, they were charging €69.95 (per year) for a .ie domain name but have now reduced this to a more reasonable €25.95, just in time for the October 31st opening of personal .ie domains by the IEDR. They have also reduced the cost of registering a .com .net and .org from €9.95 to €5.95.

I wonder what their friends over at Blacknight Solutions will make of this?

Installing Emacs on Solaris

I tried to install emacs on a Solaris 10 system earlier today and ran into trouble along the way. It wasn’t anything major but I was not able to find the solution on the web so I’m publishing my comments here.

The Problem

I downloaded, unpacked and installed the emacs binaries (version 22.0.91) as well as all specified dependencies from sunfreeware.com but when I tried to run emacs from the command-line after installling, I got the following error:

ld.so.1: emacs: fatal: /usr/local/lib/libpng.so.3: wrong ELF class: ELFCLASS64

It turns out that the latest version of the libpng library (1.2.21) was built as 64-bit library but all of the other dependencies of emacs that I downloaded (including emacs itself) were built as 32-bit files. Naturally, a 32-bit application cannot load a 64-bit library and thus the error above.

The Solution

The solution was as simple as reverting to an earlier version of the libpng library (1.2.20) which seems to have been built in 32-bit. I was able to download this from ftp://ftp.sunfreeware.com/pub/freeware/sparc/10

Internet Marketing piece on Today FM’s Last Word

There was brief, non-technical discussion on Internet Marketing on The Last Word programme on Ireland’s Today FM radio yesterday. They do pieces like this from time to time and they’re generally quite informative to the uninitiated listener.

This discussion was targeted at those whose core business is marketing and selling via the Internet and how to understand (and possibly improve) the search ranking being achieved by your website.

The interview starts at around 31 minutes into the Podcast of Thursday’s Last Word radio programme.

The Long Way Down

Ewan McGregor and Charley Boorman recently completed another motor cycling adventure that took them from the northern-most tip of Scotland, John O’Groats down the the southern-most tip of Africa, Cape Agulhas. The highlights from their journey, the Long Way Down, are being broadcast on BBC Two (six episodes I believe), commencing October 28th 2007.

I am looking forward to this as I really enjoyed watching their first adventure, the Long Way Round (on DVD as it happens) where they circumnavigated the world (London to New York via Asia) using a similar mode of transport.

I also caught the end of an interview with Charley Boorman on Ireland’s Today FM last night, which I think made for great radio listening. You could just feel the passion, excitement and fervour in his voice when describing some of the things they experienced. It’s well worth a listen if you have a few minutes to spare.

His interview starts around 15 minutes (and 30 seconds) into the Podcast of Thursday’s Last Word show.

Aren’t Mothers Great

The mother of a 13-year old girl gives Steve Ballmer from Microsoft an earful about her experiences with Windows Vista, their latest operating system offering.

I especially love how she appeared to got the final word in when, after Ballmer tried to waffle his way around the situation suggesting the Service Pack 1 would address many of the issues she’d seen, she retorted, “Good, I’ll let you come and install it for me!”

Priceless!

Source: SlashDot

Downes celebrate the Oktoberfest

Downes’ Pub in Thomas Street, Waterford are having their annual Oktoberfest evening for 2007 on Friday, October 12th 2007. The evening is a culmination of their month-long celebration of the official German Oktoberfest and has been an annual event in Downes since 2002.

The evening itself will feature live German beer-drinking (OOompah) music by members of the City of Waterford Brass and a wide selection of especially imported German beer.

This annual event has become more and more popular each year and I would advise you to get there early before either the band runs out of steam or pub runs out of beer. I know which one my money is on!

Dumping MySQL databases on a replication slave

I spent some time looking at the mysqldump command in detail this afternoon with a view to backing up some in-house MySQL databases which were configured in a simple replicated environment (single master, single slave). I knew that executing something like:

# mysqldump -u user --password=xxxx dbname > dumpfile.sql

on the replication slave would do most of what I needed but I wanted to be sure that I was getting a consistent backup of the data nonetheless. At first, I thought I might have to stop MySQL before and after the dump but then I recalled of course that MySQL actually needs to be running to do a dump. My Subversion hat was duly removed for the afternoon!

Then I started to think about locking and flushing databases and tables, a simple database lock/unlock (read) before/after the dump should do the trick. Fortunately, this is taken care of for me by the mysqldump utility through the --opt parameter. This parameter is a shorthand way of enabling several other options, most notably the --lock-tables option, which locks the tables in the database being dumped for the duration of the dump itself.

Interestingly though, the replication process is also suspended by mysqldump and this actually lead me to falsely believe (for a short time) that all databases had been locked instead of just the one being dumped.

So, in essence, the simple command I started out with above actually does everything I need.

Interesting Map of the Internet

Chris Harrison, a doctoral student from Carnegie Mellon University’s Human-Computer Interaction Institute has produced a series of interesting maps depicting the geographical structure and distribution of the Internet.

Here are some interesting observations I made:

  1. The coverage in the southern hemisphere is surprisingly low
  2. The coverage in India and (to a lesser extent) China is much lower than I expected
  3. The coverage in Australia reflects the location of most of the major cities in the south-eastern region of the country.
  4. Less well-developed continents like Africa and South America have poor coverage
  5. Whilst Ireland seems to fare reasonably well in Europe, if you zoom in on Ireland, you could argue that Waterford appears to be among the least well-served.

What do you think?

Source: SlashDot

Creating start/finish scripts for Solaris JumpStart installations

One of my earlier posts dealt with the installation of a Solaris JumpStart server. However, I have since been asked to publish some details on the use of start/finish scripts (a means by which you can further tailor the JumpStart process). so, here they are:

What are Start/Finish scripts?

In my understanding, a start script is any executable script file (in any supported language) that will be executed prior to the commencement of the Solaris JumpStart installation on a given system. A finish script is any executable script file (in any supported language) that shall be executed just after the Solaris JumpStart installation has completed but before the system is formally rebooted. Personally, I have only ever used finish scripts and did so to automate the installation of certain SUN packages as well as the creation of certain user accounts and directories.

/export/jumpstart/rules

My original post showed a rules file entry which looked something like this:

network XX.XX.XX.0 && arch sparc - myT1000 -

In this instance, there are no start or finish scripts being used (as indicated by the hyphens on either side of the profile name, myT1000). To specify a finish script change the above entry to look like this:

network XX.XX.XX.0 && arch sparc - myT1000 myFinish.sh

Don’t forget to re-run the check program after you update the rules file (/export/install/check)

/export/install/myFinish.sh

An important thing to note about the Solaris JumpStart process is that, prior to the final reboot of the (new) system, the root file system of the new system will be mounted on /a and will remain there until the system performs its final reboot. So, when creating a finish script, you must bear this in mind and alter you finish script accordingly. Aside from this, the finish script uses tools and techniques used by most Solaris administrators (well, mine does anyway) with some notable exceptions. Please Note that I have deliberately omitted certain instructions for security reasons (but you should get the idea in any case):

Script Setup

BASE=/a
MNT=$BASE/mnt
GROUPS_FILE=$BASE/etc/group
PASSWD_FILE=$BASE/etc/passwd

Creating Groups and Users

As I recall, it was a bit tricky to automate this so I went with the following solution:

echo "Creating Groups ..." | tee -a $INSTALL_LOG
echo "$GRP_MYSQL::$GID_MYSQL:" >> $GROUPS_FILE
echo "Creating Users ..." | tee -a $INSTALL_LOG
echo "$USR_MYSQL:x:$UID_MYSQL:$GID_MYSQL::/home/$USR_MYSQL:/dev/null" >> $PASSWD_FILE

Creating Directories

echo "Creating Directories ..." | tee -a $INSTALL_LOG
EXTRA_DIRS="$MNT/media $BASE/storage $BASE/export/zones"
for d in $EXTRA_DIRS
do
if [ ! -d $d ]; then
echo "Creating $d ..." | tee -a $INSTALL_LOG
mkdir -p $d >> $INSTALL_LOG 2>&1
fi
done

Installing Additional Packages

This can be a little tricky as it requires the creation of a package administration file (new to me) in order to automatically install packages. Also, the packages I wanted to install were located on another NFS server

PKG_ADMIN=$BASE/tmp/admin
PKG_REPO=xxxx:/export/install/pkgs
echo "Configuring additional software ..." | tee -a $INSTALL_LOG
mount -F nfs $PKG_REPO $MNT >> $INSTALL_LOG 2>&1
cat > $PKG_ADMIN <
mail=root
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
rdepend=nocheck
space=ask
setuid=nocheck
conflict=nocheck
action=nocheck
basedir=default
DONT_ASK

echo “Installing MySQL …” | tee -a $INSTALL_LOG
pkgadd -n -a $PKG_ADMIN -R $BASE -d $MNT/CSKmysql_sparc.pkg all >> $INSTALL_LOG 2>&1

umount $MNT >> $INSTALL_LOG 2>&1

Clearly, the above snippets will not work out of the box for you. However, they should give you a good starting point.

Reference Sites