Shell History Meme

Posted in Fedora, General, Linux SysAdmin on April 10th, 2008 by Johan Huysmans – Be the first to comment

There is a Shell history meme going on on planet Fedora; Let’s join.

[johan@laptop ~]$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -nr|head
201 ls
108 ssh
108 cd
98 sh
81 su
29 vi
24 rpm
24 ping
23 rm
20 mv

[johan@workstation ~]$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -nr|head
149 ls
128 cd
125 cvs
93 diff
71 echo
54 ssh
45 for
28 mkdir
26 md5sum
24 reset

My previous post of my Top 10 used commands was more than 1 year ago.

MySQL MYD and TMD files

Posted in Backup, WordPress on April 8th, 2008 by Johan Huysmans – 3 Comments

I just recovered from a database issue.

While running a mysqldump of my databases I received an error. Running a check on that specific database told me that the comments.MYD file was not found.

Investigating on the system showed me that due to an error the filesystem containing /var/lib/mysql was mounted read-only. Running a fsck on that specific filesystem solved that error but didn’t fix my corrupted table.

phpMyAdmin showed that the table was in use and while performing a check or repair it complained about the missing file.

The comments.MYD file was indeed missing, but there was a comments.TMD file, which wasn’t there for all the other tables.

Moving this TMD file to MYD solved the issue. I could repair the table and the check is again successful.

During this problem wordpress didn’t complain but it just didn’t show my comments. But I have no clue what caused this problem.

Fedora upgrade

Posted in Fedora on April 7th, 2008 by Johan Huysmans – 2 Comments

Fedora 9 will be released this month, this means that Fedora 7 will be end-of-live within 2 months (1 month after the release of Fedora 9 to be exact).

As one of my desktops was still running Fedora 7 it was time to upgrade to the current stable Fedora, Fedora 8.

On the Fedora wiki you can find a list of instructions to upgrade your machine using yum. It will list the general actions but also the execptions for each upgrade.
You can find these instructions here: http://fedoraproject.org/wiki/YumUpgradeFaq

The upgrade went very smooth, but isn’t recommended for non-technical users as it all happens on the command line.
For those non-technical users a graphical user interface which guides you through the complete process would be very handy (Ubuntu has it already, don’t know if it is available in Fedora 8/9).
I prefer the upgrade with yum as I want to know what my machine is doing.

Firefox 3 beta on Fedora 9 alpha

Posted in Fedora on February 29th, 2008 by Johan Huysmans – 1 Comment

Fedora 9 alphaI upgraded my laptop to Fedora 9 alpha some days after the release. You could see that it is an alpha release because several things weren’t going as smooth as they should go. But most of them got fixed when updating all packages regularly. Except for Firefox.

When I started Firefox for the first time everything looked extreme big (user interface and content). This was caused by a bad autodetected dpi setting. Manually changing it to 96dpi solved the problem.
Bug 394103 in the mozilla bugzilla describes the problem and how you can solve it.

Some time later, when I upgraded some packages (including Firefox), i had a problem with the address bar. I could enter the url but pressing enter won’t bring me to the website. Pressing the green arrow on the right side of the url did.
Some upgrades later it still wasn’t fixed, it was even worse. Entering some text in the address bar was impossible and thus making Firefox useless. It was time to find the cause and solve the issue.

Removing and reinstalling the Firefox package didn’t solve it, but it showed there were some problems with xulrunner, a dependency of Firefox. The xulrunner rpm never got installed correctly, it gave following errors during rpm installation:

Error unpacking rpm package xulrunner-1.9-0.beta3.29.nightly20080227.fc9.i386
error: unpacking of archive failed on file /usr/lib/xulrunner-1.9pre/dictionaries: cpio: rename

Searching the Fedora bugzilla for this problem pointed me to bug 433096 which handles this problem. As explained in one of the comments removing and reinstalling xulrunner rpm solved the problem.

I can now enjoy again from my Fedora 9 alpha with Firefox 3 beta!

Using Xen for High Availability Clusters

Posted in Linux SysAdmin, Xen on February 6th, 2008 by Johan Huysmans – Be the first to comment

ONLAMPYesterday evening O’Reilly ONLamp.com published “Using Xen for High Availability Clusters“.

This article is written by my colleague, Kris Buytaert, and me and describes the setup of the clustering of the virtual gateways at Newtec.
It explains the networking in a xen dom0 and how to block all virtual machines from the network. It also explains how you can integrate this with linux-ha.

This is my first article on O’Reilly, this means that I now have a profile on O’Reillynet, you can check it out here: http://www.oreillynet.com/pub/au/3323.

Enjoy the reading !

3ware module refuses to load with xen kernel

Posted in Linux SysAdmin, Xen on January 17th, 2008 by Johan Huysmans – 2 Comments

Today I encountered a problem with the 3ware module.

