September 23, 2007: Bookshelves

I tried to sleep in as long as I could. I was quite tired after being up so late last night. But we have nothing going on this morning so I stayed in bed until after eight thirty with my very snuggly dog who had me almost completely pushed out of bed from him trying to snuggle so close.

For breakfast Dominica and I walked over to the Center Street Diner (or something like that.) Our job today is to get some bedroom furniture so that we can get some of our mess cleaned up. This place is a disaster.

After breakfast we ordered the car and were about to head out to Ikea when we discovered that we could not order an elevator. We called down to the desk and were informed that the elevators had been shut off by a tech and they were trying to page him but the tech was on an upper floor without a phone and no one could ride the elevators to go look for him! So we were effectively trapped inside our apartment. Fortunately Oreo had been out just before this happened so we just had to wait it out.

We waited about an hour and discovered the elevators working again so we took off for Ikea. I don’t relish the idea of shopping at Ikea – I get serious crowd anxiety just approaching the place – but we have been unable to find the furniture that we need anywhere else so we are kind of stuck.

We raced through Ikea as quickly as we could but even that was annoying as just looking for the most basic furniture information puts you in the path of many angry denizens of New Jersey seedy furniture underbelly. If you ever want to encounter unhappy shoppers go to Ikea. They bring the angry people in by bus I think.

Ikea was insanely busy. So busy that people had given up making an attempt at the insanely long checkout lines and were lounging about in the warehouse making it impossible to pick up the furniture that you wanted to buy.

We finally got home with our new furniture that just barely fit into the PR5. We ate leftovers for dinner and watched the final episode of the sixth season of Full House which means that now both Dominica and I have watched the entire first seven seasons and are just waiting on season eight to be released on DVD. Then it was furniture assembly time.

We picked up two new bookshelves as we failed to find (today or previously online) any wardrobes that we felt would fit into our small bedroom. So instead we went with two bookshelves. The one, a tall and skinny bookshelf, is replacing the older oak coloured short bookshelf that we bought while we were living in North Brunswick. It was meant to be a temporary piece of furniture and its time has now passed. We took it down and donated to the “front desk” fund.

The new bookshelf is quite tall and has an extension at the top to make it extra tall – we have eleven foot ceilings. The bottom has a wood door that closes so we can smoosh our miscellaneous stuff onto those shelves to hide our clutter. That is important.

The other bookshelf is wide and just as tall with the extra extension. This bookshelf has glass doors enclosing it so that it looks rather classy. It is a bit strange to use a glass doored bookshelf for clothing and blankets and stuff but it seems to work well. We discovered immediately that the bookshelf with the heavy glass on the front was not stable and was going to collapse into the bedroom the first time that we used it so I climbed precariously up on an office chair while Dominica held it and carefully anchored the shelving unit to the wall. We filled the bottom shelf of the unit with heavy books so as to add ballast in the hopes that it would keep the unit from wanting to pull away from the wall in the first place.

The new bookshelves look really good and our bedroom has improved one hundred percent.  Dominica did ninety-five percent of the work putting them together.  I just moved the trash out of the way for her.

After getting our bedroom back together Dominica had to head off to the “office” to work on her homework.  I spent the evening stocking the shelves and rearranging things.  We have a lot more space now all over the house.  Dominica had earlier gone through and produced a big bag of clothes and another bag of shoes to donate so that helped a bit too.

We didn’t manage to actually get to bed until midnight.  Quite late by our standards.

September 22, 2007: Surprise Day of Work

No sleeping in for me today. I had to be up before eight this morning so that I could log in and work “at the office”. I have a bit of scheduled work this morning so I won’t be doing anything exciting today.

I ended up working from before eight until well after six in the afternoon! Much longer than the two hours that I had initially expected to have been the max amount of time that I would be needed at the office. Dominica walked over to Food for Life and picked up breakfast for us. Unfortunately for her our previously foggy morning turned into a steady rain while she was outside.

We ate breakfast and then Dominica started working in ernest on cleaning the kitchen, emptying the refridgerator and cleaning that out, laundry, dishes and more.  She decided to do some shopping today for a wardrobe for our bedroom.  We are so short on closet space it isn’t funny.  There is no place to put anything.  We are getting desperate.  She spent hours trying to find something that will fit into are extremely limited space but no luck.  There are just no good options out there.  We are pretty sure that we are going to settle with some doored shelving units that match our bookshelf in the living room.

Dominica also did several hours of work on her Academic Planning project for Empire State.  She is in the process of getting her degree planning done and out of the way.  It isn’t hard or stressful work but there is just a lot of it and it takes a lot of time.  Both she and I had very productive days today.  As anyone will notice from my barrage of technical posts earlier today I took the time to write several small “how to” articles.  I did a lot of work on the V100 servers today and am very happy with how productive I have been.

We ordered in dinner from Nino’s.  Dominica was really in the mood for a sub.  We watched two episodes of Full House and that was it for us for the night.  Oreo decided that he was very tired and actually went to bed an hour or two ahead of us!  He never, ever does that.

Unfortunately with Oreo going to bed so early his own schedule was thrown off and about two hours after Dominica and I had gone to bed Oreo got up and decided that he needed to go for a walk.  I walked him and he had a lot of energy so our walked ended up being three or four times longer than his normal late night bathroom break.  I got him home and put him back to bed but was now wide awake myself.  So I returned to work cleaning the house.  I took out the trash and the recycling.  Unfortunately I had a glass jar break and had to spend twenty minutes cleaning up that mess.  It totally exploded 🙁

I still wasn’t tired so I fired the desktop back up and started doing some more work included another tech post.  I pretty much ended up with insomnia and have been awake now for more than two hours since Oreo woke me up to take him out.

Dominica and I were very happy to not have to drive anywhere at all today.  That is the type of relaxing that we really need this weekend.  Tomorrow we are considering running down to Elizabeth to go to Ikea where they have the bookshelf that we need if we decide to go that route.  I am not sure if we have decided on that yet or not.  We don’t have too many options to consider at this point.

Mounting ISO Files on Linux

Often these days, especially when working with operating system downloaded ISO images, it would be handy to be able to work directly with the contents of the ISO files rather than to burn them to CD and place them physically into a CDROM drive. Sometimes this is because the machine that you are working with is remote and sometimes because there is no physical CDROM drive. But often it is just inconvenient.

In Linux this operation is simple. We simply create a Linux MD device where we will mount the ISO file and then mount it using the loopback. In this case we will use the /mnt/iso location which is fairly standard:

mkdir -p /mnt/iso
mount -o loop -t iso9660 my_cd_image.iso /mnt/iso

An ISO is a Compact Disk image format so called because most computers today use the ISO9660 filesystem on CDROM media.  On Solaris system the older HSFS or High Sierra File System is often designated even when ISO9660 is used.  ISO9660 is an extension to High Sierra adding in important international support and standardization.

Simple SAMBA on Solaris 10

Having built a simple NFS file server off of a SUN SunFire V100 server with Solaris 10 Update 4 (8/7) my next task is to share the same directory via Microsoft’s CIFS (aka Server Message Block or SMB) protocol. In order to do this we will need the open source software package SAMBA. This is a very simple how-to and does not begin to cover the complexities of configuring SAMBA beyond a minimal single share configuration. SAMBA is an extremely powerful package with many features including, in the latest version from SUN in Update 4, the ability to integrate with Microsoft’s Active Directory or AD.

We will begin by installing the SUN SAMBA packages which are available on the Solaris 10 8/7 CD #2. These are installed by default with many of the installation options but are not installed with the “Core” option which is what I normally use to build Solaris servers. So we have to do the install separately. If you have the second installation CD inserted into the drive and mounted, as I do, as /mnt/cdrom then the following command should work for you exactly – just copy and paste. If your CDROM device is mounted elsewhere the you will need to change the command accordingly.

# pkgadd -d /mnt/cdrom/Solaris_10/Product/ *smb* SUNWlibpopt

