Archive for the ‘Distributions’ Category

CentOS 5.3, yum update fails?

I’m a big CentOS fan. I think servers these days should either be Ubuntu Servers or CentOS based, and nothing else, if you’re going the Linux route.

CentOS 5.3, on the x86_64 platform, seemed to have an issue where yum would cause a traceback, with file.x86_64 0:4.17-15.el5_3.1. There is a bug open for it, but it apparently doesn’t happen on all systems.

The magic around this is to really just run yum clean all, and then run yum update. What that basically does is it cleans all packages that are cached in the system, as well as removes all header files used for dependency resolution.

I haven’t heard jokes about RPM hell in a long time… I am thinking that its mostly disappeared, and largely this is thanks to dependency resolution provided for by yum.

KDE 4.2 brings the MySQL server to the desktop

If you’re using Fedora 10, and are a KDE desktop user, you’ll notice that your latest KDE 4.2 update, requires having a local MySQL server installed. This is due to Akonadi, part of the KDE PIM packages, that now rely on MySQL as a default server, for storing PIM data. Just a few months ago, I mentioned the news that Amarok 2 will also use MySQL as a default database.

Akonadi uses MySQL mainly as a cache, not as a data store. This is something that Debian users will also see. Eventually, anyone with KDE 4.2 will see the requirement to have a MySQL server installed. If you already have a native installation of MySQL provided for by your distribution (maintained by RPM/DPKG), it naturally won’t be installing another copy – it just uses the system-wide version.

Not everyone is happy. Especially those that use netbooks, with limited disk space. Reading Reducing the MySQL 5.1.30 disk footprint by Ronald Bradford might help in that respect – there are ways to reduce up to 25% of the space.

However, from a MySQL perspective, and as a member of the Sun Database Group, I am happy to see the ubiquity of MySQL, on the Linux desktop.

For the technical folk amongst you, its worth looking at the akonadi spec file:

BuildRequires: mysql-devel
BuildRequires: mysql-server
..
# when/if akonadi grows support for other backends, consider splitting
# these similar to how phonon is done currently.
Requires: qt4-mysql
# not *strictly* required, but we need a functional default configuration
Requires(hint): mysql-server
..
%{summary}.
Requires an available instance of mysql server at runtime.
Akonadi can spawn a per-user one automatically if the mysql-server
package is installed on the machine.
See also: %{_sysconfdir}/akonadi/mysql-global.conf

Debian releases Lenny, MySQL 5.1 soon

Congratulations to the Debian team for releasing Debian GNU/Linux 5.0 Lenny on Valentine’s Day. This version comes with MySQL 5.0.51a.

I had been pestering Norbert Tretkowski to see when MySQL 5.1 will move from experimental to main, and he told me once Lenny was released. This is because Debian itself needs to make a library transition from libmysqlclient15 to libmysqlclient16, and every package that links to libmysqlclient will need to rebuild against the new version. It couldn’t be done any earlier, and now that Lenny is released, we should start seeing MySQL 5.1 in Debian/unstable, real soon now.

So, if you’re a Debian user, know that you have 5.0.51a in stable (Lenny), 5.0.75 in unstable, and 5.1.31 in experimental.

Switcher Guides

Recently, I had to futz with an Ubuntu server that was to run mail, web, and database services.

You slowly learn that Ubuntu as a desktop is easy to use, but as a server, its “different”, if you come from a Red Hat based background (especially if you’ve been using Red Hat-based distributions for the last thirteen years or so).

From example, while service httpd start works (well, the equivalent is service apache start), enabling things on boot using chkconfig (I wrote about it a while back) is replaced with update-rc.d.

In fact, if you’re an rpm aficionado, dpkg is a little different. I applaud the Ubuntu folk for creating an article such as Switching to Ubuntu from Red Hat Enterprise Linux or Fedora. Impressive. Switcher guides :)

OpenSolaris needs switcher guides. svcadm/smf is different for someone who’s coming from Linux-land.

workbench-5.1.1-alpha on Fedora 9

So, you want to compile Workbench for Linux, on Fedora 9. You need to install the following packages:


autoconf automake libtool libzip-devel libxml2-devel libsigc++20-devel libglade2-devel gtkmm24-devel mesa-libGLU-devel mysql-libs mysql mysql-devel uuid-devel lua-devel glitz-devel glitz-glx-devel pixman-devel pcre-devel libgnome-devel gtk+-devel pango-devel cairo

I feel I’m being too liberal with dependencies, but I’m not about to strip it, I just want to get it working first :)

You need to have ctemplate and ctemplate-devel installed from updates-testing-newkey (relevant koji build log).

By default, configure.in in Workbench looks for “google-ctemplate”, as opposed to just “ctemplate” as Fedora calls it. You can fix this (easy), or “cheat” – in /usr/local/include you can do sudo ln -s /usr/include/ctemplate google. Take your pick.

Now for the fun. Fedora includes gcc-4.3. Ubuntu ships gcc-4.2. Let’s just say gcc-4.3 got stricter (its C++ header dependency streamlining related). So strict, they have a useful porting to gcc-4.3 guide. Just FYI, I believe OpenSUSE is also shipping a more modern GCC (I expect the next Ubuntu release in the coming month to do the same).

So, start getting used to doing the following in files that lead the compiler to fail:

  • #include <cstring>
  • #include <algorithm>
  • #include <memory>
  • #include <climits>
  • #include <cstdlib>

This will help get rid of error messages like: error: 'memset' was not declared in this scope. This stuff is already fixed in trunk (or the patch is being applied).

