Murdock

I can’t say I’ve ever used Debian for long, but it has always proved itself a worthy contender in any distro comparison I’ve ever run -largely because it’s stable, has an enormous number of packages available to it and has its own quasi-minimalist graphical charm. If it lacks some of the bells and whistles of the more glamorous distros (many of which, such as Ubuntu -and from there Mint- are actually derived from Debian), it is nevertheless a strong contender.

How lucky we are that Ian Murdock saw fit to create it (and then go on to champion open source software in various other ways after that), back in 1993. And what a shock it was to read on New Year’s morning that he’d been found dead on 28th December.

The terrible news prompted me to look at my old Gladstone script for installing Oracle on various non-standard Linux distros and discovered that the last version of Debian I had it working for was 6.0.6, which dates it to around September 2012. I thought the least I could do is to bring it a bit more up-to-date than that.

So I’m releasing a new pre-installer script, called murdock, extricated from the ancient ruins of Gladstone and made functional once more. It prepares a Debian 8.2 64-bit system that has a functioning Internet connection for running either Oracle 11g or 12c. It doesn’t work for any other distro, nor any other bit-ness. (An alternative download location is here).

I’ll knock together some better instructions at some point soon, but basically download it, run it, supply the root password and sit back to watch everything get configured appropriately. Then download the Oracle software and run it. It will fail nearly all its prerequisites checks, of course. Ignore them all. It will then error during the linking phase: but murdock has anticipated that and created a fix-up script in the oracle user’s Documents directory: so run that script, click [Retry] in the Oracle installer, and everything will work correctly thereafter.

(Update: the ‘better instructions’ are now an article available here.)

I’ve tested it on both 11.2.0.1, 11.2.0.3, 11.2.0.4 and 12.1.0.2, using the Gnome, Cinnamon, MATE and KDE desktop environments. Gnome has some dialog problems that make the installer non-functional unless invoked remotely (i.e., use ssh -X to make a remote connection to the server and run the installer from the remote PC). And 11.2.0.1 has a compilation error that can’t be easily fixed, meaning that Oracle Text indexes can’t work. Otherwise, all works as expected.

I don’t run single-node Oracle much these days. I don’t run anything that’s not on Windows or Solaris come to that. But Open Source in general, and Debian specifically, has given me so much, it seemed to be at least something I could do by way of paying it back a little. Any issues with it, let me know…

VMware Workstation Glitch

I opted to install various updates today to my Debian “Squeeze” PC. I’m afraid I don’t know precisely what updates they were, because (like a lot of people, I suspect!) I didn’t bother to pay a lot of attention to the list of what was about to be done to my system. Whatever it was, where I was happily VMware-ing before the update (and for hours afterwards), after I’d rebooted the PC, I couldn’t start the virtual machine any more: the program kept complaining about “couldn’t find /dev/vmmon”, and when I manually tried to modprobe it, it came up with all sorts of errors indicating kernel troubles.

There being no obvious way to fix things (Google doesn’t help much on this, with all suggestions I saw involving re-running vmware-config.pl, which simply doesn’t exist on my system for some reason!), I resorted to the crowbar method of software maintenance: I ran /usr/bin/vmware-installer -u vmware-workstation and got the software uninstalled. Then I re-ran sh VMware-Workstation-Full-7.1.0-261024.x86_64.bundle to reinstall it… and after the re-install, it all worked as fine as before.

God knows what the trouble was, but let that be a lesson to you: don’t update (especially on a testing branch of Debian!) unless you really need to!

Before I decided on the re-install route, I did dabble with the idea of giving up altogether and using VirtualBox once more. The open source version is available in the Squeeze repositories, and I figured that if it was there, then any updates affecting those repositories is likely to leave VirtualBox at least in working order. Of course, I wouldn’t want to have to rebuild my VMware Workstation virtual machine… a lot of software and OS updates have gone on in it.

So is it possible to open a VMware Workstation VM in VirtualBox?

The answer to that is, ‘yes, very easily’:

  • Make sure your VMware virtual machine has no snapshots. Delete them if it does.
  • Start VirtualBox OSE (Applications → System Tools → VirtualBox OSE)
  • In File → Virtual Media Manager, click Add. Point to the .vmdk file of your VMware virtual machine. Double-click to select and add it, then click OK to close the media manager window.
  • Click the New button to create a new Virtual Machine, fill out the memory details as you think appropriate. Select the Use existing hard disk option when shown, and select the .vmdk file from the combo box.
  • Boot the new VirtualBox virtual machine as normal. Windows will, of course, have an absolute fit at the amount of hardware you’ve changed, but if you give it long enough, it should come good as it detects it all and re-configures itself accordingly. You may need a couple of reboots before everything is detected and installed perfectly.
  • Don’t forget to install the VirtualBox Guest Additions so that you get proper video/mouse handing for the new environment.