This command installs the SUNWsmbac, SUNWsmbar, SUNWsmbau and SUNWlibpopt packages. If you install the three SAMBA and WINS packages without installing SUNWlibpopt you can expect to get this error in your /var/svc/log/network-samba:default.log:

Executing start method ("/usr/sfw/sbin/smbd -D") ]
ld.so.1: smbd: fatal: libpopt.so.0: open failed: No such file or directory

You can check the version of SAMBA that has been installed easily using the smbd -V command. Solaris 10 Update 4 includes the SAMBA 3.0.25a package.

# /usr/sfw/sbin/smbd -V
Version 3.0.25a

Once you have the correct packages all installed you can proceed to configure your SAMBA service. Do not get ahead of yourself and attempt to enable them at this stage as the /etc/sfw/smb.conf file is missing and you will get an error until it exists. We will need to create this file now and enter a basic configuration. Here is the configuration that I created:

[global]
workgroup = DEMO-SMBFS
server string = Sol10u4 CIFS Server
log file = /var/adm/samba_log.%m
security = SHARE
[backupdata]
comment = backupdata
path = /data
force user = samiller
force group = other
read only = No
guest ok = Yes

Once you have entered your configuration parameters into the smb.conf file you may want to test them using the testparm program included with SAMBA to be sure that the syntax of the file is correct. This program will automatically check to see that the file is in the correct location and that it appears to be a valid configuration file. This quick check is highly recommended.

# /usr/sfw/bin/testparm

As long as your configuration file has passed its check we can continue on our way and enable our SAMBA and WINS services. First reboot your server. I am sure that there is a simpler way to make these services available to us but rebooting is always easy and clean. When your server has restarted you can enable your services. The svcadm command should run silently. In order to check that the services have started correctly you will need to verify them with the svcs command.

# svcadm enable samba wins
# svcs samba wins

If both of your samba related services, samba and wins, return as “online” then you are up and running. If they fail to start you can gain additional information about them by using the -xv option to the svcs command.

# svcs -xv samba wins

At this point your CIFS/SMB file server should be functioning. If you want to attempt to access it from a Windows computer you can using the CIFS syntax such as \\samba_server_hostname\backupdata\.

Easy NFS Sharing on Solaris 10

If there is one service made easy with Solaris it is NFS. Originally developed and designed by SUN NFS is the industry standard UNIX file sharing mechanism today and is likely to remain the dominant player for some time due to its ubiquity, openness, time proven protocol, simplicity and ease of management not to mention the expanse skill base of administrators who use it every day.

If you are following along in my series on building my SunFire V100 with Solaris 10 Core 8/7 then you know that we have gotten all of our filesystems setup and have a large, 106.44GB, ZFS partition mounted as /data. In this very short tutorial we are going to take that directory and make it available to the universe via NFS. Let’s get started.

Firstly we have a very easy time because Solaris installs NFS even with the Core version of the operating system so no worries there. If you don’t believe me you can take a quick look under /etc/init.d/ and you should see your nfs.server daemon script lurking there. It isn’t running yet but it is installed and ready to go.

All we need to do for our simple NFS setup is to make an entry to the filesystem export table /etc/dfs/dfstab (analogous to /etc/exportfs in Linux), enable the NFS service and instruct the system to share the contents of the dfstab. So, start by adding the following line to dfstab:

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

We can explore the intricacies of this configuration file at another time. The important bits are that you are sharing the directory /data as a readable and writing (rw) directory. If you want remote machines to only be able to read from this directory without being able to make changes use (ro) instead.

Next we need to enable the NFS service in Solaris 10. If you need to look up the instructions for doing this the SUN engineers have thoughtfully included directions right at the top of the /etc/dfs/dfstab file in the comments section. How handy. But so you don’t need to go looking there, here is the command.

# svcadm enable network/nfs/server

There is one last step. Before we can actually use our newly configured NFS shared we need to tell Solaris to go ahead and share the directories. “How do we do that?”, you ask. Simple. Just shareall!

# shareall

At this point your /data directory is available to other NFS enabled computers. Wasn’t that easy? Yes it was.