I have updated the Zabbix 1.6 packages in my PPA to 1.6.1. I’ve enabled Intrepid builds next to the Hardy builds for maximum coverage 😉 As soon as Jaunty because a valid target for Launchpad, I’ll start including builds for that platform as well.

Zabbix 1.6.1 for Centos 4.x

We‘re not always able to use the latest and greatest version of a Linux distribution. Being consultants, we’re usually dropped in an already-deployed environment, where the let’s-upgrade-the-distribution step is not desired or just plainly impossible without breaking everything that’s deployed on it.

This was the case recently, where we had to deploy a Zabbix server on a CentOS 4.x environment. We opted for Zabbix 1.6.1 for several reasons.

We try not to reinvent the wheel when possible, so I grabbed the RPM for CentOS 5 here. Usually this just compiles on Centos 4 without any issues. Not in this case though.

I’ve cooked up 3 small patches to fix the issues that kept Zabbix 1.6.1 from building on our platforms.

Grab them here, here and here. You might want to use this spec file ( based on the one from OCJTech ) as well!

In short, this disables jabber support ( which doesnt work anyways, you need to let an external script do the work! ), updates snmp support to handle older versions of snmp and lowers the required version of curl during the configure stage.

This should give you a nice shining bunch of zabbix-1.6.1 rpm’s for your beloved CentOS 4 system.

ZDNet RSS feed, now WITH ads!

rm -rf zdnet-feed. Fucktards.

I have thrown together a package for the latest Zabbix beta release, 1.5.4, which can be downloaded from my PPA here. It’s based on the official Zabbix 1.4.6 package for Intrepid, but i added zabbix-proxy-mysql and zabbix-proxy-pgsql as well, along with some minor refactoring in the inner guts of the package. If you find issues, just give me a whistle!

By default, at the top of your Zimbra 5.x webclient, there is a Yahoo search bar present. I never use Yahoo to search, so i don’t want it. I also don’t want my webgui cluttered with Yahoo nonsense. Since 5.0.2 however, you can remove it by executing the following commands on your zimbra server console:

# su – zimbra

# zmprov mc default zimbraFeatureWebSearchEnabled FALSE

When you reload the webinterface, the Yahoo search bar is gone 🙂

One of the sore spots in Ubuntu 8.04 ( Hardy Heron ) is the incredibly unstable Flash plugin. Crashes on one side, inability to play sound from Flash and a media player at the same time on the other side. I have seen a lot of suggested “fixes” on other forums and blogs, but most don’t really help. So let me tell you what did the trick for me.

First of all, open source alternatives such as Gnash and swfdec are not yet ready for the big masses. It’s nice to see them growing bit by bit, but for now, we are bound to the official plugins for ‘decent’ Flash support.

First of all, let’s get rid of libflashsupport if it’s still installed. This little piece of **** is a big cause of instability in our quest to a stable Flash experience. So let’s remove it right away!

# apt-get remove libflashsupport

Ok, now that’s gone, lets make Alsa output to Pulseaudio by default. We do this by installing libasound2-plugins, and creating the file /etc/asound.conf.

# apt-get install libasound2-plugins

Contents of /etc/asound.conf are as follows:

pcm.pulse {
type pulse
ctl.pulse {

type pulse
pcm.!default {
type pulse
ctl.!default {
type pulse

Just copy-paste it in the configuration file.

Next up, nspluginwrapper. This package will “jail” Flash inside its own little environment, so that if Flash crashes, it will only take down the wrapper, and not your whole Firefox. A Flash crash will result in a gray area where your Flash should be, instead of a suddenly disappearing Firefox. Quite an improvement already 🙂

Let’s install it:

# wget http://launchpadlibrarian.net/16234689/nspluginwrapper_0.9.91.5-2ubuntu2.8.04.1~mt1_i386.deb

# dpkg -i “nspluginwrapper_0.9.91.5-2ubuntu2.8.04.1~mt1_i386.deb”

Now you can (re-)install flashplugin-nonfree 9 to make it nspluginwrapper aware. Although it will not take down your Firefox anymore, it will still be incredibly unstable, and lots of sites will have gray areas on their pages.

So we will take one additional step, and install flashplugin-nonfree 10. The latest release candidate to be exact, which appears A LOT more stable than 9 ever was on my several systems.

We will have to download and install the deb manually from https://launchpad.net/~psyke83/+archive .

Click on the Hardy entry for flashplugin-nonfree, and download the correct deb for your system. Currently, for i386 ( 32bit ) desktops, this is the file you need .

Install it either by double clicking it on your desktop, or doing this on the commandline:

# dpkg -i flashplugin-nonfree-*.deb

Restart Firefox just to be sure, and then browse to “about:plugins”.

You should see something similar to the image below:

Which means it worked! Try watching a movie in youtube while listening to some music on your audio player. Both should play without problems, and most of the crashes should be gone!

Enjoy your smooth desktop experience 😉

On track for Zimbra 6.0

After a loong silence in the Zimbra camp ( apart from the occasional 5.0 point release ), we have more information about the next major Zimbra release! While it versioned as 5.5 in the past, it has now been changed straight to 6.0.
Current milestones are:

  • Beta 1 12/17/08
  • Beta 2 01/19/09
  • RC 1 02/23/09
  • GA 03/23/09

Since it’s a pretty long road until the GA version, those days will probably slide a bit.

Features include Ubuntu 8.04 LTS support ( BETA in 5.0 ), “Disaster recovery via server-to-server sync” ( which sounds really nice, not sure what exactly it will do yet ), and others found here.

If you can’t beat em..

pay em.. 😛

Why oh why does Microsoft always insist in trying to reinvent the wheel ( poorly ).. In every field you can imagine they have a crappy clone ( Zune anyone? ) nobody wants. Same thing with their Live Search. They always end up paying the few fucktards who fall for the peanuts MS throws at them.

I have personally witnessed that they came around the bigger businesses, and actually _giving_ money ( and LOTS of it ) to replace all postfix/courier servers ( who run great for years in a row on commodity hardware ) with Exchange ( which only runs “well” if you have a battery of servers.) Luckily management refused every offer because of the hardware costs and maintenance it would require to keep the crap working. ( Lower TCO my *** )

The merchant paying the customer to take his crap.. How low can you go.

This evening at 18:39, the first new package was committed into the Intrepid Ibex’ repository! What will become Ubuntu 8.10 in 6 months time is now under full construction! This first package is “binutils (2.18.1~cvs20080103-4ubuntu1)”! Many will follow 😉 People wanting to follow the changes as soon as they hit the repository can use http://feeds.ubuntu-nl.org/IntrepidChanges in their feed readers!

When you notice that your samba throughput is not what it should be, it might be related to the mount options in your Linux client ( mount command ).

When mounting my Samba share with the following command ( on a gigabit link ):

mount -t smbfs -o username=verwilst // /mnt/smb/

I got these results:

time cp /tmp/blob-1.5G /mnt/smb/blob-1.5G-smbfs

real    4m46.677s
user    0m1.512s
sys    0m27.862s

When the share is mounting with this command:

mount -t cifs -o username=verwilst // /mnt/smb/

The copy command gives us this:

time cp /tmp/blob-1.5G /mnt/smb/blob-1.5G-cifs

real    0m18.050s
user    0m0.028s
sys    0m5.828s

Quite a difference you get by replacing 1 word eh 😉

History meme

history | awk ‘{a[$2]++}END{for(i in a){print a[i] ” ” i}}’ | sort -rn | head
148 who
132 the
123 bloody
110 hell
91 gives
85 a
52 damn
45 ?

Lately i have to sift through more and more useless del.icio.us and co posts titled “”Links from …”, they are annoying me more than email spam 😛 FFS if i want to see your bookmarks, ill check them out myself!

This weekend i helped someone ( Linux newbie on his brand new Ubuntu 8.04-powered PC ) install ETQW ( Enemy Territory: Quake Wars ). Downloading the bin file and installing it ( during which it copies the needed files from the official ETQW DVD/CD ) was a breeze. When he started the game, everything looked fine, without one flaw: there was no sound.

Ubuntu Hardy ( along with several other new(er) distro’s ) started using PulseAudio to control all audio-related processes on the system. ETQW uses SDL for its sound-needs, but fails to play through pulseaudio. The solution is simple, install the “libsdl1.2debian-pulseaudio” package either through Synaptic or with an “apt-get install libsdl1.2debian-pulseaudio”, and your ETQW will be able to play sounds/music again 🙂

Once a week ( and soon twice ), I’m a Linux teacher @ Syntra West. I currently teach the class “advanced Linux” for the second-year students in the “Network administrator” course.

The best way to learn a new operating system is to get your hands dirty, but coming up with fun and practical exercises seem to be pretty hard. They already managed to install Drupal and Joomla on the self-deployed Apache server, but still the general “i-feel-at-home-here” feeling isn’t present yet.

I was wondering of some of you guys/girls know practical and “fun” ways to get better acquainted to the Linux way? I could then use them in my lessons and show them working with the console can be fun, flexible and powerful!

Thanks in advance 😉

In the line of duty, we were force-fed a Sun X4150 server running Solaris 10. We don’t have any Solaris expertise in-house ( we’re all Linux dudes 😉 ), so it was quite the challenge to fix a network issue we were having. The server had 4 NIC’s, which should be paired  by 2, to create 2 bonded interfaces, each with an active and a passive NIC. ( Bonding mode 1 in Linux  ).

Now, in Linux, this would be a piece of cake. In Solaris, it was a bit more challenging. 🙂

First of all, a third-party installed the server. The NIC’s came divided in 2 interfaces, aggr1 and aggr2. At first I assumed that bonding was called “aggregation” under Solaris, just as it’s called “teaming” under windows. Since we were experiencing quite a bit of packetloss on those links, we went to investigate some more. We wanted redundant switches, so LACP ( Link Aggregation Control Protocol ) wasn’t an option, since that requires the use of only a single switch.

Our guess was that the Solaris wasn’t configured in active-passive mode, but we lacked the Solaris-knowledge to exactly find out what to fix. Booting the Sun server with a Centos livecd, and configuring bonding the “Linux Way” worked flawlessly, and packetloss disappeared.

Turning our attention back to the Solaris machine ( with the help of an external support guy ), we configured the Solaris box with IPMP ( IP Multipath ). The inner workings are a bit different than good old mode1 bonding, but the result was the same.

We had 4 interfaces, which needed to be grouped in pairs of 2. So e1000g0 and e1000g1 would combine under bond0 and e1000g2 and e1000g3 would be grouped under bond1.

We created 4 files:

/etc/hostname.e1000g0 contained:

group bond0 up


/etc/hostname.e1000g1 contained:

group bond0 up

This added the 2 devices to bond0, and configured the first ( primary ) device with the ip address of node1 ( which is defined in our /etc/hosts file )

/etc/hostname.e1000g2 contained:

group bond1 up


/etc/hostname.e1000g1 contained:

group bond1 up

Then we did the same for the other 2 interfaces, but assigned another ip address ( the address of node2, defined in our /etc/hosts file as well ), and another groupname.

This makes sure that when we reboot the server, the machine comes up in a happily bonded state, without packet loss! Hooray!

An “ifconfig -a” showed us the following:

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet netmask ff000000

e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet netmask ffffff00 broadcast
groupname bond0
ether 0:1b:23:a3:42:30

e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet netmask ff000000 broadcast
groupname bond0

e1000g2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
inet netmask ffffff00 broadcast
groupname bond1

e1000g3: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5
inet netmask ff000000 broadcast
groupname bond1

When we pull out of the cables on any NIC, the system switches the ip address to the secondary NIC in the group, and becomes the active member until the connection of the primary NIC is back up.

Very good news! IMO the best XMPP ( Jabber ) server available is going fully open source! The server itself has been opensource for as long as i can remember, but several nice-to-have plugins and features were only available to paying “enterprise” customers. Which is a valid point of business and a good way to earn money while maintaining a great project like OpenFire. It seems along the road, the good folks at Igniterealtime found another way to provide income, and found out that maintaining 2 projects was too much work. So in 2-3 weeks, most of the enterprise grade features will become opensource too! I for one welcome our new opensource overlords! Let’s hope the most-wanted feature ( multidomain support ) gets implemented soon 😉

As posted in several other blogs, i’m also called Bort in reallife. But since wherever i work, at least 1 Bart is already working there as well, I’ve gotten used to the nickname, and i actually respond better to Bort than to Bart lately. At my previous job at Hostbasket, several newer coworkers actually came to me saying “hey, that guy called you Bart? Why’s that?” after working with me for several weeks/months 🙂 It was such a normal thing to call me Bort, that everyone did so, even on presentations and documents. So i don’t mind being called Bort, it has a certain charm to it 🙂 I do find it annoying to have to tell the origin of that name a lot, which was originally used in an episode of the Simpsons, where the Simpson family went to Itchy & Scratchy land. Bart was looking for a namebased licenseplate in a shop there, but could only find ones labeled “Bort”. That name came back several times during that episode. There, now everyone knows 😉

Why RSS sucks

Back in the good old rss-free days, you could spend countless fun-filled hours browsing your favorite sites, looking for new articles or cool new anecdotes. Sometimes you would forget one of your beloved sites for a while, so that when you remember it again, the articles have stacked up since your last visit, giving you an even more abundant reading-frenzy. Every time you browse to one of your sites, you get this warm fuzzy “will there be an awesome article there, begging to be read?” feeling. It really brightened up those boring/lazy hours everyone has now and then.

Enter RSS. Wether you’re subscribed to 10, 100 or more sites, you race through them so fast, that in 5 minutes time, you’re back to “ok, ive checked out everything that’s new in internet-land, now what…”. Boredom strikes again. No more hunting nice articles, or trying hard to remember that one awesome site that just slips your mind right now.. Pff.. efficiency is overrated.

Over at Sliceo, people like the smallest VPS available for things like DNS hosting or IRC proxying. This means that a daemon keeps the connection to the their favorite IRC servers/channels open and logged in, as if the user was online 24/7. Instead of connecting directly to said servers and channels from normal clients ( like X-Chat ), the user connects to the irc proxy instead, and continue his/her chat sessions just as he never went offline.. In the line of Sliceo duty, i helped to stabilise a setup that was going to be used for this exact purpose.

We tried several bouncers, like psybnc, ircproxy, to no avail. Most would crash after a while, and would overall be horrible in the stability-department. But then we found BIP. It had a few bugs as well, but some personal contact to its’ author quickly solved every bump in the road. Now, 0.7 is out, which incorporates all the fixes to the problems we were having.

The result: a bouncer that has been serving the needs for mutiple IRC users for many weeks now without a single crash or hickup! People looking for a solid IRC bouncer should really check out BIP!

I got to work, did my daily apt-get upgrade in the background, while i suddenly noticed something strange. My apps were no longer starting. I already had a browser and some terminals open, so i looked at the problem a bit closer. It seemed that apt-get tried to update my libc6 package, which was b0rked and caused some mayhem everywhere in my system. A quick launchpad search confirmed my guess, libc6 upgrade was the culprit. Since i wasn’t root on any of my terminals, and sudo and su crashed right away, i downloaded the previous version of the libc6 package ( luckily wget still working fine 😉 ), and rebooted with a livecd. As a sidenote, Gentoo still has the best damn rescue-cd’s known to man. 😉 I installed the older version of libc6 from a chroot, and voila, all fine and dandy!

A bit later, sdog pointed me to another post about the incident.

People around the world that are pissed off about this problem, or are moaning/flaming to the devs, please, get a life. As you might have noticed, the word “ALPHA” is used pretty abundantly all over your beloved Hardy system, and the UWN and release pages clearly mention “Pre-releases of Hardy are “NOT” encouraged for anyone needing a stable system or anyone who is not comfortable running into occasional, even frequent breakage.”. You’ve been warned. Deal with it.

Anyways, kudos to the Ubuntu devs for their swift and prompt fix to this problem! Hardy is shaping up to be a very nice distribution!