The Caffeinated Penguin

musings of a crackpot hacker

Back in the saddle

| November 23, 2013

So, I’ve been away for a bit, at first because I’ve been legitimately busy with harvest activities:

  • Making applesauce from a pile of apples we got from my father-in-law’s apple trees (up to 21 qts so far).
  • It’s deer season! I’m about finished processing the first one, but there are two more in the fridge.

However, I also ended up having to change hosting providers. I moved from, where I’d been a customer for somewhere along the lines of 10 years, because the mailing list portion of their hosting had been down for three weeks, and their tech support was not being very responsive.

In the end, I decided it was better to just run the whole thing myself, and then I could set it up exactly as I wanted (I’m picky), so I ended up just singing up for a Virtual Private Server at Linode, which came recommended by one of my gaming buddies. Their base package, at $20/month, is $5/month cheaper than what I was paying before. On top of that, I get more flexibility and (hopefully) more stability (once I get everything set up the way that I want). I’ve already had to contact Linode’s tech support once, and found their ticket system to be excellent and their customer service to be prompt and helpful.

One of the things that came out of this is that I’ve finally sanitized all my system install notes, which actually go all the way back to my Red Hat 7.3 install notes from 2002. I’ve kept all of those for posterity. However, for those who are likely to be configuring their own mail/web/etc. server, the Linode server install instructions are likely of the most used to you. It is actually comprised of a pile of different bits and pieces borrowed from work server projects, my house Amahi install, and my standard system install. Then there was some interesting bits that I set up for the first time on the Linode install, and then fed back to work. So, it’s all a big feedback loop.

I also been playing around with a light box and, once I get it right, I hope to be posting some more pictures of minis. I also have a pile of things in the back of my brain that I want to write about, I just need to have time to do it.

Anyway, in the meantime, here’s a picture of a couple of critters on the back porch, on a warm October day.

Diesel and Heidi on the back porch

Diesel and Heidi on the back porch

lxc basic howto

| February 20, 2010

largely from:

With additional notes from:

  1. Note that you likely want to create a separate partition for machines and put the machines there.
  2. apt-get install lxc debootstrap (Note – this is pretty inefficient in terms of space. The lxc setup does allow for read-only mounts of things. So, it can have its own /etc and html docs but share binaries and libraries with the host. But, I didn’t do it that way for ease of backups)
  3. Set up cgroup

    mkdir /var/cgroup
    mount -t cgroup cgroup /var/cgroup
    • probably want to add it to /etc/fstab as well:
      cgroup          /var/cgroup     cgroup      defaults              0       0
  4. Add a bridged network interface:

    brctl addbr br0
    brctl setfd br0 0
    • bring up the bridge with a given IP
      ifconfig br0  promisc up
    • add the existing interface and set it to a bad
      brctl addif br0 wlan0
      ifconfig wlan0 up
  5. Bootstrap a basic system

    mkdir machine
    sudo debootstrap --arch i386 karmic machine
  6. Create a config file:

    lxc.utsname = my_ssh_container = veth = up = br0 = = eth0
    lxc.mount = /var/lxc-machines/machine/fstab
    lxc.rootfs = /var/lxc-machines/machine/rootfs
  7. Create the machine:

    lxc-create -n trac -f /var/lxc-machines/machine/config
  8. edit the appropriate files on the guest

    none    /dev/shm    tmpfs  defaults 0 0
    none    /proc       proc   defaults 0 0
    none    /dev/pts    devpts defaults 0 0
    none    /sys        sysfs  defaults 0 0
    • /etc/resolv.conf
    • /etc/hosts
    • /etc/hostname
    • Set them up correctly
  9. remove the following files:
    rm control-alt-delete.conf hwclock.conf \
    hwclock-save.conf mountall.conf mountall-net.conf \
    mountall-reboot.conf mountall-shell.conf \
    networking.conf procps.conf rsyslog-kmsg.conf \
    tty2.conf tty3.conf tty4.conf tty5.conf \
    tty6.conf upstart-udev-bridge.conf
  10. Create lxc.conf to generate things:
    start on startup
        mount -a
        initctl emit virtual-filesystems
        initctl emit local-filesystems
        initctl emit remote-filesystems
        initctl emit filesystem
        ifdown eth0
        ifup eth0
    end script
  11. /etc/apt

    grab the sources.list from the host (if guest is same as host) or make one

  12. /etc/init/rc.sysinit.conf
  13. bootstrap a basic bash so the various nice utilities work:

    lxc-start -n trac bash
    • add user.
    • add admin group
    • set sudoers to allow admin group
    • add user to admin group
    • Generate locale:
      sudo locale-gen en_US.UTF-8
  14. Start the machine:

    lxc-start -n machine init &
  15. Start for real:

    lxc-start -n machine
  16. Notes:

    • Console:

      sudo lxc-console -n machine
    • Debugging:
      lxc-start -l DEBUG -o $(tty) --name machine

lxc is awesomes

| February 2, 2010


(More to come. I’ll also be updating the community docs once I have all the kinks ironed out.)

The state of music library managers on Linux

| August 2, 2009

There are about fifty different music players for Linux.

All I need is for one of them to let me build a playlist of files on the local machine via some standard method (like, you know, clicking) blow said playlist out to removable media device rooted at an arbitrary path (it’s USB mass storage, so that’s not a problem), and then generate a playlist file which the appropriate prefix (the aforementioned root) lopped off and replaced with something relative to the root of the player (like, say .).