When I first did this, the machine would simply boot to a blank screen, sit there doing nothing and otherwise just die. Rebooting a couple of times, the same thing happened each time. When I checked the logs for the VM (found in my /home/hjr/.VirtualBox/Machines/Windows XP/Logs directory), I saw I was getting the error message: BIOS: int13_harddisk: function 15, unmapped device for ELDL=81. I had a bit of a guess at this one: powering down the VM, I went into Settings → System and switched on the option to Enable IO APIC. Once I booted the VM once more, it worked perfectly.

One other gotcha: the networking in the VMware machine was fine, but the guest OS when running in VirtualBox declared that no network was available. The reason for that is that my VMware machine had been built with Bridged networking, but VirtualBox creates new VMs with Network Address Translation (NAT) networking instead. Power the guest down and edit the Settings → Network to switch to the Bridged Adapter option.

One quirk that is probably peculiar to my setup: my VM has Checkpoint Secure Remote installed on it (it’s the VPN I use to connect to work, since they don’t seem to be able to run to a VPN that has a Linux client!). That prevented my new network card from functioning properly -but once I’d uninstalled Checkpoint and rebooted, the network card was detected fine. Then I was able to re-install Checkpoint and connect to work as normal… yet another instance of crowbar software maintenance, I’m afraid, but at least it worked (again)!

Not too painful, all things considered -though I’d suggest trying it out on a copy of your VMware virtual machine before you let rip on the real thing! Getting networking, er, working was probably the hardest part of the entire affair.

The extent of the hardware changes the guest OS has to deal with are enormous, so it was frankly a bit of a surprise that Windows XP coped… whether later versions of Windows would is a matter for speculation, I guess. I would expect such a degree of hardware change to prompt re-activation of Windows, though (the reason I tend to stick with XP in my VMs: no activation required, at least for my ancient installation disk!).

There is an alternative to this approach, which involves using qemu and stuffing around actually transforming a .vmdk into a native .vdi file via a .bin intermediate file, but there’s really no need, so that’s not an option I’ve experimented with.

I’ll probably stick with using VMware Workstation (having paid for it, after all!), but there’s something to be said for having your virtualisation technology available from the repositories… so we’ll see!

Squeeze and VMware Workstation

If you’re running Debian Squeeze (x64) and trying to install VMware Workstation (7.1), you may run into difficulty post-installation where it perpetually warns you about not being able to find kernel headers and the like. Here’s the fix for that.

First, if you haven’t already, become root and issue this command:

aptitude install gcc make binutils

Next, make sure you’re fully updated (aptitude update will take care of that) and that you have rebooted after the update. That way, you know for certain that you’re using the latest kernel. Finally, issue this command:

aptitude install linux-headers-`uname -r`

Those are ‘back ticks’ around the “uname -r” bit (usually found, on US keyboards at least, above the tab key, and left of the ’1′ key in the main part of the keyboard). They cause the command uname -r to be executed and the value it generates to be passed back to the rest of the aptitude install command. This way, you ensure you’re installing the version of the kernel headers which precisely matches the version of the kernel you’re actually using.

After that, just run Workstation as normal and it should detect everything normally and offer to compile some kernel modules -and once that’s been done, the thing should run fine.

Change number of Virtual Desktops

Debian 6 (“Squeeze”) only uses two virtual desktops by default -which means, if you enable the Desktop Cube, you actually end up enabling the Desktop Plane!

In the old days, you’d solve this problem by right-clicking the virtual desktops applet in the bottom panel, click Preferences, and change the number of virtual desktops there (to four, if you want a proper cube back!):

As you can see here, however, you now only get an option to adjust the number of rows the virtual desktops are displayed in, which isn’t the same thing at all, and which has no effect on the number of virtual desktops which exist in the first place. So that option’s not on these days. Where else can you do the deed, then?

Well, if you want desktop cubes, you are presumably running Compiz desktop effects. And, if you have any sense, that means you’ll have installed the CompizConfig Settings Manager (System → Preferences → CompizConfig Settings Manager menu options if so). At the very top of that application is an item for General Options -and that, in turn, has a tab for Desktop Size. Click that, and bump the Horizontal Virtual Size up to 4:

Job done: