Archive for the ‘Distributions’ Category

Sun xVM VirtualBox is released!

Sunday, May 4th, 2008

VirtualBox 1.6 is out. Note that now you can use Mac OS X and Solaris as a host platform. Naturally, having Mac OS X support excites me.

I tried installing a Ubuntu 8.04 server guest. Found a tiny issue - 64-bit guests aren’t supported yet :( So I pulled in the 32-bit ISO, and that installed just fine. Note that PAE support for guests exist now, and this is a good step in the right direction.

Sun’s building an OpenxVM community, which currently focus on xVM and xVM VirtualBox. It also harnesses technologies like Open Service Tag. All in all, I think a lot of MySQL users should be interested in virtualization, as there is a growing amount of hardware out there with many, many cores available for use.

Installing Ubuntu 8.04 server and getting past the kernel not booting
This is more of an Ubuntu problem, than a VirtualBox problem, but I faced an issue:

The kernel requires the following features not present on the CPU
0:6
Unable to boot - please use a kernel appropriate for your CPU

Turns out, the problem was the wrong kernel was installed. Rescue Ubuntu, and install linux-generic. For reference, look at Unable to boot 8.04 Alpha 3 Server install on laptop and also the fix.

Ian Murdock on OpenSolaris… And Beyond

Sunday, April 13th, 2008

I paid great attention to Ian Murdock’s talk at LugRadio Live USA 2008, as he’s an important person at Sun in terms of the open source community, and I’m community facing as well. It was also the first time I got to meet Ian (after his talk), and we hit off a conversation really quickly. I look forward to working alongside Ian more… Now to the talk notes.

A Bit About Ian
- Linux user, developer, and advocate since 1993
- Founder of Debian, co-founder of Progeny
- Joined Sun in March 2007, Chief OS strategist (launched Project Indiana), and now since February 2008 is VP Developer and Community Marketing

What’s a Linux guy doing at Sun?
- When people say they want Linux… they don’t actually mean that they want Linux. You don’t only want the kernel, but you want the userspace as well. You really want a distribution, not Linux itself. Ian is more of an open source guy. So create a business model behind OpenSolaris?
- Solaris ships all userland utilities you’d expect from Linux. GNU Utilities vs. UNIX Utilities. Where the real differentiation is, is Linux Kernel vs. Solaris Kernel.
- Its the kernel where you drive change for the OS. Look at ZFS, Dtrace, containers, etc.
- Linux has multiple configurable platforms with expanding ecosystems. OpenSolaris, is an integrated operating system, with binary compatibility.
- Where Sun wants to go with OpenSolaris? Have binary compatibility in the core platform, and have the expanding ecosystem in it.
- Project Indiana has Solaris innovation with the “distribution” model of the Linux world, i.e. have package repositories. Also, to close the “familiarity gap” so that there is a GNU userland, a package management system, etc. And of course, focus on the unique Solaris capabilities - upgrade rollback via ZFS snapshots, AMP stack with integrated DTrace probes (MySQL in OpenSolaris Developer Preview 2 already has this capability), binary compatibility, etc.
- Remember, people deploy what’s accessible to them. This is a whole new deployment model. This is how Linux got into the Enterprise. This is the reasoning behind OpenSolaris… Solaris itself is great in the Enterprise, but lacks a user community. Follow the Linux (and largely, Microsoft) model…
- One Solaris Platform, two delivery mechanisms - Solaris: enterprise class, support, long release cycle (3-5 years); OpenSolaris: latest Solaris innovations, short release cycle (6 months), much easier to use, network economy, support from Sun also
- Adoption-Led Market is what its at now. Users become customers. Give users something of value. That’s the basic business model at Sun, around open source.
- Volume drives value! New consumers/communities on the network will drive infrastructure demand. Reach the developer community through massive volume, get it in use as many places as possible, then sell software/storage/servers/services/etc.
- Just spent $1 billion on MySQL. Databases are often deployed on other middleware, say identity management. Sun sells identity management software.
- Developer platforms of choice are moving up the stack. Traditional Sun platforms are increasingly invisible infrastructure. New platforms remove barriers to entry and hide complexity so developers can focus on getting to market quickly.
- Remember, no one “owns” the web. The Web 2.0 world is like open source in the 90s.
- Hot new platforms are silos - you write your application to Google APIs or Amazon APIs and there’s only one place to deploy it. Sun is a leader in open standards for 25 years, how do you take this leadership into the new platform world? One needs the ability to deploy on a number of different platforms, and take your application from one to another. Sun strategy?
- Where do down the stack technologies, like operating systems, fit? Do they still matter? Yes.
- Solaris 10 is free today (you just have to register to get it)

On the packaging system
- OpenSolaris package system is new. Needed to build own for a few reasons, despite studying apt/yum/conary.
1) platform is very different from Linux; use ZFS and you get rollback, and this is Solaris specific
2) zones/containers, single shared kernel, multiple application environments, which is intelligent for resource sharing, and the package system is fundamentally aware of zones
3) an opportunity to innovate; Sun’s all about innovation. Package managers haven’t changed much in over 10 years (apt, yum)
4) the notion of customisation, i.e. have a version control like facility for patches, etc. so that changes can be reconciled when you rebase with upstream, is something the new package management system can use. This is kind of like Conary?
5) All customers tend to customise, even (especially) in Enterprises. IPS helps them (refer to 4)

Questions & Answers
- OpenSolaris and Solaris, how is it in sync? Codebase is in sync, generally. Solaris 10 is one codebase, and there’s a development version (i.e. the next release). There is a Solaris “train” and an OpenSolaris train now. How will these two trains come together? Solaris Next based on OpenSolaris? OpenSolaris with Enterprise support? Questions that are being asked now, and there’s no real decision yet. Wait till 2-3 OpenSolaris releases first, before finding out more.
- What is Sun doing to make OpenSolaris work better in a virtualized environment? I.e. working better in Xen, QEMU, VMWare, etc. Linux naturally has better device support than OpenSolaris, so virtualization is very important. Mentions the innoTek purchase, so that VirtualBox could be used for bundle delivery.
- Is Linux and OpenSolaris in par, security wise? Solaris has a slight edge at this point… They’re fairly comparable, but there’s more maturity in the Solaris product.
- OpenSolaris on PowerPC - unknown status, there’s been some work at Sun Labs to port it to PPC, you can boot it and do some basic things, but unsure if its ready for users or not.

Technorati Tags: , , , , , , , ,

DtTace, Web 2.0, Java, AJAX, PHP and the rest

Saturday, March 8th, 2008

No, its not alphabet soup. Just some notes from the session at the Sun Tech Days. I’ve not looked at DTrace much (my only look into instrumentation, has been from SystemTap, which doesn’t deal with applications), but plan on doing so soon… I’ve managed to get OpenSolaris Developer Preview 2 installed in VirtualBox, so it can only start being more fun from here…

Want to learn more about DTrace and MySQL? Then come to the MySQL Conference & Expo 2008, in Santa Clara, California, because on Thursday, Ben Rockwood, from Joyent, will be presenting a session on DTrace and MySQL (read the abstract, its good). The talk covers the fact that you can get useful information currently, even without the embedded probes in current versions of MySQL. For more DTrace and MySQL tips, don’t hesitate to read Joyeur, Joyent’s weblog.

DtTace, Web 2.0, Java, AJAX, PHP and the rest (notes from the talk)
by Peter Karlsson, Solaris Technology Evangelist

DTrace now has providers for a large number of languages: JavaScript, Java, PHP, Python, Ruby. Perl is on the way.

MySQL 6.0 will have DTrace support; PostgreSQL already has this in Solaris currently. If building from source, there’s a flag that needs to be enabled. A lot of work was done thanks to a community member.

You need a Solaris kernel. Ported to OS X and FreeBSD. Supports “dynamic instrumentation”. D is the dynamic language, used to script instrumentation

Very common request? Find how much time is spent in a given function. The thread local variable (self->variable = expression;) - nowadays, you can be running two threads coming down in the same function call. DTrace - so this is great for multi-threaded debugging.

PHP doesn’t have DTrace integrated, so, get the Coolstack PHP.

DTrace probes have been added to Mozilla to help debug JavaScript applications. This is available in Firefox 3 (in beta now). There is also a generic DTrace framework, that isn’t just JavaScript only - the networking parts of Firefox, to look at how DNS lookups work, etc. all can be instrumented via DTrace.