(Old Amarok used to do this. The new one doesn’t seem to.)

Meanwhile, I’m back to cp -a ing what I want up, and then using find to generate a list of stuff which can be trivially redirected to a file.

This is why I wrote a program to do podcast management. I suppose I’ll have to do one for this too (generate playlist, feed it to the program, the program does the copy, massages the playlist, and puts the massaged version on the player).

Still, it’s 2009. Come on folks.

Well, that’s done it.

| July 22, 2009

I’m back on Gnome. I’ve gotten tired of Xfce being broken and generally flaky (the keybindings work half the time, etc.)

While Gnome lacks some desireable config stuff, it at least works consistently.

Window managers

| June 7, 2009

So, I added the OpenGeu repositories to my list and grabbed E17. It shows promise, but isn’t quite there yet.

  • Segfaulted about once every half hour.
  • Slower than XFCE.
  • Lacked a system tray applet (like, for nm-applet to live in).

Some of this may be the OpenGeu build, some of it may be the fact that it is just barely out of alpha.

Anyway, I played with it for about three hours last night, got it mostly configured, and in the end, it wasn’t ready for prime time.

I may have a look at OpenBox (running it under Gnome, since it is just a WM and doesn’t try to be a full desktop environment).

Of course, the whole point to this is to actually find something which is not broken, like Xfce now is under Jaunty. See, I have this nagging fear that this stacking order is what the XFCE guys actually want and they won’t fix it.

Jaunty is broken

| May 3, 2009

(well, aside from netbooks, which I’m using out of the box with no modifications)

  1. Xfce4 suffers from a very annoying window stacking bug, plus general flakiness
  2. The volume buttons on my laptop are broken
  3. KDE is too slow
  4. Gnome is not configurable enough.

I’m going back to intrepid. Maybe the XFCE guys will fix the WM.

I’m also considering CrunchBang, but I’ve spent too much time on this already. I’m reloading my laptop back to Intrepid, and will be trying others in VMs.

Actually, hell with it. I’m going to try going back to 8.04 and if that goes well, will be sticking with LTS releases from now on.

Installed Jaunty

| April 27, 2009

  • The laptop upgrade was a simple incremental upgrade. Nothing earthshaking, despite trying both Gnome and KDE4. I’m still using XFCE.

  • The netbook, however, is quite wonderful. I’m now using the Netbook Remix and the UI is quite good for small devices. Of course, I need to tweak the crap out of the base install (but that has more to do with me than anything else) and I need to post my install docs (including the old minimal install) but in general I’m quite happy.

    The one criticism I have, however, is that it created a swap drive which was too small to use for hibernation. This makes sense, as if it created a large enough one for hibernation, there wouldn’t be enough space for the install. At that point, however, with a gig of RAM, it’s not really worth even bothering to create it, and so I’ll be removing it to make some more space.

One of the reasons I like Linux

| February 16, 2009

Linus rejects one size fits all Linux.

Joe Sixpack must die

I use Linux because I can make it do what I want. Admittedly, my mind doesn't work like anyone other people's. I don't like the iPod UI, I don't like the OSX or Windows UI. I don't like desktop icons, and I usually launch apps from a small cli embedded in my taskbar.

However, my computer is mine, it is personal, and I can make it do what I want.

It's sad to think that in order for Linux to be broadly accepted, it has to be less useful to me. The attitudes above give me hope that it won't happen.

Hard drive funkery II

| January 26, 2009

Okay, so I apparently forgot something really important in this post (since edited to add the information), namely that if you don't modify /etc/mdadm/mdadm.conf and update the initramfs, your machine doesn't boot.

See, that’s the problem with Unix machines. You hotplug in some hardware, leave the thing up for six months (this one has been up since the last kernel upgrade, so maybe a month or two?) and then when you reboot it, you’re not really sure it will come up, because you’re thinking “what the hell did I change since I rebooted it last??”. Luckily, modern Linux distros include a busybox shell with the initramfs, so I can manually assemble the arrays..
mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm --assemble /dev/md1 /dev/sda2 /dev/sdb2 /dev/sdc2
exit the busybox shell, boot, fix the aforementioned stuff, reboot. Oh, and I wouldn’t have had to reboot, except that I had to apply this firmware update.. See, my drives were:
Model Family:     Seagate Barracuda 7200.11
Device Model:     ST31000340AS
Firmware Version: SD15

Device Model:     ST31000333AS
Firmware Version: CC1F

Model Family:     Seagate Barracuda 7200.10 family
Device Model:     ST3500630AS
Firmware Version: 3.AAK
Now, the ST31000333AS and ST3500630AS as well as Liz’s ST31500341AS (1.5TB) were not affected, as the 1TB and 1.5TB are both new (and thus already fixed) and the 500GB is old (and thus never had the problem). So, pop those out, load firmware on the ST31000340AS, and all is good.. except the aforementioned MD problem, which is not Seagate’s fault. Ironically, I wouldn’t have even bothered with the firmware update, except for the fact that in some cases the drives can get bricked after some number of reboots. I figured that the penalty for that is so high that I’d run the risk and update the firmware. All is much happier now:
Device Model:     ST31000340AS
Firmware Version: SD1A