You will need to pick up cairo from source. Why? Because --enable-glitz isn’t on by default in the RPM spec file (similar with Ubuntu). The glitz backend is apparently still a release preview and doesn’t fully work yet. (I have spoken to Alfredo, and he says he’s just removed the requirement on glitz in trunk).

Now, once you’ve built cairo with glitz, before running ./autogen.sh, do: export PKGCONFIG_PATH=/usr/local/lib/pkgconfig. Then go ahead and make it.

There are still plenty of warnings that spew by. I have this vague idea that once Workbench for Linux sits on Launchpad, we’ll run a janitorial tree that fixes warnings in the code. A great way to garner community contributions!

Anyway, a lot of this is either fixed or patches will be applied to trunk. I expect a mysql-workbench-5.1.2-alpha out sooner than you think to eclipse 5.1.1-alpha. Again, superb work Alfredo (and MikeZ and the rest of the GUI team).

Spacewalk, and what we can learn about naming

Red Hat releases Spacewalk. It is described as: “the upstream community project from which the Red Hat Network Satellite product is derived“. Congratulations to all whom have worked on it, especially my friends who tired endlessly over it in the past.

Red Hat, is sticking true to its promise, of open sourcing everything they make. Best of all, they recognise Fedora (they always did, since say, Fedora Core 2 or 3), CentOS (a direct “competitor”/rebuild of RHEL), and Scientific Linux (I know of a certain university’s sysadmin who will be blessing Spacewalk, as her life will now be a lot easier).

There have been a few blogs about it… Matt Asay asks about a community (Red Hat traditionally wasn’t good at this, but with Fedora, I believe they’ve learned, and I’m happy to say I think, I helped in the education process). No one however, focused on the technical aspects around Spacewalk/RHN.

Case in point: Oracle is at the heart of it. RHN was designed almost seven years ago, and I’ve heard amazing stories from Gafton, Greg, and Peter. How Gafton found hidden “secrets” inside Oracle to boost performance, and a whole bunch of interesting things, best to talk about over a beer (the irony? When I first met these folk, I couldn’t even legally drink a beer in the US…)

Read the Developer Documentation, note that they use Perl, Python and Java in the current code base (but only Perl and Java is the way forward). There’s a DB Schema available… and I wonder when someone will port this to MySQL?

The Spacewalk FAQ mentions the lack of resources in the past to add an open source database, but would want to do so soon. There’s even help on getting Oracle XE running. The glimmer that there is to be an open source database behind Spacewalk, is what tells me that the MySQL community, that benefit from such a tool (so you’re a DBA and a sysadmin at a fairly largeish installation), should port this to run on MySQL.

What else can we take away from Spacewalk? The excellent positioning. A community project from which the RHN product is derived. This is similar to what Fedora is positioned as: Another striking difference of Fedora is our goal to empower others to pursue their vision of what a free operating system should be like. Fedora now forms the basis for derivative distributions such as Red Hat Enterprise Linux , the One Laptop Per Child XO and Creative Commons’ Live Content DVDs.

Distinctive naming. Helps create a lack of confusion (at the price of an ubiquitous name? Sure, you just have two ubiquitous names now). MySQL Enterprise vs. MySQL Community. They’re both MySQL (don’t even get started on the odd/even numbering scheme…). I dream the day, when we have MySQL Enterprise and Sakila (formerly known as MySQL Community).

Secure travelling with ipfw on OS X?

Dear (mac/bsd) Lazyweb,

Any idea how I can do the following, on Mac OS X?

iptables -t nat -A PREROUTING -p tcp -d my.pop.server –dport 110 -j DNAT –to-destination 127.0.0.1:1235
iptables -t nat -A OUTPUT -p tcp -d my.pop.server –dport 110 -j DNAT –to-destination 127.0.0.1:1235

Does ipfw(8) work in OS X? What magic will I have to use for this to work? All I really want is for my.pop.server:110 to point to localhost:1235, so if the SSH tunnel isn’t up, I can’t POP my mail. I wrote about this in Secure travelling tips with iptables and SSH port forwarding, as that’s what I do on Linux.

Why do I ask? I’m thinking that my personal laptop (currently a Dell Inspiron 640m running Linux) might actually be replaced with a MacBook Air in the near future (lighter, easier to carry, etc.). Oh, if you have comments about the Air, don’t hesitate to tell them to me as well.

Students: OpenSolaris, NetBeans blogging contest

As some of you would have recently noticed, I’ve started playing around (I can’t really say using, seeing that its still not a daily basis kind of thing for me yet) with OpenSolaris and NetBeans. Now, Sun is encouraging students to use, review, and blog about these two great products – check out the student reviews contests.

If you’ve not tried OpenSolaris 2008.05, you should probably give it a twirl. Sure, I’ve not installed it on bare metal hardware yet (I’ve been travelling so much, I’m not anywhere near machines), but it works fine inside VirtualBox. NetBeans is great if you’re writing Java, Ruby, PHP, and are connecting to a database – Connector/J for MySQL is shipped with it. If you were trying it out, take a look at the NetBeans+GlassFish+MySQL bundle.

So, students out there, take a look at the Student Reviews Contest. You have till June 6, 2008. There’s your chance to win anywhere between $100-$250 (USD?), which really means a lot of beer ;)

(and here’s hoping we run something similar when MySQL 5.1 is GA… we used to run bug finding contests where we used to give away iPod Nano’s, though I think Visa Debit Card’s are so much more useful than iPod’s…)


i