Further reading? DTrace and PHP, demonstrated.

Technorati Tags: , , ,

Eeedora Impressions

Thursday, January 31st, 2008

Being the long-time Linux user that I am, there was no way I was going to be satisfied with Xandros, which is the stock Linux that ASUS ships with the Eee PC. I was stuck for choice between Ubuntu and Fedora, and after some careful evaluation, I decided that Fedora, was right for me.

Getting Eeedora, was pretty straight-forward. The installation wiki is pretty accurate when it comes to the “how” of installing Eeedora. For me, it was made easier that I had a Fedora system already, so I could run the tool to create Live CDs from the livecd-tool package.

One snag I noticed, and this is more with the Live CD script, is that when you don’t have a bootable USB thumb drive, it tells you that, but doesn’t quite tell you it didn’t make an installation on the thumb drive. I guess the script could be more idiot-proof. Anyways, making the drive bootable is easy.

Now, once that was done, it was on to installing on the Eee. I ensured that in the BIOS (accessed via pressing F2), the first boot device was the USB thumb drive attached to the system at boot-up. However, it was never booting into Eeedora, and I only managed to see the Xandros start up. Highly disappointing.

Turns out, that hitting the Esc key was the magic sauce, during boot-up. Only when doing that, was I given a boot menu, and then I could choose if I’d like to boot off the internal SSD, or the USB thumb drive. Once that was sorted, I was pretty happy to see a familiar Fedora-looking screen (sure, it said Eeedora, for legal reasons, but I think its a pretty darn good spin :P).

The installation process went on pretty smoothly. During partitioning, I was pretty much rid of Xandros - the chosen default was actually the most sensible. Just one / partition, filling up the entire disk, with no swap. As usual, anaconda (the Fedora installer) will warn you that not having a swap partition will be detrimental to performance - I wonder how many newbies might decide to create a swap partition (kind of a big no-no, on these SSD based devices).

One thing I did notice was the use of ext2 partitioning as opposed to a journalled filesystem like ext3. The natural question then comes to mind, as to why not just use jffs2?

Once the filesystem partitioning was sorted, and GRUB was chosen as the default bootloader, anaconda proceeded to install packages. This was a fairly speedy process, and once that was complete, it was a simple reboot, and I was booting off the SSD before I knew it.

You’re logged in by default as the eeedora user. You get a stock XFCE4 environment (or stock, that I would think anyway), and it comes with the basic utilities you need to get working (Firefox, wireless, etc.).

There were some things I obviously did not like, so decided to poke a little further. First up, was creating a user, that was not”eeedora”.

Dissecting the .bash_profile of the eeedora user, I noticed some things:

  • pulseaudio -D - pulseaudio as a daemon for the user? Why, sound seems to work just fine on my Eee without it
  • xsetroot -solid steelblue - seems OK, but not actually required anyway
  • startxfce4 - if you want a GUI the moment you login, this is useful. But it only really works out well, because of the hack in /etc/inittab that says c7:12345:respawn:/sbin/mingetty –autologin=eeedora tty7. Seeing that I disabled autologin for the eeedora user, I pretty much see a login screen, and startxfce4 manually. Sometimes, I can actually get away with working in just a shell… However, I can see this from a usability point of view, I guess. Of course, the other issue is that the eeedora user, does not actually have a password!
  • Logging out of XFCE4 and going back to the console, immediately triggers a machine shutdown. This seemed counterintuitive.

Needless to say, I disabled all this, in my new user account, as well as disabled autologin in the inittab.

Why XCFE4? Its a 900MHz Mobile Celeron processor, deliberately underclocked to 600MHz, with 512MB of RAM. This is the kind of environment, that can run GNOME. And when we notice problems with GNOME, its time we fixed it. Heck, I have an almost similarly configured IBM laptop, without PAE, that runs GNOME just fine!

I must commend WiFi Radar - this is something that pretty much, just works. And its small. It looks unmaintained, sadly, so its probably time to take an interest in it. Fn+F2 enables and disables wireless very well. I do however notice that even with the wireless disabled, the WiFi light (in blue), remains turned on. I find this to be rather quaint, and must prod it further.

