Rsync on Solaris 10

I was interested to get Rsync up and running on my Solaris 10 server – an UltraSPARC based SunFire V100. To my dismay the Rsync package is not available for Solaris 10 from SUN. So I decided to set out on a journey to discover how exactly to get Rsync “the right way” and to get it installed and working.

After much searching I discovered that the obvious SUNWrsync package does, in fact, exist but not, at this time, for Solaris 10. Rather it is only available in Solaris Express (aka Solaris 11.) This means that it is not available in the standard Solaris 10 Update 4 or earlier installation CDs. Rsync has not been available on any previous version of Solaris to my knowledge either. The version of Rsync available from Solaris Express is currently 2.6.9 which is current, as of November 6, 2006, according to the official Rsync project page.

Fortunately SUN has made Solaris Express available as a free download. Unfortunately it is a single DVD image that must be downloaded in three parts and then combined into a single, huge image. This is not nearly as convenient as having an online package repository from which a single package could be downloaded (hint, hint SUN!)

You will need to download all three files from SUN, unzip them and then concatenate them into a single 3.7GB ISO file from which you can extract the necessary package.

# unzip sol-nv-b64a-sparc-dvd-iso-a.zip
# unzip sol-nv-b64a-sparc-dvd-iso-b.zip
# unzip sol-nv-b64a-sparc-dvd-iso-c.zip
# cat sol*a sol*b sol*c > sol-nv-sparc.iso
# mkdir /mnt/iso
# lofiadm -a sol-nv-sparc.iso /dev/lofi/1
# mount -F hsfs -o ro /dev/lofi/1 /mnt/iso
# cd /mnt/iso/Solaris_11/Product/
# ls -l | grep rsync

You will now have the list of the two available Rsync packages: SUNWrsync and SUNWrsyncS. It is SUNWrsync that we are really interested in here. I like to move all of my packages that I am installing to my own personal repository so that I can keep track of what I am installing and to make it easier to build a matching machine or to rebuild this one. If you are going to use a repository in this way be sure to back it up or it won’t be very useful during a rebuild.

# cp -r SUNWrsync/ /data/PKG/
# pkgadd -d /data/PKG/

You will now be able to pick from the available packages in your repository to choose which to install. [Helpful hint: If you have a large number of packages in your personal repository, consider placing each package into its own directory. For example, make a directory called “rsync” or “rsync_client” and symlink (ln -s) back to the installation directory. This makes it easier and quicker to install a single package. You can simple “cd /data/PKG/rsync” and “pkgadd -d .” Much quick and easier for large repos. By using the symlink method you maintain a single directory of the files while also having handy individual directories.]

Once you have installed the Rsync client package it is ready to be used. Because we are not using Rsync in a server based configuration we have no configuration to worry about. Rsync is most popularly used as a client package over SSH. Unlike most network aware packages that require that an SSH tunnel be created for them Rsync has SSH tunneling built into it making it extremely easy to use.

Let start with an example of moving files from one server to another without using SSH.

/usr/bin/rsync -av remote-host:/data/home/ /data/home

In this example we are synchronizing the remote /data/home directory with the local one pulling files from the remote site to the local. This is a one way sync so only files missing locally are brought over and files that exist locally but do not exist remotely are left intact. This is a relatively safe process. Files of the same name will be overwritten, however, so do this with test directories until you are used to how it works. You can run a test command using the -n option. With this option you will get the output of the Rsync command without actually moving any files so that you have a chance to see what would have happened. Here is the same command run in “test” mode.

/usr/bin/rsync -avn sc-sol-nfs:/data/home/ /data/home

With this particular Rsync package, the default mode of operation is to use SSH as the transport. This can be set explicitly but that is not necessary. By using SSH you have the security of the SSL tunnel to protect your traffic and you have the security and ease of use that comes with not needing to run a daemon process on any server that you want to sync to or from. The final command that you will normally want to run will involve the “-z” option which turns on file compression. This will normally decrease the time that it takes to transfer files. The gzip algorithm used for the compression is very effective on text documents and general files and is quite fast but on already compressed files such as tgz, Z, zip, jpeg, jpg, png, gif, mp3, etc. it can, at worst case, actually expand the files and will use a lot of CPU overhead without increasing the transfer speed. So best to be aware of the file types that you will be transferring. But for most users gzip is the right compression to use. So our final transfer command is:

/usr/bin/rsync -avz sc-sol-nfs:/data/home/ /data/home

Issues Sharing Automount Home Directories from Solaris to Linux

