From the Canyon Edge -- :-Dustin

Wednesday, October 29, 2008

Intrepid Ibex (Pseudo) Release Party: Austin, Texas

Anyone in the Austin, Texas area with an interest in Ubuntu, Linux, and/or Beer is welcome to join us on Thursday, October 30, 2008 to celebrate the release of Ubuntu Intrepid Ibex (8.10). We will be outside, at the Draught House Pub, from 5:30pm - 7:30pm (map).
You might meet, face-to-face, some people who use your code, and some people whose code you use. If you've never been to the Draught House Pub, it's a unique, neighborhood-style pub, with scores of beer on tap and a great outdoorsy feel.

Note that this isn't associated with the Austin LoCo--I have not seen any formal plans from them for a release party. But there does seem to be another release party hosted by the AustinLUG at 6:30pm on 10th Street. My apologies for "forking" the party, but plans were neither coordinated nor communicated particularly well.

In any case, get out there and celebrate Ubuntu Intrepid Ibex by drinking some beer wherever you are ;-)


Booting Degraded RAID in Hardy: Test Packages in my PPA

We have significantly improved booting on degraded software RAID in Ubuntu Intrepid Ibex.

Numerous Hardy users have requested a backport of this functionality to Ubuntu 8.04 LTS.

I'm pleased to announce that I have some very preliminary, working packages in my PPA, available for testing. See:
A couple of caveats...
  1. Under no circumstances should these packages be used on any production-level, critical, or enterprise system.
  2. These packages are not officially supported by Canonical, Ubuntu, or even really me.
  3. These packages are provided exclusively for the sake of testing and debugging the functionality in advance of an official update being published.
That said, if you have some spare hardware or virtualization at your disposal, and you're willing and able to test these packages on a non-critical development/test system, I would appreciate hearing your experience.

The test case is essentially as follows:
  1. Install Ubuntu 8.04.1 LTS (Hardy Heron) onto a software RAID1 configuration
  2. Update your package list, upgrade all packages, dist-upgrade, and reboot
  3. Add my PPA to your /etc/apt/sources.list, update your package list, and pull my updated Hardy packages
  4. Re-install grub to your RAID device, "grub-install /dev/md0" or whatever might be appropriate
  5. Reboot with both disks (ensure this continues to work)
  6. Reboot, with only the first of the two disks (you should be prompted if you'd like to boot or not; first test answering "No"; reboot and test answering "Yes")
  7. Reboot with only the second of the two disks, and again test both the "No" and "Yes" behavior
  8. Reboot with both disks attached, and one disk should be "missing" from the array since they are now out of sync, having each been booted independently. Add the missing disk back to the array with something like "mdadm /dev/md0 --add /dev/sdb1", and let it re-sync.
If the above succeeded as expected, I'd like to hear about it. If it didn't, I'd also like to hear about it. Please post as comments to this bug report:

Monday, October 27, 2008

Ubuntu Fridge Interview

When it rains, it pours...

I was also interviewed by James Westby for the Ubuntu Fridge this week.

This interview was primarily about my work on Encrypted ~/Private Directories in Intrepid, what it is, how it works, my development practices while working on it, and future plans for extension. James also added a few nice screenshots.

You can read the full interview at:

Sunday, October 26, 2008

Ubuntu Weekly News Interview

I was interviewed by Nick Ali for issue #114 of the Ubuntu Weekly Newsletter.

We talked about a bit of my background in Linux, the Ubuntu Manpage Repository, encrypted ~/Private directories, the future of the Ubuntu Server, and my next long distance hike.

You can read the interview here, or read the entire newletter here.

Thanks for the interest, Nick!


Friday, October 24, 2008

Announcing 'musica' for Ubuntu Intrepid

I am proud to announce a new package in Ubuntu Universe: musica.

musica is a web application written in PHP for browsing and streaming your mp3's over HTTP. There are, of course, plenty of alternatives out there--this is my implementation of the rather common idea ;-)

Here's a screen shot:

What I like about musica is that it's basically one self-contained index.php file and it does not use a database to archive and manage your music. It reads everything it needs directly from the file system.

This does, of course, mean that you have to follow a relatively rigid naming scheme in organizing your music. Basically, a music/ directory contains a bunch of artist directories. Each artist directory contains either miscellaneous songs, or one or more album directories. Each album directory contains the songs on that album. That's how my music is organized.

If you organize your music similarly, you can simply (on an Ubuntu Intrepid system):
$ sudo apt-get install musica
$ sudo ln -s /path/to/your/music /usr/share/musica/music
And then point your browser to http://localhost/musica.

I have a package for Hardy in my PPA:

Some features include:
  • Dynamic m3u construction for streaming with your favorite music playing application
  • Dynamic archive construction for downloading a whole album (as a .tar)
  • Dynamic URL's cross-linking to Wikipedia for artist, album, song documentation and cover art
  • Basic search capability for artists/albums/songs
  • A "Random" artist link for those times when you're not quite sure what you want to listen to
Please file bugs, questions, and feature requests in Launchpad under:

Wednesday, October 22, 2008

Mounting a KVM Disk Image

Martin Pitt pinged me in #ubuntu-devel earlier today asking how to mount a KVM/QEMU/Virt-Manager disk. It's occasionally useful crack open a .img disk file, and read/write/modify files there.

For the last couple of years, I've used a rather manual process, involving losetup, fdisk, calculating the byte offset into the image of each partition, losetup again, and then mount.

Many times, it crossed my mind that there must be an easier way. But, meh, it worked ;-)

In the process of answering pitti's question, I stumbled across:
Much cleaner! It amounts to:
# losetup /dev/loop0 foo.img
# kpartx -av /dev/loop0
# mount /dev/mapper/loop0p1 /mnt
# unmount /mnt
# kpartx -dv /dev/loop0
# losetup -d /dev/loop0

Monday, October 13, 2008

IRC Bot for

I'm quite proud of the Ubuntu Manpage Repository, at

And I'm even more proud that other people are extending that work in new and interesting directions.

Specifically the good people over at ##club-ubuntu on have written an IRC bot that interfaces with using supybot. Thanks to henux for making me aware, and emma for giving me the tour ;-)

It accepts two simple commands, "@man" and "@manurl". Quite cool!
kirkland> @man supybot
ubnotu> kirkland: supybot - A robust and user friendly Python IRC bot // Synopsis: supybot [options] configFile // Description: Supybot is a robust, user-friendly, and programmer-friendly Python IRC bot. It aims to be an adequate replacement for most existing IRC bots.

kirkland> @manurl supybot
ubnotu> kirkland:
Cheers to the team doing this, thanks guys! \o/


Friday, October 3, 2008

What's in my Encrypted ~/Private directory?

Ubuntu Intrepid's integration of Per-User Encrypted Private Directories is one of the most important new features to me to be included in the 8.10 release later this month.

I've spent quite a bit of time over the last 5 months developing, testing, documenting, and blogging about this feature.

Some people have asked, "What do you keep in your encrypted ~/Private directory?" So I thought I'd respond here. If there happen to be an other bloggers out there using an Encrypted Private Directory, perhaps this should be our next MeMe :-)
kirkland@t61p:~/Private$ ls -alF
total 40
drwx------ 10 kirkland kirkland 4096 2008-10-03 10:30 ./
drwx------ 95 kirkland kirkland 4096 2008-10-03 10:24 ../
drwx------ 4 kirkland kirkland 4096 2008-10-03 10:23 Documents/
drwx------ 5 kirkland kirkland 4096 2008-10-03 10:30 .evolution/
drwx------ 2 kirkland kirkland 4096 2008-10-03 09:54 .gnupg/
drwx------ 4 kirkland kirkland 4096 2008-02-14 06:59 .mozilla/
drwx------ 6 kirkland kirkland 4096 2008-10-03 10:28 .purple/
drwx------ 2 kirkland kirkland 4096 2008-10-01 13:31 .ssh/
drwx------ 10 kirkland kirkland 4096 2008-10-03 09:03 .xchat2/

To protect your sensitive data, such as documents, mail, calendars, contacts, browser cache, messaging logs, and encryption keys in Intrepid, you can simply do the following:
  • Install ecryptfs-utils
    • $ sudo apt-get install ecryptfs-utils
  • Setup your private directory
    • $ ecryptfs-setup-private
  • Enter your login password, and either choose a mount pass phrase or generate one
    • Record both pass phrases in a safe location!!! They will be required if you ever have to recover your data manually.
  • Logout, and Log back in to establish the mount
  • Make sure that the application whose data you want to protect (e.g. Firefox or Evolution) is not running
    • $ ps -ef | grep evolution
  • Move the application's data directory (e.g. ~/.mozilla or ~/.evolution) into your ~/Private directory
    • mv ~/.evolution ~/Private
  • Establish a symbolic link from the old location to new location
    • ln -s ~/Private/.evolution ~/.evolution
I could provide a script to do this, however, care must be taken that applications are not reading and writing data to these directories while they're being moved, and thus, I recommend that these be handled manually.

Note: If you put all of .ssh in ~/Private, you won't be able to ssh into the system using public key authentication. In this case, you might want to only put your private key in ~/Private, and leave the rest in the clear.

Please open any bugs or ask any questions in Launchpad.


Full Text Search, Language Support for the Ubuntu Manpage Repo

A new release of the Ubuntu Manpage Repository rolled out this week to This is by far the most complete interface yet!

Notable new features include:
If you would be willing and interested to translate the main page into another language, please email me.


Wednesday, October 1, 2008

Ubuntu Server Survey

From the Ubuntu Server Team...

I continue to be impressed by how democratic processes are within the Ubuntu community. The Ubuntu Development Summit for the Jaunty Jackalope development cycle is quickly approaching, scheduled for December 8 - 12, 2008 at Google's Mountain View campus. At this summit, the greater Ubuntu community will discuss and architect the features of the 9.04 release.

In preparation for those discussions, the Ubuntu Server Team is calling for any existing or potential Ubuntu users out there to participate in a 10-20 minute survey to help us better understand the current and future needs of Ubuntu Server administrators.