Category Archives: Linux

From CD to Cloud with Debian

Hi again, Merry Christmas and happy new year to all 🙂

One of my favourite new products in recent months is Google Music, a new cloud-based music system which allows you to keep up to 20,000 tracks on Google’s servers. In a similar fashion to Apple’s iCloud, this music can then be accessed at any time via your Android devices or a web browser. Having used Google Music for nearly 2 months now, I absolutely love it – so much so that I’ve cancelled my Spotify subscription.

Around a year ago the media hard drive in my home server crashed, causing me to lose almost all of my digital music collection. Recently I’ve been starting to re-import my CDs so they can be uploaded to Google Music, going via my laptop. Problem is that the CD importing is happening via iTunes, and my 5-and-a-half-year-old macbook certainly isn’t as fast as it used to be – the spinning beach ball of doom regularly pops up. So why not let my home server take the strain? Pop in a CD, let the server automatically rip it and eject when it’s done, and have that new music automatically uploaded to Google. That’s entirely possible on a headless Debian server.

My starting point was a blog post which deals with ripping CDs on a headless server using ivman to listen for an audio CD being inserted and abcde for ripping. However, I later discovered that ivman has effectively been abandoned and has since been replaced by halevt.
Continue reading

Burning and rebuilding bridges

… of the network kind, of course 😉

This past weekend I decided to take the plunge and start virtualising some of the many things my home server does, such as printing via CUPS, hosting my dev sites and documentation, backing up all computers in the flat and so on. I managed to get 2 Debian Lenny VMs up and running with this tutorial, and all seemed good and well with the world. Well, apart from one thing.

It seemed that the new VMs I had created were unable to see the outside world, and likewise could also not be pinged. The one existing VM used as a Jabber server, however, was working perfectly fine.

This was an immensely frustrating problem, which consumed pretty much all of my weekend with no luck. However, after over 4 days of searching with little luck (and many edits to this post), I finally found a network setup that worked for me. In /etc/xen/xend-config.sxp, I only enabled (network-script network-dummy) and (vif-script vif-bridge), while my /etc/network/interfaces is set up as:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet static
        address 192.168.1.x
        gateway 192.168.1.1
        network 192.168.1.0     
        netmask 255.255.255.0
        bridge_ports eth0
        bridge_stp on
        bridge_maxwait 0

And each virtual guest having this bridge specified in the networking section of its respective config file:

vif         = [ 'ip=192.168.1.x, bridge=br0' ]