Warning: post-commit hook failed (exit code 255) with no output.

Sometimes SVN (subversion) gives this error when configuring a new repo with commit email messages. The problem is to do with the REPO/hooks/post-commit script not being executable.

The script may in fact work when one runs the post-commit script manually using, e.g.,

sudo -u www-data /var/lib/svn/REPO/hooks/post-commit /var/lib/svn/REPO 2

However, given the limited environment variables (including PATH) that are defined when Apache runs the post-commit script, it becomes necessary to explicitly include #!/bin/bash at the top of the post-commit script. This solved it for me.


Home automation with Insteon and MisterHouse

In a splurge of at-home geekiness I bought some modern home automation equipment. Back in the 1990s I had some X10 stuff that was rebranded and sold by RadioShack, and concluded that it was not sufficiently reliable to be useful. That has changed.

These are the products that I’ve been using successfully at home with MisterHouse:

2412S PowerLinc Insteon Modem, Serial Note that this is not the same as the “controllers.” Rather, it is a type of modem.

ApplianceLinc Relay module We have mostly non-dimmable CFLs at home so I decided to treat them as appliances.

X10 is definitely an obsolete protocol and I wouldn’t waste any time with it.
Here’s the Insteon page for the MisterHouse wiki:


Linux server consolidation: Xen, Software RAID, LVM2

I play with virtual machines all the time but I don’t actually have any that are part of my daily “critical infrastructure,” in the sense that our important file, web, and backup servers are all running Linux on bare metal. I’m now coming at this from a security-conscious administrator’s and cheapskate’s perspective.

Some rough requirements:

  • I want to use mirrored disks so that the failure of one drive won’t bring the whole thing down.
  • I want the RAID configuration to TELL ME when one disk fails so that I know to replace it before the next one fails.
  • I want to be able to relatively painlessly allocate disk space between different VMs.
  • I’m not terribly concerned with performance at the moment, as the live servers are not very heavily loaded and the backup servers run on a schedule in the middle of the night.
  • I don’t want to spend any money on software.
  • I don’t want to be forced to use Windows to manage the thing.

I went into this thinking that VMware’s free ESXi would do the trick. However, I’ll either need to manage it from Windows or learn all the necessary command line mechanisms. I’m also approaching this from the “my brain is full” perspective, so I’d rather not add complexity I don’t need. I do have a fancy SAS/SATA RAID card available if need be, but I don’t want to fuss about drivers for it.

So, at the moment I’m leaning towards Xen. It seems like Xen vs KVM is a hot debate, but I can use paravirtualized guests and it seems that paravirtualized Linux on Xen is regarded as having the highest performance.

I haven’t actually put the thing together yet so there is likely to be another post. Pending the availability of free time I may try to mature this into a useful guide, since in my opinion much of the information available about these technologies (and a lot of Linux sysadmin stuff, for that matter) is rather dated.

Here are some threads and references that I have found to be useful:

Very useful Gentoo thread on LVM pros & cons

Very useful Debian thread on degraded software RAID array

Very useful Ubuntu thread on VMware ESXi vs VMware Server

Very useful guide to a particular installation of Xen using several large disk drives (PDF)

Xen with Ubuntu 8.04 LTS and software RAID, LVM

Ubuntu 8.04 LTS as a domU on the above setup

Software RAID1, Debian Sarge fresh installation, kernel 2.6.8, GRUB. A little dated, but not as dated as a lot of the other docs. It is kernel 2.6-based.

The RAID controller that I have available is an Adaptec SAS-3405. This page and these scripts appear to be somewhat useful regarding its use from Linux. About 2 years ago I tried to use that card with VMware ESX server 3.0.x to no avail. Here is a thread about it.

Taking (some of) the pain out of Windows XP installation

This article discusses “slipstreaming” Service Pack 3 into one’s Windows XP installation, and creating a custom install CD. One must first have a working Windows XP installation somewhere, with a strong preference for a fully updated working installation.

Required tools include the excellent nLite (also requires the .NET framework 2.0), and the stand-alone full version of the Service Pack 3 update, available here.

The article describes using WinUpdatesList to get a long list of all of the installed hotfixes, etc so that they too can be bundled into the installation CD. My experience was that this program worked as expected, but the URLs associated with each hotfix were highly likely to be no longer valid. Thus, so far I have not applied any hotfixes to my install CD.

I prepared my custom install CD by adding Service Pack 3, and then removing a bunch of unnecessary stuff, including languages I don’t speak, Windows Messenger, and some other things mentioned in the original article.

The beauty was in the fully automated installation. The only intervention required of me was to specify how to partition the hard drive. No questions whatsoever about time zones, usernames, passwords, automatic update settings, and no annoying “out of body experience” demo on the first boot.

1. Figure out how to include hotfixes, IE 8 (it installed IE 6!).
2. Figure out how to bundle other applications (a Windows system is, imho, useless without Putty, WinSCP, and Firefox).

WARNING There is a fair amount of bad information out there about how to get the product key for a legitimate install CD. Anything that talks about UNATTEND.TXT is a lie. The product key in there is not actually valid.

The product key of a working, legitimate installation can be found with the Magical Jelly Bean Keyfinder. It’s a simple application that does what it advertises. That’s good enough for me to call it magic.