Installing Percona Server 5.1 on Lucid (and after MariaDB)

I installed MariaDB 5.1 onto a server. It worked well, but I wanted to move towards Percona Server, looking towards the future and possibly later using Percona XtraDB Cluster.

My first attempts at doing this involved removing the APT repository for MariaDB and adding one for Percona DB:

deb lucid main
deb-src lucid main

Trying to install percona-server-server-5.1 and percona-server-client-5.1 with libmysql16 didn’t work. The command complained that there were unmet dependencies: mysql-common. According to Bug #877018, an install of the Percona Server version of libmysql16 was needed.

Turns out that my version of libmysql16 was a MariaDB version, not a Percona version – and the Percona version wasn’t to be installed:

# apt-cache policy libmysqlclient16
  Installed: 5.1.62-mariadb115~lucid
  Candidate: 5.1.62-mariadb115~lucid
  Version table:
 *** 5.1.62-mariadb115~lucid 0
        100 /var/lib/dpkg/status
     5.1.61-rel13.2-430.lucid 0
        500 lucid/main Packages
     5.1.61-0ubuntu0.10.04.1 0
        500 lucid-updates/main Packages
        500 lucid-security/main Packages
     5.1.41-3ubuntu12 0
        500 lucid/main Packages

Forcing the install of the proper version of libmysql16 took care of that:

# apt-get --reinstall install libmysqlclient16=5.1.61-rel13.2-430.lucid
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
The following packages will be DOWNGRADED:
0 upgraded, 0 newly installed, 1 downgraded, 1 to remove and 3 not upgraded.
Need to get 3,691kB of archives.
After this operation, 6,259kB of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
Install these packages without verification [y/N]? y
Get:1 lucid/main libmysqlclient16 5.1.61-rel13.2-430.lucid [3,691kB]
Fetched 3,691kB in 16s (231kB/s)
(Reading database ... 100664 files and directories currently installed.)
Removing libmariadbclient16 ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
dpkg: warning: downgrading libmysqlclient16 from 5.1.62-mariadb115~lucid to 5.1.61-rel13.2-430.lucid.
(Reading database ... 100657 files and directories currently installed.)
Preparing to replace libmysqlclient16 5.1.62-mariadb115~lucid (using .../libmysqlclient16_5.1.61-rel13.2-430.lucid_i386.deb) ...
Unpacking replacement libmysqlclient16 ...
Setting up libmysqlclient16 (5.1.61-rel13.2-430.lucid) ...

Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

However, there were parts of the MySQL installation that were not accounted for by the removal of MariaDB nor by the installation of Percona Server. Removing these would also remove everything that depended on MySQL server – and Percona Server could not be installed until they were removed. I took care of this impasse by incorporating them into a single `apt-get` command using the syntax to remove and add packages at the same time (note the plus and minus package suffixes):

apt-get install mysql-client-core-5.1- percona-server-client-5.1+ percona-server-server-5.1+ mysql-server-core-5.1-

After a copious amount of output, this final command took care of everything: Percona Server was live. I restarted things that might have broken with MySQL going down and all was well with Percona Server 5.1.

Getting Java Working in Chromium in Ubuntu Lucid Lynx

I recently found myself needing to have the Java plug-in working on Ubuntu. I had been using Google Chrome, and thought that installing Chromium from the standard repositories would fix it – not so.

After some research, I found this article about getting Java working on Ubuntu 9.04 with Chromium. Strangely (or perhaps not) things have not changed in Ubuntu 10.04.

The simple description is the following:

  1. Find libnpjp2
  2. Place a copy of libnpjp2 in Chromium’s plugins directory: /usr/lib/chromium-browser/plugins
  3. Make sure that libjavaplugin* is removed from the plugins directory.
  4. Restart Chromium if necessary.

In the case of Ubuntu 10.04, I found libnpjp2 to be part of Sun’s JRE (and in the sun-java6-bin package):

dgd@cor$ dpkg -S $(locate libnpjp2)
sun-java6-bin: /usr/lib/jvm/java-6-sun-

You can test the results by going to Sun’s Test Page.

Looking at Ubuntu’s bug lists, this bug is related to getting IcedTea Java plugins working. The Google Chromium folks noticed this as well in a bug report of their own.

The problems with IcedTea are related to the fact that the plugin is either in a unsupported plugin format, or more recently, linked against libraries that are not found when running Google Chromium.

Sun’s JDK with works just fine; I’ll stick with that.

Ubuntu TestDrive: Try a Ubuntu Prerelease…

Lifehacker had a story about the Ubuntu TestDrive project.

With Ubuntu TestDrive, you can try an alpha or beta release of Ubuntu (Lucid Lynx – 10.0 – at this time) without affecting your current installation. Ubuntu TestDrive is a set of ISOs that can be run in a VirtualBox or KVM virtual machine.

To use Ubuntu TestDrive on an already installed Ubuntu Lucid Lynx, just use apt-get:

sudo apt-get install testdrive

Alternately, you can install Ubuntu TestDrive onto Hardy Heron, Intrepid Ibex, Jaunty Jackalope, or Karmic Koala this way:

sudo add-apt-repository ppa:testdrive/ppa
sudo apt-get update
sudo apt-get install testdrive

This adds the repository and provides updates whenever the ISO packages are updated.

Currently, TestDrive doesn’t work with VMWare, but it is on the list of things to do. Personally, I like VirtualBox these days – it supports Linux, is easy to use, has an open source version as well as a commercial version with support.