Day 20 of 60: Running Sendmail in the zones (pt 2)

Posted by nik on July 29, 2006

I’ve now got Sendmail built and installed, and adjusted the SMF so that it uses my local version of Sendmail (with DTrace probes) in favour of the system version.

Continue reading…

Day 19 of 60: Running Sendmail in the zones (pt 1)

Posted by nik on July 28, 2006

Now that Sendmail is building and correctly installing in to a custom directory it’s time to start looking at how I get my version of Sendmail used instead of the version that’s supplied with Solaris.

For that, I need to delve in to the Solaris Service Management Facility (SMF).

Continue reading…

Day 19 of 60: M4 issues resolved, ministat updates

Posted by nik on July 28, 2006

The issues with M4 have been resolved. A colleague, Andre Lucas, took up the challenge and worked out a fix which he describes in detail. And ministat’s now looking much better. It’s grown some useful new options, a lot of documentation, and can now (optionally) generate plots in colour. Look below the fold for two example plots.

Continue reading…

Day 17 of 60: ministat

Posted by nik on July 26, 2006

I’ve spent some of today porting some useful statistics reporting software from C to Perl.

ministat reads in two or more files of data and uses the Student’s t test to determine if there is any statistical difference between the means of the datasets. This is especially useful when comparing benchmark results.

For instance, I figure that this will be useful to compare data from several Sendmail runs, where the number of queue directories differ between the runs. It should highlight any benefits between different numbers of queue directories.

Rather than explain more here, I’ll point you at the code. There’s documentation towards the end of the file. Note that this still needs some work — there’s no proper command line option handling at the moment, some of the documentation needs fleshing out, and I wouldn’t use this as an example of good Perl code, as it still looks far too much like a Perl program that’s been written in C.

When I’ve fixed that I’ll put it up on CPAN.

Day 16 of 60: I strongly dislike M4

Posted by nik on July 25, 2006

Which is a problem because the Sendmail build system is written in it.

Here’s the problem I’m trying to solve.

Continue reading…

Day 16 of 60: Reinstall

Posted by nik on July 25, 2006

I’ve just had to carry out a complete reinstall of the OS, which was uncommonly tedious.

Continue reading…

Day 15 of 60: Installing Sendmail

Posted by nik on July 24, 2006

I’ve spent some time today getting Sendmail+DTrace to install properly.

This wasn’t quite as straightforward as it could be, requiring a little build infrastructure hacking.

Continue reading…

Day 14 of 60: Minor updates

Posted by nik on July 23, 2006

I’ve been a bit busy with other work over the past few days, and haven’t made quite as much progress as I’d like.

There are a few things that have moved forward though.

Continue reading…

Day 10 of 60: First probes added to Sendmail

Posted by nik on July 19, 2006

Following Monday’s info dump about queues, I’ve spent some time over the last few days reading the DTrace documentation in detail. In particular, the Solaris Dynamic Tracing Guide. This is the DTrace handbook, with a great deal of information about how to use DTrace.

It also contains the information about how to add custom DTrace probes to user applications. I was a bit surprised when I first read that, as it’s only a couple of pages long.

It turns out that adding DTrace probes really is that simple…

Continue reading…

Day 8 of 60: Sendmail queues

Posted by nik on July 17, 2006

The time has come to start adding DTrace functionality to Sendmail. Of course, there’s no point in just diving in and adding code left, right, and centre, so over the last couple of days I’ve been thinking about what I should be instrumenting first.

Continue reading…

Day 5 of 60: DTrace mode for Emacs?

Posted by nik on July 14, 2006

I’m just starting to get my feet wet with DTrace. Does anyone know of a decent Emacs mode for editing .d files?

Day 5 of 60: Building test zones

Posted by nik on July 14, 2006

I’ve spent a bit of time today preparing some zones that I’ll be using for testing my changes to Sendmail.

Continue reading…

Day 4 of 60: Sendmail first build

Posted by nik on July 13, 2006

It’s not much of a milestone, but spent five minutes getting Sendmail to build on Solaris 10 with the Sun Studio 11 compiler.

Continue reading…

Day 4 of 60: The learning zone

Posted by nik on July 13, 2006

One of the new features that Solaris 10 has that I’m interested in is zones. A zone is lightweight virtualisation environment. Unlike VMWare, or Xen, the whole environment is not virtualised. You still have one running OS kernel which arbitrates access to the hardware, for example. A zone is more like a separate instance of the userland, with its own IP address, users, running processes, and so on.

In this respect Solaris Zones are very similar to FreeBSD Jails, and if I was going to sum it up I might call it “chroot on steroids, with a much better management interface.”

I’m quite familiar with FreeBSD’s Jail system, much less so with Zones. I’ve offered up a Zone to some of the pkgsrc developers so they can experiment with pkgsrc on Solaris 10, and I’m planning on using Zones for testing the changes that I’ll be making to Sendmail, so I need to learn how to create and manage them.

Continue reading…

Day 2 of 60: Synergy

Posted by nik on July 11, 2006

This is a plug for one of the handiest network programs I’ve used in a long time. Synergy.

Continue reading…

Day 2 of 60: Blastwave

Posted by nik on July 11, 2006

I wrote earlier about getting pkgsrc builds up and working.

Unfortunately, I wrote too soon.

Continue reading…

Day 2 of 60: Importing and branching Sendmail

Posted by nik on July 11, 2006

Now that I’ve started to get a development environment that I feel comfortable with I’ve imported the latest release of Sendmail in to my Subversion repository. This is publicly accessible, so you can follow along at home if you’ve got a Subversion client installed.

Continue reading…

Day 2 of 60: SSH agent authentication

Posted by nik on July 11, 2006

I’ve just configured the desktop to prompt me for my SSH credentials once, instead of on every connection, using ssh-agent and an X11 SSH password requestor.

This is bread-and-butter stuff that should be easy, made a little more complex by documentation not being accessible on the Sun site. Since I couldn’t find the correct incantation through Google I’m documenting it here

Continue reading…

Day 1 of 60: Fun and games with pkgsrc

Posted by nik on July 10, 2006

In the years that I’ve been using Solaris it’s support for third party packages has, to my mind, always let it down. The open source community writes and releases software at a phenomenal rate, and systems like FreeBSD and Linux have developed a number of interesting ways to make it as easy as possible to get this software, install it, and (much more importantly) manage it once it’s been installed.

Continue reading…

Day 1 of 60: Tourist

Posted by nik on July 10, 2006

I’ve spent a bit of time poking around the workstation and Solaris 10. I feel like a tourist in a Western European city. Everything’s pretty familiar — the roadsigns all look the same (although the font might be a bit different, and the speeds are marked in kph not mph) but there are things everywhere that remind you that you’re not quite home.

Continue reading…


Close
E-mail It