I discovered this problem while attempting to share our automounted home directories from my Solaris 10 NFS file server to my SUSE and Red Hat Linux NFS clients.

automount[10581]: >> mount: block device 192.168.0.2:/data/home/samiller is write-protected, mounting read-only
kernel: call_verify: server 192.168.0.2 requires stronger authentication.

It turns out that the solution is quite simple. The issue is with a mismatch of anonymous credentials. Let’s take a look at the erroneous entry in /etc/dfs/dfstab on the Solaris NFS server:

share -F nfs -o public,nosuid,rw,anon=-1 -d "backup" /data

The piece of this configuration that is an issue here is “anon=-1”. In theory this is designed to block users who do not have accounts on the local system. However this causes issues with Linux systems. You can solve this problem by simply removing the anon setting from the configuration file. Not an ideal fix but it does solve the problem.

share -F nfs -o public,nosuid,rw -d "backup" /data

Simply run the “shareall” command and you should be back in business.

Children of Mana

Two things stand out the most when you first start playing Square Enix’ Children of Mana: the hand-drawn graphics are positively beautiful and the gameplay sucks. I had high hopes for Children of Mana. I have been a fan of the series since I played the first installment, Final Fantasy Adventure on the original GameBoy and later played its sequel Secret of Mana on the SNES. But CoM doesn’t add much of anything to the series. This game is definitely just playing on its Mana heritage.

Children of Mana is saddled with a tradition of being an action RPG which is always a difficult role to live up to. Action RPGs are, by their very definition, not very “RPGish” and have two distinct conflicting personalities that are nearly impossible to integrate well. CoM does far worse than that though by using an archaic “Legend of Zelda” style of action interface which is cludgy and extremely unrefined. It feels like a cheap afterthought or, more likely, just old code borrowed from some late NES-era game.

The graphics of the non-action portions of the game are amazing but few and far between. The backgrounds are the best I have ever seen on the Nintendo DS and top anything I ever saw on the SNES. But a few amazing backgrounds only go so far. The sprites are okay but don’t mesh fluidly with the background being of a distinctively different quality and style. And the moment that you step foot into a “dungeon” you will get the impression that you have gone into a different game altogether.

RPG and Console RPG fans will be significantly disappointed in this game. The RPG elements are weak approaching non-existant. In fact, calling this game an RPG at all is truly misleading. If anything this is an action game with a strong storyline. The really unfortunate thing is that the action is so poorly executed. There is nothing wrong with an action game with a strong storyline but CoM’s action elements are by far the weakest portion of the game. The action is boring and juvenile.

Overall, unless you are a serious Mana aficionado I would suggest avoiding this title. Children of Mana is not going to live up to your Secret of Mana expectations. One would think that the series would have covered some ground since the early 1990s but apparently it hasn’t.

In the end I gave up on attempting to play CoM.  I found that just by attempting to force myself to work through this game it made me no longer have any driving desire to play the Nintendo DS and it was keeping me from playing games that are much better.

February 8, 2008: Dominica Finally Sees the Hudsucker Proxy

Boy was I tired this morning. Good thing that it is Friday. I am looking forward to having some time to get things done over the weekend. My class at RIT expects the work for the class to be done between Monday and Friday which is rough but at least it pretty much guarantees that I am not stuck doing homework all weekend. Although there is a bit of lingering class discussion into the weekends, so it doesn’t help as much as it should.

The weather was nice this morning for the walk into the office. Cool but not cold which is nice because you don’t tend to overheat during the long stretches of walking.

I had lunch with a colleague over at Chevy’s on the west side of the island near the World Financial Center which was a bit of a hike for lunch time but the exercise is always a good idea for me anyway as was the grilled fish and beans that I had for lunch. So no complaints. We mostly just hung out and were “geeky” talking about IT issues both technical and within the field at large.

Microsoft and Seagate have a cute “Heroes Happen Here” comic series out now. Good stuff.

I am consulting for Previsor / Brainbench again. It has been about a year, I think, since the last time that I consulted for them. This time I get to work on a Web Design certification which should be fun. My work starts on Monday.

This weekend should be pretty slow. My work isn’t scheduled late tonight. I have one small project for eight o’clock tomorrow morning but that isn’t bad. No Dungeons and Dragons this weekend as everyone else is too busy. We might have a New Orleans benefit dinner on Sunday afternoon but we don’t know yet if there is anything for us to eat there as neither Dominica nor I can handle eating much seafood anymore. Strangely scallops seem to be an exception for me which is funny since most of my adult life I haven’t particularly cared for them. Shrimp, lobster and crayfish – the mainstays of Creole cuisine – are definitely out though. I am still okay with lobster bisque, crab cakes and shrimp cakes and once in a great while, possibly but not likely, fried shrimp.

I placed a small Amazon order this afternoon. The free shipping option takes a little while but I figure if I place overlapping orders on a regular basis I get to have a continuous stream of books on their way to me which I can look forward to receiving. I am hoping that one book that I ordered not long ago will arrive today but I don’t think that it did even though it left Jersey City yesterday.

I didn’t have to work that late tonight which was nice for a change. I was able to escape the office at six thirty and hit the road for home. (Or hit the rails, more appropriately.)

I got home just minutes after Dominica and Oreo.  We ordered in some Italian from Nino’s for dinner and watched The Hudsucker Proxy on DVD that Dominica had just gotten last night from Netflix.  The Hudsucker Proxy is one of those truly great films that came out of the cinema renaissance of the early 1990s.  It is one of, if not indeed the, best performance ever given by Tim Robbins and Jennifer Jason Leigh who are the stars.  Other notable actors include Paul Newman, Charles Durning, John Mahoney, Bruce Campbell, Bill Cobbs, Peter Gallagher, Anna Nicole Smith, Steve Buscemi, Sam Raimi and John Goodman.  It was quite a Who’s Who of 1994 Hollywood.  Dominica had never seen the film and for some bizarre reason we only own in on LaserDisc.  I have seen it so many times on LD that it is hard to imagine that we didn’t own in on DVD but it has been one of those movies that I have told her about so much but haven’t seen myself since we unhooked the last LD player in regular use around 2002, not long after Nate and I bought the first DVD player in our group.

After the movie we pretty much went straight off to bed.  Dominica was really exhausted and was asleep before eleven.  I did a little work but went to bed not long afterwards.  I wasn’t very tired though.  But didn’t feel like staying up late either.  I do have to work first thing in the morning tomorrow so sleeping in late isn’t an option.  Never is these days.  It’s tough getting older and having responsibilities.

February 7, 2008: Alderon Had Weapons of Mass Destruction

One of the things that I love about working in Information Technology is that, unlike many other fields, we are less of a study in our own right but more of an application of knowledge and processes from myriad different disciplines.  Few fields have so much opportunity for breadth, variety and intellectual adventure.  I mention this because I came across an article that was pointed out to me by one of my classmates in a project management course that I am taking right now.  This is an article from Psychology Today and yet tied in with technical risk management discussions that we have been having.  Ten Way We Get the Odds Wrong.  Very good reading on societies inability to handle risk well.

Today was my stay at home day.  Oreo was very tired and slept all day.  There was little sun though so he didn’t get to enjoy his sunspot like he normally does.

Today was quite busy and I was tied to the desk all day.  I barely had time to get ready what with walking the dog and feeding him and getting dressed and everything else.  Dominica was home at twenty till six and our dinner reservations at the Theater Square Grill were at six.  We made it over just in time for our prix fixe dinner.  Dominica had truffle infused polenta and I went for the arctic char which was excellent.

The timing was perfect and it was right in from dinner to the show – which is all in the same building at NJPAC.  We claimed our season tickets, up on the second tier which is rather high but not too bad in Prudential Hall and went off to find our seats.

The seating organization was a disaster and the theater was just telling people to “sit anywhere” even though we all bought assigned seats.  It was really bad.  At one point there were only two people in the entire second tier and they were in our two seats!  What are the chances of that?  And every person who came in after us either took someone else’s seat or had to sit elsewhere because their seat was taken.  I am not sure if a single person made it in and got to sit in their own seats.  Why they felt the need to seat people in places other than their ticketed seats I have no idea.

The show, The Wedding Singer, was pretty good.  The cast was quite good and the venue is a good one.  I wasn’t thrilled with the music and the storyline was changed from the movie in some corny ways that I thought were unnecessary.  The original story was better.  And for some reason they decided to make the musical a bit more adult oriented (i.e. not appropriate for children not “more intelligent”) than the movie and for no apparent reason.  But overall it was a good show and we had a good time.  And it is so easy to get to and from the theatre.

Our season tickets also give us a chance to go see My Fair Lady, Moving Out and Riverdance yet this season.  We are also talking about going to see Yo-Yo Ma and Pink Martini in concert – but not the same concert.  One night apart from each other.  I discovered Pink Martini a few months ago through Amazon’s “if you like so and so then you will probably like Pink Martini” service.

Once we got back home Dominica was right off to bed.  I stayed up for several hours working on my RIT homework.  Best to get it done so that it isn’t hanging over my head tomorrow.