The fresh installed CentOs 5, on a machine with a 3ware 9500 card, booted without any problems, but this wasn’t the case when booting with the xen enabled kernel. During boot of the xen kernel, which ended in a kernel panic, it showed something about ioremap. When googling about the problem I found a patch which solved the problem.

Here is a step-by-step guide how I’ve applied the patch and solved the problem… read more »

Hello planet.grep.be World

Posted in General on January 9th, 2008 by Johan Huysmans – Be the first to comment

Welkom to all planet.grep.be readers!

The RSS feed of my blog has been added to the list of Belgian bloggers who are involved with Open Source projects or are actively using them.

You can visit the planet on http://planet.grep.be or add the feed to your favorite RSS reader.

rsync daemon init script

Posted in Backup, Linux SysAdmin on December 21st, 2007 by Johan Huysmans – 1 Comment

Rsync, the popular file synchronization tool, can be used as a daemon. It is quite easy to start the daemon version of it, just execute:
rsync --daemon --config=/path/to/rsyncd.conf

If you want to start it at boottime you have to create an init script as it is not delivered with the rpm (or at least not with redhat/centos/fedora rpms).
You can search for any existing init scripts, for example systemimager-server delivers such init script, and use that script or write a simple init script yourself, using an existing script as guideline.

In my setup I needed 2 daemons, one running on port 873 (the default), the other one running on port 874. This is off course perfectly feasible but had some problems with the init scripts.
I wanted to be able to start and stop each daemon separately. But with the simple init script I could start both separately but when i wanted to stop one of them they are both stopped.

Diving into the daemon and killproc functions, which are stored in /etc/rc.d/init.d/functions and used by all init scripts, showed me that I have to use a combination of storing the pid file and the base filename of the init script.
The pid of the rsync daemon can be stored in any file (this is handle by rsync itself), this can be configured in the rsyncd configuration with following line: pid file = /var/run/rsyncd.pid

Following init script can start or stop the specific rsync daemon even if there are multiple daemons running on the system.
There is only requirement for this init script, which is explicitly explained in the script, the filename of the initscript must be the basename of the pidfile. For example if your initscript is /etc/init.d/custon-rsyncd the pid must be stored in /var/run/custom-rsyncd.pid.

#! /bin/sh
#
# chkconfig:   2345 50 50
# description: The rsync daemon

# source function library
 . /etc/rc.d/init.d/functions

PROG='/usr/bin/rsync'
BASE=${0##*/}

# Adapt the --config parameter to point to your rsync daemon configuration
# The config file must contain following line:
#  pid file = /var/run/<filename>.pid
# Where <filename> is the filename of the init script (= this file)
OPTIONS="--daemon --config=/etc/rsyncd.conf"

case "$1" in
  start)
    echo -n $"Starting $BASE: "
    daemon --check $BASE $PROG $OPTIONS
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$BASE
    echo
    ;;
  stop)
    echo -n $"Shutting down $BASE: "
    killproc $BASE
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$BASE
    echo
    ;;
  restart|force-reload)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

Bluetooth on Fedora 8

Posted in Fedora on November 14th, 2007 by Johan Huysmans – Be the first to comment

A couple of days ago, Dag wrote how you can browse your mobile phone with CentOS.

I’ve recently installed the new Fedora 8, so it is time to check how you can browse you mobile phone with F8.

If you bluetooth adapter is recognized you will see the icon of the “Bluetooth Applet”. Right click on it and you will find the Browse Device… entry. Any bluetooth device in your neighborhood will be listed, choose your phone and connect with it. After pairing (= exchanging passwords for the first time) a Nautilus window will open with the content of your phone.

It is just that easy… That’s really something different than a couple of fedora releases ago.

Thumbs up for the Fedora 8 team!

Sorting files with version numbers

Posted in General on November 8th, 2007 by Johan Huysmans – Be the first to comment

It can be quite annoying that when you perform a ls all your files are sorted alphabetically which give such result:
[johan@raskas versions]$ ls
a_file_name-1.0.1-10
a_file_name-1.0.1-11
a_file_name-1.0.1-2
a_file_name-1.0.1-3
a_file_name-1.0.1-4
a_file_name-1.0.1-9
some_other_file-2.0.10-1
some_other_file-2.0.9-1

Of course you want your file not sorted like that, but sorted per revision. Meaning that version 9 of the file comes before 10.
The ls-option –sort=version will do this for you.
The same files are now correctly sorted:
[johan@raskas-jhu versions]$ ls --sort=version
a_file_name-1.0.1-2
a_file_name-1.0.1-3
a_file_name-1.0.1-4
a_file_name-1.0.1-9
a_file_name-1.0.1-10
a_file_name-1.0.1-11
some_other_file-2.0.9-1
some_other_file-2.0.10-1

It is not rocket science, but it is a less known option which can come in very handy some times!