October 2006

Ubuntu 6.10 (Edgy) upgrade

A few days back I upgraded my machine to the newest Ubuntu release. As is often the case with upgrades like this, there were a few issues. The main one is a conflict between my M2N4-SLI motherboard and the 2.6.17 kernel. I get the impression that Asus has left quite a few bugs in the firmware, and if you boot straight up, it gets so far and then just locks up. My first solution was booting the kernel with the noapic parameter, and that works. However, I was also reminded of this comment that suggest using the enable_8254_timer parameter. I’ll try that next time I reboot.

One of the other problems I have is that Wyrd is completely, totally broken. A pity, because it’s really a nice tool. I suppose I could go back to using straight remind, and scripts that email me reminders. But I like wyrd.

The final thing that’s been annoying is that beagle (the search indexing program) is really prone to sucking up all CPU when it thinks you’re not looking. Originally, it used a lot of CPU indexing some files (including ones that it didn’t understand). I could live with that, it only had to do it once, however now when the computer has been idle for a while it starts up, not doing anything as far as I can tell. At least, nothing is being logged. This wouldn’t be a huge problem, but my computer’s fan only turns on when it’s under load. So if it’s on overnight doing something like downloading, it’ll be completely silent - until beagled starts up, and the computer makes a constant whine.

Oh, something else, but this is not at all a Ubuntu problem, it’s an example of why closed-source software is a pain to work with. What is it with Sun being so backwards about 64-bit machines? The third most requested enhancement is for a 64-bit version of webstart and the browser plugin. Apparently, 64-bit machines are all server machines (despite the fact that Sun sells 64-bit SPARC workstations), and so have no use for plugins and such. So they haven’t gotten around to releasing them, and it looks like they’re not going to be in Java 1.6 either. I’m fairly sure it couldn’t require much more than a recompile to make them work. Hopefully when Java is open sourced, the community will come out and produce these.

In the meantime, I’m living without a Java plugin (I don’t use applets heaps anyway), and OpenJNLP for webstart. It’s old, appears to be unmaintained, but it works. I’m thinking about writing a ‘loading’ screen for it though, currently it doesn’t have one.

Anyway, about Edgy: other than the problems, I haven’t noticed huge differences. Things are a bit newer, a bit nicer. KMail seems a bit less crashy. OpenOffice is finally proper 64-bit, not that I ever use it anyway. Oh, and the spellchecking in Firefox is good, too. I wouldn’t rush to upgrade if I didn’t care about using the most current stuff.

Java
Linux

Comments (4)

Permalink

Trials of moving /var in Ubuntu

Note: most of this is rambling, go to the bottom for the useful technical bit.

I’m doing some work with large amounts of data (about 100 million rows), and today I tried loading it all into MySQL on my home machine, so that I could run some collaborative filtering tools over it easily. However, when I set this machine up, I did a dumb thing and gave / 4Gb and /home the rest of the space. Thinking of course, that / wouldn’t need much space. It just holds programs and stuff.

I’d forgotten that it’s also where MySQL puts its database files. It also turns out that when MySQL runs out of of disk space, it gets really unhappy and kinda belligerent. You can’t even get it working well enough to do a ‘drop database’ on the over-sized culprit until you free up some space somewhere else.

So, after a bit of playing I got that sorted, and decided to move /var somewhere else. This is a scary proposition, because it means resizing /home (with my 200Gb+ of accumulated cruft). But that’s OK, with careful use of resize_reiserfs and lvreduce (in that order! no exceptions!), I had 10Gb to put a new /var into. This is where it gets tricky. I created the new /var, copied the old stuff over, set the fstab to mount it, etc. I then rebooted to have everything clean up…and mysql wouldn’t start. I eventually tracked that down to a lack of networking.

Here start the useful technical bits, if you’re googling this or something:

However, networking either refused to start, or wouldn’t bring up lo, complaining about a lack of the /var/run/network/ifstate file. Well, true, it wasn’t there, and creating it made things come OK, until the next reboot. On bootup, I was also seeing messages like ’special device /var/run does not exist’. After a bit of poking around the internet, I discovered that /var/run (and /var/lock) have a special filesystem mounted on them before /var is mounted. The upshot of this is that if you don’t have /var/run and /var/lock living on the /var that lies underneath of the mounted /var, things go haywire. Basically, if you don’t have these directories that are invisible 99% of the time your system is running, things break. That is something that really needs to go into a really early startup script.

A nice trick for creating them on a running system (found here) is this command:

mount –bind / /mnt && mkdir /mnt/var/run /mnt/var/lock && umount /mnt

I hope this stops someone else spending an unnecessary couple of hours trying to figure out why networking is failing mysteriously.

Linux

Comments (6)

Permalink