Brightness control (Fn+F3/Fn+F4) seem to work well in Xandros, but I can’t seem to replicate such joy in Fedora. There is absolutely no reason why this shouldn’t work. It does annoy me, because its sucking precious battery life, from my usage of the Eee, by keeping it nice and brightly lit, when I’m on the battery.

Suspend and resume, just work. And because we’re dealing with an SSD, it just works, really fast as well. Sure, when I open up the screen of my Eee, I actually need to press the power button to get it to resume, but this kind of behaviour is perfect for me.

Do I like recompiling all the magic in /root/eee-setup, everytime I get a new kernel? No. Speaking with Dave Jones though, there is an expectation that all the drivers will be available in F9. Kudos.

Webcam? Works fine when I run lucview. Doesn’t work with the Skype beta that I get from the Skype download site. No idea what is missing, I just feel a bit bummed that I’ve got to find the solution to this issue at some stage soon.

As an install report, I think this does, just fine. Its now just time to hack on the distribution, to get it to the way I want it to work.

CentOS, CentOSPlus, and MySQL versions shipping there

Wednesday, January 16th, 2008

Peter posted that CentOS comes with a build of MySQL Enterprise. It should really be clarified that CentOS itself, comes with MySQL Community, as does Red Hat Enterprise Linux. On RHEL5/CentOS5, you’ll see:

mysql-5.0.22-2.2.el5_1.1
mysql-server-5.0.22-2.2.el5_1.1

The above are the default packages that CentOS provides. However, what Peter really is referring to is the CentOSPlus Repository, which by their own admittance is “not part of the upstream distribution and extend CentOS’s functionality at the expense of upstream compatibility. Enabling this repository makes CentOS different from upstream.”

The idea behind providing Enterprise builds, largely came from RHBZ#230412: No src.rpm available for mysql. Red Hat provides something called the Web Application Stacks product (RHWAS), in where they include MySQL Enterprise, amongst other software packages, and they charge for support (that differs from buying just a RHEL license). Max Spevack answers it pretty well, as this is the response he came to, after talking to folk at MySQL.

Its worth noting that CentOSPlus does not use Enterprise tarballs/SRPMS, but use sources from the BitKeeper tree. Its worth noting, that at the time of this writing, CentOSPlus does not include Enterprise RPMs for CentOS 5, just CentOS 4. Its also worth noting that patches are being applied, that are out of tree, to the RPMs. A snippet from the RPM changelog (rpm -q –changelog <packagename> if you must):

* Mon Dec 24 2007 Johnny Hughes <johnny@centos.org> 5.0.54-1.el4.centos
- upgraded to the 5.0.54 Enterprise BK tree. Removed patches that are
already incorporated into 5.0.54.


- added mysql-5.0.52-mysqldump-hang-33057.patch for mysql bug #33057


- added mysql-5.0.50-openssl-handshake-33050.patch fo mysql bug #33050


* Sun Dec 23 2007 Johnny Hughes <johnny@centos.org> 5.0.48-3.el4.centos
- modified the process of obtaining the Enterprise Sources to using bkf and
downloading directly from the MySQL Enterprise BitKeeper tree.

So, definitely interesting times. If you hit a bug, you might be wondering if its an upstream bug, or something that was provided by your packager. Of course, this is what is so great about the MySQL community - the ability to do just this! Currently, against 5.0.54, CentOSPlus is shipping 2 patches, with a few extra source packages that don’t come with regular tarballs. Will this number grow? Just remember, the “Enterprise” version you get in CentOSPlus is not “MySQL Enterprise”.

Technorati Tags: , , ,

Zimbra claims ZCS 5.0 issues are the fault of CentOS

Tuesday, January 8th, 2008

If CentOS (and by the same vein, Oracle Enterprise Linux) claims compatibility with RHEL, why is Zimbra saying that the issue with ZCS 5.0, Scalar::Util, and Perl, is caused by CentOS?

QA’ing against RHEL, and not CentOS is expected, but saying there’s no compatibility between CentOS and RHEL, sounds like a bit of a fib, don’t you think?

Even better, the recommendation to use Ubuntu. Will there be a LTS release, at some stage soon? It looks like Canonical are behind schedule for another LTS release…

Technorati Tags: , , , , , , , , ,

Skype Video, and a Logitech webcam

Saturday, January 5th, 2008

