<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>#!0 &#187; OpenSolaris</title>
	<atom:link href="http://blog.hashbang0.com/category/computing/sun/opensolaris/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hashbang0.com</link>
	<description>A blog of life and geekery</description>
	<lastBuildDate>Sun, 25 Dec 2011 08:00:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>OpenIndiana</title>
		<link>http://blog.hashbang0.com/2011/02/02/openindiana/</link>
		<comments>http://blog.hashbang0.com/2011/02/02/openindiana/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 15:21:49 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>

		<guid isPermaLink="false">http://blog.hashbang0.com/?p=1145</guid>
		<description><![CDATA[Back last year Oracle canned the OpenSolaris project.  A group of developers forked the source and created the Illumos project which aimed to maintain the base of OpenSolaris as well as develop open code to replace the closed binaries that &#8230; <a href="http://blog.hashbang0.com/2011/02/02/openindiana/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back last year <a href="http://blog.hashbang0.com/2010/08/14/goodbye-opensolaris/">Oracle canned the OpenSolaris project</a>.  A group of developers forked the source and created the <a href="http://www.illumos.org/">Illumos project</a> which aimed to maintain the base of OpenSolaris as well as develop open code to replace the closed binaries that OpenSolaris included.</p>
<p>The community was generally very happy with the release of Illumos, however, it soon realised that the project wasn&#8217;t there to replace the desktop and server OS that users knew and loved.  Enter <a href="http://openindiana.org/">OpenIndiana</a>!<span id="more-1145"></span></p>
<p>OpenIndiana aims to fill the hole left by OpenSolaris.  It is a release that will be based on Illumos (though for now it is still based on the underlying OpenSolaris code) and aims to provide users with a server/desktop OS that is nicely packaged up.</p>
<p>I have been using OpenIndiana since about November and must say that it has been very stable for my needs.  The last stable release of  OpenSolaris fell over from time to time on my home server, but I&#8217;ve had no such hiccoughs with OI.<br />
I updated my OpenSolaris machine using the upgrade instructions found <a href="http://wiki.openindiana.org/oi/Installing+or+Upgrading#InstallingorUpgrading-UpgradingfromOpenSolaris">here</a>.</p>
<p>While OpenIndiana doesn&#8217;t change much cosmetically, it&#8217;s a step in the right direction, giving consumers a chance to run a Solaris derived OS for free.  I hope that one day it can compete on a desktop level with some of the more popular Linux distros, though I reckon it&#8217;ll do most of it&#8217;s battle in the data centre.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2011/02/02/openindiana/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Goodbye OpenSolaris</title>
		<link>http://blog.hashbang0.com/2010/08/14/goodbye-opensolaris/</link>
		<comments>http://blog.hashbang0.com/2010/08/14/goodbye-opensolaris/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 10:00:43 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://blog.hashbang0.com/?p=1111</guid>
		<description><![CDATA[Well, it looks like Oracle has pulled OpenSolaris.  Hopefully the Illumos project will continue and make some sort of replacement for the loss. Over the past week or so I&#8217;ve been thinking about jumping to FreeBSD, the project has ZFS &#8230; <a href="http://blog.hashbang0.com/2010/08/14/goodbye-opensolaris/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Well, it looks like <a href="http://www.theregister.co.uk/2010/08/13/opensolaris_is_dead/">Oracle has pulled OpenSolaris</a>.  Hopefully the <a href="http://illumos.org/">Illumos project</a> will continue and make some sort of replacement for the loss.</p>
<p>Over the past week or so I&#8217;ve been thinking about jumping to <a href="http://www.freebsd.org">FreeBSD</a>, the project has ZFS which is my main requirement for a home fileserver.  I&#8217;ll wait a little longer to see what Illumos is going to do, then see if the jump should be done.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2010/08/14/goodbye-opensolaris/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dissertation is over&#8230;</title>
		<link>http://blog.hashbang0.com/2010/05/31/dissertation-is-over/</link>
		<comments>http://blog.hashbang0.com/2010/05/31/dissertation-is-over/#comments</comments>
		<pubDate>Mon, 31 May 2010 22:26:37 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[Bash/Shell]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[Uni]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[CS394]]></category>
		<category><![CDATA[Diss]]></category>
		<category><![CDATA[Dissertation]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[VAES]]></category>
		<category><![CDATA[zones]]></category>

		<guid isPermaLink="false">http://www.blog.hashbang0.com/?p=982</guid>
		<description><![CDATA[I meant to blog about this ages ago!  Better late than never I suppose&#8230; Back in April (April 22nd to be precise) I handed in two copies of my 72 page document which outlines everything about my project.  I wanted &#8230; <a href="http://blog.hashbang0.com/2010/05/31/dissertation-is-over/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I meant to blog about this ages ago!  Better late than never I suppose&#8230;</p>
<p>Back in April (April 22nd to be precise) I handed in two copies of my 72 page document which outlines everything about my project.  I wanted to blog about my dissertation while I was doing it, but the thought was always pushed back by other thoughts of actually doing the project.<span id="more-982"></span></p>
<p>The project investigated how one could use virtualisation techniques of today and use them to virtualise every application on a machine.  Here&#8217;s a copy of my abstract:</p>
<blockquote><p>In computing, occasionally an application can cause a whole system to be brought down. This wastes valuable time for users and has the potential to lose unsaved data. This project sets out to create a concept whereby applications are virtualised for overall system stability and which appears completely transparent to the<br />
end user. The project attempts to create a system based on this concept using OpenSolaris 2009.06 and a number of its technologies, most notably: Zones.</p>
<p>The project discovers that the choice of technologies used are not yet mature enough to implement the concept, though they are very close to maturing.</p></blockquote>
<p>As the abstract says, I used OpenSolaris Zones to implement the concept.  I created a script which wraps around the OpenSolaris `pkg` command which is used to install applications.  My script creates a new Zone and installs the new application into that Zone.  The application is now basically in it&#8217;s own operating system, to better describe it, it&#8217;s as if the application has been installed onto a whole new machine.  The application is accessed using SSH and tunneling X11 over it, this worked quite well after I had set up the infrastructure, but the user had to input their password when they wanted to launch an application.</p>
<p>The project was really fun, I really enjoyed it and learnt so much.  Now it&#8217;s finished I&#8217;m rather lost as to what to do with myself&#8230;</p>
<p>If anyone would like to read my Dissertation or try implementing my project (with is licensed under the BSD licence), please don&#8217;t hesitate to <a href="mailto:ben.lavery@gmail.com">contact me</a>.  At the end of it all, the documentation consisted of 72 pages in PDF form (that was 1086 lines of LaTeX, excluding comments and blank lines), and the project consisted of 1494 lines of Bash script and 1393 comments!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2010/05/31/dissertation-is-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whence and Whenceman</title>
		<link>http://blog.hashbang0.com/2010/03/31/whence-and-whenceman/</link>
		<comments>http://blog.hashbang0.com/2010/03/31/whence-and-whenceman/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 11:17:52 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[Bash/Shell]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[whence]]></category>
		<category><![CDATA[whenceman]]></category>
		<category><![CDATA[which]]></category>

		<guid isPermaLink="false">http://www.blog.hashbang0.com/?p=912</guid>
		<description><![CDATA[On the UNIX command line, the `which` command is great, it tells you where a command is in the system.  However, if your system has two versions of the `ls` command, it will only tell you which `ls` command you &#8230; <a href="http://blog.hashbang0.com/2010/03/31/whence-and-whenceman/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On the UNIX command line, the `which` command is great, it tells you where a command is in the system.  However, if your system has two versions of the `ls` command, it will only tell you which `ls` command you are going to use when tap it in and press enter.  To find all copies of any command, we need something <a href="http://lamsey.co.uk/journal.htm">Liam</a> called `whence` (I inherited Liam&#8217;s bashrc file when working at Sun, and this little gem was right inside it).  The .bashrc function for `whence` looks something like this:<span id="more-912"></span></p>
<p><code># search for all instances of an executable in $PATH<br />
function whence {<br />
for i in `echo $PATH | sed "s/:/ /g"`<br />
do<br />
/usr/bin/ls $i/$@ 2&gt;/dev/null<br />
done<br />
}</code></p>
<p>It&#8217;s nice and straighforward, nothing complicated about it at all.  In fact, to let everyone on your system use it, you could just stick &#8220;#!/bin/sh&#8221; at the top and stick in a file in /usr/bin !</p>
<p>Today, I wanted to find a man page, the sysidcfg man page to be precise.  Instead of doing the usual trick (`find / | grep sysidcfg&#8221;), I thought I&#8217;d modify `whence` to look for it for me, and seeing as it&#8217;s no longer `whence`, I called it `whenceman`:</p>
<p><code># search for all instances of a man page in $MANPATH<br />
function whenceman {<br />
for i in `echo $MANPATH | sed "s/:/ /g"`<br />
do<br />
/usr/bin/find $i/ 2&gt;/dev/null | grep -i $@<br />
done<br />
}</code></p>
<p>As you can see, it&#8217;s very similar, and you could do the same thing by putting it in /usr/bin so everyone could use it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2010/03/31/whence-and-whenceman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opensolaris Live USB Creator</title>
		<link>http://blog.hashbang0.com/2009/04/21/opensolaris-live-usb-creator/</link>
		<comments>http://blog.hashbang0.com/2009/04/21/opensolaris-live-usb-creator/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 14:07:36 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>

		<guid isPermaLink="false">http://hashbang0.wordpress.com/?p=577</guid>
		<description><![CDATA[Just been alerted to this: clicky Though if you don&#8217;t have access to a Windows box, but do already have access (or know someone with access) to an OpenSolaris box, then this method works too.]]></description>
			<content:encoded><![CDATA[<p>Just been alerted to this: <a href="http://devzone.sites.pid0.org/OpenSolaris/opensolaris-liveusb-creator">clicky</a></p>
<p>Though if you don&#8217;t have access to a Windows box, but do already have access (or know someone with access) to an OpenSolaris box, then <a href="http://blog.hashbang0.com/2009/01/19/create-an-opensolaris-200811-liveusb/">this</a> method works too.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2009/04/21/opensolaris-live-usb-creator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rm -rf tragedy</title>
		<link>http://blog.hashbang0.com/2009/03/29/rm-rf/</link>
		<comments>http://blog.hashbang0.com/2009/03/29/rm-rf/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 15:57:53 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[beleg-iâ]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[rm -rf]]></category>
		<category><![CDATA[snapshot]]></category>
		<category><![CDATA[time slider]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://hashbang0.wordpress.com/?p=532</guid>
		<description><![CDATA[It happened a couple of weeks ago now.  I plugged in my external hard drive &#8220;POCKET&#8221; and OpenSolaris mounted it under /media/POCKET.  I was going to copy my films and TV series over to POCKET as I was travelling up &#8230; <a href="http://blog.hashbang0.com/2009/03/29/rm-rf/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It happened a couple of weeks ago now.  I plugged in my external hard drive &#8220;POCKET&#8221; and OpenSolaris mounted it under /media/POCKET.  I was going to copy my films and TV series over to POCKET as I was travelling up to see Faye in Aber.  <span id="more-532"></span></p>
<p>I started the copy from my Mac, however halfway through my Mac crashed <img src='http://blog.hashbang0.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   After a restart I decided to start the copy again.  So, my plan was to cd to POCKET and `rm -rf` everything&#8230;However, by some horrible fate, I typed the path to my media folder by default and went ahead with `rm -rf *`.</p>
<p>I only noticed about 30 seconds later what was happening&#8230;Bit by bit, my data was being de-referenced, left for ZFS to write over it with something else&#8230;My first thought was &#8220;It&#8217;s OK, I&#8217;ve got a mirror!&#8221;, however, the mirror is, of course, in real time&#8230;My second thought was &#8220;ZFS snapshots!&#8221;, however, they are not enabled by default <img src='http://blog.hashbang0.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
<a href="http://i9.photobucket.com/albums/a55/forquare/blog/Picture1-2.png"><img class="alignleft" src="http://i9.photobucket.com/albums/a55/forquare/blog/Picture1-2.png" alt="" width="217" height="324" /></a></p>
<p>I have spent the last few weeks slowly re-ripping my collection (though thanks to James as he had copies of a lot of content), I&#8217;ve still got a few to do, but I&#8217;m mostly there.  I turned on ZFS snapshots too.  I access my server though SSH from my Mac, so here&#8217;s what I did:</p>
<p>ben@faegilath&gt;$ ssh -X beleg-ia -l admin<br />
Password:<br />
admin@beleg-ia:~$ time-slider-setup</p>
<p>I was then presented with the screen on the left</p>
<p>As you can see, you can just tick the box saying &#8220;enable time slider&#8221; and the choose to snapshot all filesystems or select what filesystems you do want to snapshot.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2009/03/29/rm-rf/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Beleg-Iâ gets an upgrade</title>
		<link>http://blog.hashbang0.com/2009/03/01/beleg-ia-gets-an-upgrade/</link>
		<comments>http://blog.hashbang0.com/2009/03/01/beleg-ia-gets-an-upgrade/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 20:36:28 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[beleg-iâ]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[raidz]]></category>
		<category><![CDATA[zfs]]></category>
		<category><![CDATA[Zpool]]></category>

		<guid isPermaLink="false">http://hashbang0.wordpress.com/?p=495</guid>
		<description><![CDATA[It happened a couple of weeks ago now, I&#8217;ve upgraded the storage in beleg-iâ.  It now has 4x 500GB disks! I have them in two mirrors, one for the boot disk and one for data. root@beleg-ia:/share/media# zpool status pool: rpool &#8230; <a href="http://blog.hashbang0.com/2009/03/01/beleg-ia-gets-an-upgrade/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It happened a couple of weeks ago now, I&#8217;ve upgraded the storage in beleg-iâ.  It now has 4x 500GB disks!<br />
I have them in two mirrors, one for the boot disk and one for data.<span id="more-495"></span></p>
<p style="padding-left:30px;"><strong>root@beleg-ia:/share/media# zpool status<br />
pool: rpool<br />
state: ONLINE<br />
scrub: none requested<br />
config:</strong></p>
<p style="padding-left:30px;"><strong>NAME        STATE     READ WRITE CKSUM<br />
rpool       ONLINE       0     0     0<br />
mirror    ONLINE       0     0     0<br />
c4d0s0  ONLINE       0     0     0<br />
c4d1s0  ONLINE       0     0     0</strong>
</p>
<p style="padding-left:30px;"><strong>errors: No known data errors</strong></p>
<p style="padding-left:30px;"><strong>pool: share<br />
state: ONLINE<br />
scrub: none requested<br />
config:</strong></p>
<p style="padding-left:30px;"><strong>NAME        STATE     READ WRITE CKSUM<br />
share       ONLINE       0     0     0<br />
mirror    ONLINE       0     0     0<br />
c5d0s0  ONLINE       0     0     0<br />
c5d1s0  ONLINE       0     0     0</strong>
</p>
<p style="padding-left:30px;"><strong>errors: No known data errors</strong></p>
<p>The above was achieved by doing something similar to this:<br />
# prtvtoc /dev/rdsk/c4d0s0 | fmthard -s &#8211; /dev/rdsk/c4d1s0<br />
# prtvtoc /dev/rdsk/c4d0s0 | fmthard -s &#8211; /dev/rdsk/c5d0s0<br />
# prtvtoc /dev/rdsk/c4d0s0 | fmthard -s &#8211; /dev/rdsk/c5d1s0<br />
# zpool attach -f rpool c4d0s0 c4d1s0<br />
# zpool attach -f share c5d0s0 c5d1s0</p>
<p>First we print the vtoc (volume table of contents) and pipe that to a format command.<br />
The -f was used to force the attachment, I followed instructions from several other sources and all has worked for me.</p>
<p>The &#8216;share&#8217; pool is auto-mounted to /share which is cool.  Now with file systems galore using ZFS, `zfs list` give me the following output:</p>
<p style="padding-left:30px;">root@beleg-ia:/share/media# zfs list<br />
<strong>NAME                            USED  AVAIL  REFER  MOUNTPOINT<br />
rpool                          33.1G   424G    75K  /rpool<br />
rpool/ROOT                     4.79G   424G    18K  legacy<br />
rpool/ROOT/opensolaris         5.42M   424G  2.27G  /<br />
rpool/ROOT/opensolaris-1       4.79G   424G  4.55G  /<br />
rpool/dump                     1018M   424G  1018M  -<br />
rpool/export                   26.3G   424G    19K  /export<br />
rpool/export/home              26.3G   424G    21K  /export/home<br />
rpool/export/home/admin        28.8M   424G  28.8M  /export/home/admin<br />
rpool/export/home/ben          26.3G   424G  26.3G  /export/home/ben<br />
rpool/export/home/ben/backups  20.4M   424G  20.4M  /export/home/ben/backups<br />
rpool/swap                     1018M   425G  31.9M  -<br />
share                           126G   331G    19K  /share<br />
share/media                     126G   331G    27K  /share/media<br />
share/media/iTunes             5.66G   331G  5.66G  /share/media/iTunes<br />
share/media/misc                911M   331G   911M  /share/media/misc<br />
share/media/movies             61.8G   331G  61.8G  /share/media/movies<br />
share/media/pictures            425M   331G   425M  /share/media/pictures<br />
share/media/standup            5.32G   331G  5.32G  /share/media/standup<br />
share/media/torip              4.50G   331G  4.50G  /share/media/torip<br />
share/media/tv                 47.7G   331G  47.7G  /share/media/tv</strong></p>
<p>So I&#8217;m pretty happy with it at the moment.  I&#8217;ll be looking at upgrading the motherboard next.  Something with 8 SATA channels so I can increase my hdd&#8217;s and potentially create a RAIDz for 4x 1TB drives&#8230;But we&#8217;ll have to see how funds go&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2009/03/01/beleg-ia-gets-an-upgrade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DynDNS and my server</title>
		<link>http://blog.hashbang0.com/2009/03/01/dyndns-and-my-server/</link>
		<comments>http://blog.hashbang0.com/2009/03/01/dyndns-and-my-server/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 18:27:36 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[beleg-iâ]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[DynDNS]]></category>
		<category><![CDATA[inadyn]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[SMF]]></category>
		<category><![CDATA[svcadm]]></category>
		<category><![CDATA[svccfg]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xmllint]]></category>

		<guid isPermaLink="false">http://hashbang0.wordpress.com/?p=433</guid>
		<description><![CDATA[I meant to blog this ages ago, and have only just remembered about it! I wanted a way for me to access my server when I wasn&#8217;t on the local network.  A friend pointed me to DynDNS, this will give &#8230; <a href="http://blog.hashbang0.com/2009/03/01/dyndns-and-my-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I meant to blog this ages ago, and have only just remembered about it!</p>
<p>I wanted a way for me to access my server when I wasn&#8217;t on the local network.  A friend pointed me to <a href="http://dyndns.com/">DynDNS</a>, this will give you a domain name (e.g. myname.something.com) which you can update to point to your IP.  However, you need a method for updating the DNS entry, this is needed because everytime I switch off my modem and turn it back on, Tiscali give me a new IP.<span id="more-433"></span></p>
<p>So, my OpenSolaris box will need to update DynDNS.<br />
DynDNS have a couple of scripts for doing this, and how to install/run them.  <a href="https://www.dyndns.com/support/clients/">Clicky</a>.  I chose to use inadyn (<a href="https://www.dyndns.com/support/clients/unix.html">here</a>).<br />
Only problem now is, I&#8217;ve got to make it run!  And I really didn&#8217;t want to run it at boot every time&#8230;So it was an excellent excuse to play with <a href="en.wikipedia.org/wiki/Service_Management_Facility">SMF</a>!</p>
<p>I moved the script to /lib/svc/method/inadyn-exe and created a config file in /etc/inadyn.conf<br />
Here is my config file with some of the more important data spoofed:</p>
<p><code>admin@beleg-ia:~$ cat /etc/inadyn.conf<br />
--username user1<br />
--password password<br />
--update_period 6000<br />
--background<br />
--alias myserver.example.com</code></p>
<p>I then created a new manifest for SMF.  The manifest file is written in XML and tells SMF what the service is, what services it depends on, what services depend on it, what to do when enabling it, what to do when disabling it and much more.<br />
My manifest looks like this:</p>
<blockquote><p><strong>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br />
&lt;!DOCTYPE service_bundle SYSTEM &#8220;/usr/share/lib/xml/dtd/service_bundle.dtd.1&#8243;&gt;<br />
&lt;!&#8211;<br />
This service will kick off inadyn-exe which will update my IP<br />
Address should it change.<br />
Ben Lavery has an account with dyndns.com<br />
Hostname is:<br />
myserver.example.com<br />
&#8211;&gt;</strong></p>
<p><strong>&lt;service_bundle type=&#8217;manifest&#8217; name=&#8217;SUNWcsr:ip-update&#8217;&gt;</strong></p>
<p><strong>&lt;service<br />
name=&#8217;site/ip-update&#8217;<br />
type=&#8217;service&#8217;<br />
version=&#8217;1&#8242;&gt;</strong></p>
<p><strong>&lt;create_default_instance enabled=&#8217;false&#8217; /&gt;</strong></p>
<p><strong>&lt;&#8211;! Only create 1 instance &#8211;&gt;<br />
&lt;single_instance/&gt;</strong></p>
<p><strong>&lt;!&#8211; Depend on the network being up &#8211;&gt;<br />
&lt;dependency<br />
name=&#8217;milestone&#8217;<br />
grouping=&#8217;require_all&#8217;<br />
restart_on=&#8217;error&#8217;<br />
type=&#8217;service&#8217;&gt;<br />
&lt;service_fmri value=&#8217;svc:/milestone/network&#8217; /&gt;<br />
&lt;/dependency&gt;</strong></p>
<p><strong>&lt;!&#8211; Depend on the config file existing &#8211;&gt;<br />
&lt;dependency<br />
name=&#8217;config_data&#8217;<br />
grouping=&#8217;require_all&#8217;<br />
restart_on=&#8217;restart&#8217;<br />
type=&#8217;path&#8217;&gt;<br />
&lt;service_fmri value=&#8217;file://localhost/etc/inadyn.conf&#8217; /&gt;<br />
&lt;/dependency&gt;</strong></p>
<p><strong>&lt;!&#8211; execute </strong><strong>/lib/svc/method/inadyn-exe when svcadm enable is issued &#8211;&gt;</strong><br />
<strong>&lt;exec_method<br />
type=&#8217;method&#8217;<br />
name=&#8217;start&#8217;<br />
exec=&#8217;/lib/svc/method/inadyn-exe&#8217;<br />
timeout_seconds=&#8217;60&#8242; /&gt;</strong></p>
<p><strong>&lt;!&#8211; Kill the process when svcadm disable is issued &#8211;&gt;<br />
&lt;exec_method<br />
type=&#8217;method&#8217;<br />
name=&#8217;stop&#8217;<br />
exec=&#8217;:kill&#8217;<br />
timeout_seconds=&#8217;60&#8242; /&gt;</strong></p>
<p><strong>&lt;template&gt;<br />
&lt;common_name&gt;<br />
&lt;loctext xml:lang=&#8217;C'&gt;<br />
IP updator<br />
&lt;/loctext&gt;<br />
&lt;/common_name&gt;<br />
&lt;documentation&gt;<br />
&lt;manpage title=&#8221; section=&#8221;<br />
manpath=&#8221; /&gt;<br />
&lt;/documentation&gt;<br />
&lt;/template&gt;<br />
&lt;/service&gt;</strong></p>
<p><strong>&lt;/service_bundle&gt;</strong></p></blockquote>
<p>So, after placing this in /var/svc/manifest/site/ and calling it ip-update.xml I ran it through an XML checker:<br />
# xmllint ip-update.xml<br />
&lt;output ommited&gt;</p>
<p>Then I imported it into the SMF repository:<br />
# svccfg<br />
svc:&gt;  validate ip-update.xml<br />
svc:&gt;  import ip-update.xml</p>
<p>After this I was able to use `svcadm enable ip-update` to start the service, though it will start up after the network service has started.  If the service goes down SMF will try to restart it for me!  Even after two months it keeps DynDNS updated and I can happily SSH in from outside my home network!</p>
<p>NB: You may need to set up SSH forwarding from your home router.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2009/03/01/dyndns-and-my-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My new IBM Thinkpad X32 and wireless</title>
		<link>http://blog.hashbang0.com/2009/01/20/my-new-ibm-thinkpad-x32-and-wireless/</link>
		<comments>http://blog.hashbang0.com/2009/01/20/my-new-ibm-thinkpad-x32-and-wireless/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 00:49:07 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[2008.11]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[ThinkPad]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[X32]]></category>

		<guid isPermaLink="false">http://hashbang0.wordpress.com/?p=401</guid>
		<description><![CDATA[Today I took delivery of the four year old IBM Thinkpad X32.  With it&#8217;s 1.8GHz Pentium M, 1GB of RAM and it&#8217;s &#8220;massive&#8221; 40gb HDD I thought it was an excellent machine to use as a portable OpenSolaris machine.I used &#8230; <a href="http://blog.hashbang0.com/2009/01/20/my-new-ibm-thinkpad-x32-and-wireless/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I took delivery of the four year old IBM Thinkpad X32.  With it&#8217;s 1.8GHz Pentium M, 1GB of RAM and it&#8217;s &#8220;massive&#8221; 40gb HDD <img src='http://blog.hashbang0.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  I thought it was an excellent machine to use as a portable OpenSolaris machine.<span id="more-401"></span>I used the USB stick I had prepared last night to boot the live image and do the install, within the first hour James had messed with the driver file and stopped the machine from booting *sigh*.<br />
A reinstall later and I was up and runnig OpenSolaris 2008.11!</p>
<p>At home everything was still running smoothly, the battery had lasted the travel from work (it doesn&#8217;t suspend yet&#8230;) .  My only problem was that it didn&#8217;t like the WPA2-psk wireless in the house.  I had two choices:<br />
1) Screw every computer in the house ovre and change to WEP.<br />
2) Look for a work around.</p>
<p>I opted for 2.  My work around was very simple actually.  Build 105 fixes the compatibility with WPA2, so I added the developers repository to my authority list and live upgraded the machine to build 105.</p>
<p>Now I can happily lye in bed, with my X32, and write this blog entry!</p>
<p>Build 105 seems fairly stable so far&#8230;Not that I&#8217;ve tried doing much yet.  Will report findings as I go along <img src='http://blog.hashbang0.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2009/01/20/my-new-ibm-thinkpad-x32-and-wireless/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Create an OpenSolaris 2008.11 LiveUSB</title>
		<link>http://blog.hashbang0.com/2009/01/19/create-an-opensolaris-200811-liveusb/</link>
		<comments>http://blog.hashbang0.com/2009/01/19/create-an-opensolaris-200811-liveusb/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 00:48:11 +0000</pubDate>
		<dc:creator>Ben Lavery</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[livecd]]></category>
		<category><![CDATA[liveusb]]></category>
		<category><![CDATA[ThinkPad]]></category>
		<category><![CDATA[X32]]></category>

		<guid isPermaLink="false">http://hashbang0.wordpress.com/?p=391</guid>
		<description><![CDATA[T&#8217;other day I won an IBM X32 on eBay (more on that tomorrow).  I want to install OpenSolaris on the laptop, but it doesn&#8217;t have an optical drive&#8230; I set about looking for a solution.  Unfortunatly, Googling around didn&#8217;t throw &#8230; <a href="http://blog.hashbang0.com/2009/01/19/create-an-opensolaris-200811-liveusb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>T&#8217;other day I won an IBM X32 on eBay (more on that tomorrow).  I want to install OpenSolaris on the laptop, but it doesn&#8217;t have an optical drive&#8230;</p>
<p>I set about looking for a solution.  Unfortunatly, Googling around didn&#8217;t throw up anything to begin with <img src='http://blog.hashbang0.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   So I thought I&#8217;d record my steps as a walkthru.<span id="more-391"></span></p>
<p>First of all, I installed the distributon constructor:</p>
<p><code># pkg install SUNWdistro-const</code></p>
<p>Next I cd&#8217;d to the directory they had been installed to:</p>
<p><code># cd /usr/bin</code></p>
<p>And ran the following command:</p>
<p><code>./usbgen /var/tmp/osol-0811.iso /var/tmp/os0811.usb /var/tmp<br />
/dev/rlofi/3:   1689000 sectors in 2815 cylinders of 1 tracks, 600 sectors<br />
824.7MB in 176 cyl groups (16 c/g, 4.69MB/g, 2240 i/g)<br />
super-block backups (for fsck -F ufs -o b=#) at:<br />
32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,<br />
1593632, 1603232, 1612832, 1622432, 1632032, 1641632, 1651232, 1660832,<br />
1670432, 1680032<br />
Copying ISO contents to USB image...<br />
..................................................<br />
..................................................<br />
..................................................<br />
.............................<br />
1407024 blocks<br />
=== ./usbgen completed at Mon Jan 19 00:25:49 GMT 2009</code></p>
<p>Lastly:</p>
<p><code># ./usbcopy /var/tmp/os0811.usb<br />
Found the following USB devices:<br />
0:      /dev/rdsk/c9t0d0p0      15.5 GB USB DISK 2.0     PMAP<br />
Enter the number of your choice: &lt;enter your choice&gt;<br />
WARNING: All data on your USB storage will be lost.<br />
Are you sure you want to install to<br />
USB DISK 2.0 PMAP, 15500 MB at /dev/rdsk/c9t0d0p0 [ w  (y/n) y<br />
Copying and verifying image to USB device<br />
Finished 824 MB in 316 seconds (2.6MB/s)<br />
0 block(s) re-written due to verification failure<br />
Installing grub to USB device /dev/rdsk/c9t0d0s0<br />
Completed copy to USB</code></p>
<p>And that&#8217;s it!  Should be done.  Will report back tomorrow with how the install went.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hashbang0.com/2009/01/19/create-an-opensolaris-200811-liveusb/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

