Category Tips and tricks

My fosdem 2010 talk

As promised after the talk, these are the slides I presented this morning. I had great feedback from the audience, thank you. Thanks vinnov for the picture :-)

cyrus on debian

I had to setup a nice mail solution for friends on their GNU/Linux server: a nice Debian 4.0 :-) As you should know, I'm not a Debian afficionados, never knew why but this is not my favorite distro and this is where the opensource world takes all his sense: freedom of choice :) "...tous les goûts sont dans la nature..." Ok then I started to setup ldap, not really a problem, the 4 db's were inserted via ldif; postfix with ldap support for domains and users was also not problem. Cyrus and Sasl was ok untill I discover that the autocreate patch[1] was not present in the package... oh my root ! As I didn't want to install cyrus from sources, and as I wasn't able to find a package already patched (but I found a huge amount of bugs requesting that feature and this for all cyrus version, it seems that postfix's debian maintainers don't like that patch... but I guess that all the other common distros have the patch included in their package...) Ok then I started to try to remember how to make a .deb again (loooooong time ago) step 1: apt-get install devscripts step 2: apt-get source cyrus-imapd-2.2 (I know it's old :( ) step 3: create a dpatch (cat ~lefred/cyrus-imapd-2.2.13-autocreate-0.9.4.diff | dpatch patch-template -p "85-autocreate.dpatch" > cyrus-imapd-2.2-2.2.13/debian/patches/85-autocreate.dpatch step 4: add 85-autocreate.dpatch between 80-kbsd-no-psstrings.dpatch and 99-update-autoconf.dpatch in cyrus-imapd-2.2-2.2.13/debian/patches/00list step 5: apply the patches : cd cyrus-imapd-2.2-2.2.13; dpatch apply-all -v step 6: build the packages : dpkg-buildpackage -uc ARRGH it fails : reverting patch 85-autocreate from ./ ... failed. step 7: rm debian/patched/85-autocreate.dpatch step 8: redo step 6 ARRGH it fails again, it seemd the dpatch creation is not ok I found another dpatch [2] and I replace it, so step 3 can be replaced by the copy of the new 85-autocreate.dpatch into cyrus-imapd-2.2-2.2.13/debian/patches/ Then back to step 4 and everything works ! in the mail.log using the standard debian package : Oct 15 20:12:53 ns2014675 postfix/pipe[6186]: 6506571620: to=, orig_to=, relay=cyrus, delay=0.08, delays=0.03/0/0/0.04, dsn=5.6.0, status=bounced (data format error. Command output: alain: Mailbox does not exist ) with the new fresh package : Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, INBOX was successfully created in partition default Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.Learn creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.Learn.Ham creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subscription to INBOX.Learn.Ham succeeded Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.Learn.Spam creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subscription to INBOX.Learn.Spam succeeded Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.Drafts creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subscription to INBOX.Drafts succeeded Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.Sent creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subscription to INBOX.Sent succeeded Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.SpamMail creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subscription to INBOX.SpamMail succeeded Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subfolder INBOX.Trash creation succeeded. Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: autocreateinbox: User alain, subscription to INBOX.Trash succeeded Oct 15 23:09:28 ns2014675 cyrus/lmtpunix[7840]: User alain, Inbox subfolders, created 7, subscribed 6 [1] http://email.uoa.gr/download/cyrus/cyrus-imapd-2.2.13/ [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=25;filename=85-autocreate.dpatch;att=1;bug=435598

EeePC synchronization with unison

Sometimes I use my EeePC during a meeting, or when I don't want to use my bigger Dell laptop. But of course I'd like to be able to synchronize one folder on both machines to transfer documents that I should update on both laptops. unison is my friend for this task, but as I'd like to test some avahi and libnotify code to automate and integrate this solution on my gnome desktop, I wrote the following python script : EeepcSync Instructions on how to use it are present in the script. Somes screen captures : of course the code should be reviewed as I'm very newbie in python ;-)

Audacity and Fedora 8

I've tried today to use audacity for the first time since I'm using Fedora 8. What a disappointment: no sound ! I checked in preferences and none of these options were working : I started then audacity using the following command line : $ pasuspender audacity I could consequently hear some output and many different sources in preferences : I'm ready now to work on my favorites sounds... [1] Audacity [2] Fedora

Nagios JBoss Check

As I had to monitor some JBoss servers and as there are some memory leaks in the program, the monitoring in Nagios of the Garbage Collector is very important. I've found some jmx script on JBoss wiki, but I was not happy with it. So I rewrite it to use twiddle.sh with the attributes I needed. I had also to modify twiddle.sh to remove the logging capability (that was causing permission error) : # diff twiddle.sh twiddleFred.sh 58c58 < JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/client/log4j.jar" --- > # removed to avoid log file JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/client/log4j.jar" Those are the nrpe test I implemented : # check Perm Gen command[check_jbosspem]=/usr/lib/nagios/plugins/check_jbosspem 127.0.0.1 4 jboss.system:type=ServerInfo listMemoryPools "Perm Gen" 70 90 # check Old Gen (Heap Memory) command[check_jbossoldgen]=/usr/lib/nagios/plugins/check_jbosspem 127.0.0.1 4 jboss.system:type=ServerInfo listMemoryPools "Old Gen" 85 95

As MySQL Community Manager, I am an employee of Oracle and the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

You can find articles I wrote on Oracle’s blog.