Was hardware shopping yesterday, and couldn’t resist getting myself a webcam, now that Skype 2.0 on Linux supports it (okay, its beta, but it works). Picked up a Logitech QuickCam Family for RM65. There was a more expensive version (RM10 more) that was “Skype certified”, but I figured I could save the cash, seeing that there is no way Logitech supports Linux officially anyway.

Did it work with Linux? Most certainly, on Fedora 8, it just worked. Of course, you need the livna repository. Just install gspca (it’ll pull in some kernel modules too), and then run modprobe gspca, and voila! you have a working webcam. Tried it with Ekiga, it was detected. Tried it with Skype, and even had a chat, with a user on Windows, and it worked. Glad to be webcam enabled.

Technorati Tags: , , , , , , ,

Zimbra ZCS 5.0 GA - is it really a GA release?

Friday, January 4th, 2008

I took the opportunity today evening to get myself upgraded (from 4.5.3_GA_733) to the latest (5.0.0_GA_1869) open source version of Zimbra - ZCS 5.0 GA. The database migration took about the longest, mainly due to some schema changes. Lots of starts and stops to the database. Its now running MySQL 5.0.45 Community.

What prompted the upgrade? A few days ago, I got a bunch of new packages, and rebooted the server (new kernel). To my dismay, Zimbra started to have issues - amavisd wouldn’t start. This meant that there was a large amount of mail, sitting in the queue, not being delivered. Things you don’t normally check for, immediately, anyway.

Turns out Compress::Zlib was too old. Well, not the system provided Compress::Zlib, but the Zimbra provided Compress::Zlib. Kind of annoying when there are two packages of software, sitting on your system, right? However, the benefits of having an easy-to-administer and use mail system, somehow I think outstrips all the pain associated.

I found the web interface in ZCS 4.5.3 to be a bit limited, even when logged in as an administrator. There was absolutely no way to restart, failed services. For this, I actually needed to login via SSH, and use zmcontrol. Running SSH on a non-standard port, and not having your laptop nearby (or remembering the non-standard port) can allow you to have some fun :)

So after fixing ZCS 4.5.3, and realising that it had some gaping holes, I decided to upgrade. The upgrade process went on pretty smoothly, till I saw:
Updating from 5.0.0_RC3
5 is only avaliable with the XS version at /opt/zimbra/zimbramon/lib/IO/Socket/SSL.pm line 30
BEGIN failed–compilation aborted at /opt/zimbra/zimbramon/lib/IO/Socket/SSL.pm line 30, <DBCONFIG> line 21.
Compilation failed in require at /opt/zimbra/zimbramon/lib/Net/LDAP.pm line 970, <DBCONFIG> line 21.

This has largely got to do with the RHEL4 supplied Perl, as referenced by zimbra bug #22466. However, it seems that it was fixed in 5.0.0_GA_1809. Problem still seems to be around in 5.0.0_GA_1869. Verified that it existed - /opt/zimbra/zimbramon/lib/i386-linux-thread-multi/Scalar/Util.pm (and was newer than the version on the system). Verified that Zimbra saw it too - check out .bashrc in /opt/zimbra (the home directory for the zimbra user) for the various PATHs that Zimbra sees/requires. However, I was running this install, not as the zimbra user, so the Perl PATHs had to be specified.

Specifying the Perl PATH, also didn’t help. The forums mentioned just installing from cpan, Scalar::Util and letting the install progress. It still failed.

I thought I’d try a clean install. By golly, it failed on RHEL4. An upgrade of a clean install from ZCS 4.5.10 also failed. I’m almost convinced that Zimbra spent very little time QA’ing ZCS on RHEL4. Sure, RHEL5 probably works a charm, but the drive of enterprise software is not upgrading the OS too often. This is where I can so see, FreeBSD succeeding - pity there isn’t an official Zimbra/FreeBSD port.

For fun reading, check out their forums: [SOLVED] Big Fubar on 5 FOSS GA Upgrade (how was it solved?), Upgrade 4.5.7 -> 5.0 GA Failed, centos4 upgrade to 5.0 errors. I’m sure this magical list can go on and on. All purported solutions generally, do not work.

Moral of the story? Even with backups, don’t try upgrading Zimbra on a production box. Be prepared to cry, a lot.

Technorati Tags: , , , , , ,