Saturday, December 31, 2011

Problem installing Oracle Virtual box extension pack

If you would like to use the USB ports on your virtual machine in virtual box.
You need to install the virtual box extension pack available from the download section at

However opening the downloaded extension pack from virtualbox and clicking the install button, sometimes gives the following error

"Failed to install the Extension Pack Oracle_VM_VirtualBox_Extension_Pack-.vbox-extpack.  The installer failed with exit code 127: The value for the SHELL variable was not found the /etc/shells file    This incident has been reported..  Result Code: NS_ERROR_FAILURE (0x80004005) Component: ExtPackManager Interface: IExtPackManager "

I find that installing the extension pack using the command line fixes this problem.
simply cd into the folder were the extension pack you downloaded resides,
and type the following. replacing the xxxx with the version of the extension pack you downloaded.

 sudo VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-4.1.xxxx.vbox-extpack 

and it will install properly, you should get the following back.

Successfully installed "Oracle VM VirtualBox Extension Pack".

Wednesday, December 7, 2011

Free up space on your hard drive.

ext2/ext3 and ext4, file systems automatically reserve space for themselves. (5% by default)
This is necessary for your root partition, so that  if you fill up the hard drive, Linux will still have space to write to the log files and to allow privileged processes to run so that they can avoid file system fragmentation.
However, if your hard disk is say a 650GB or bigger hard drive, that 5% amounts to a significant amount of disk space, and is a total overkill.
Additionally, you do not need this reserved space on hard drives that are only used for storage (ie are not part of your root partition)
so, how do we take back this valuable hard disk real estate ?
We use tune2fs.

so as an example,  type

tune2fs -m 1 /dev/sda2
to change the 5% to 1% on /dev/sda2

if /dev/sda was a 650GB hard drive this would give you an additional 26 GB Free!

tune2fs -m 0 /dev/sda2
will  reduce the 5% to 0%

to add reserved space for privileged processes back to a  drive
tune2fs -r 20000 /dev/sda2
will give back 20000 blocks, which should be more than sufficient

you can run tune2fs on  Logical volumes as well.

tune2fs -m 1 /dev/mapper/vg-lv_home 
will reclaim space from your logical volume

Just change /dev/mapper/vg/-lv_home to the name of your logical volume.
you can see all your volumes and partitions by typing df -h

Thursday, December 1, 2011

Simple Webserver

python -m SimpleHTTPServer

Will serve your current Directory tree at

Wednesday, November 30, 2011

Check your spelling

yum install aspell

or apt-get install aspell for Ubuntu systems

then in future  when ever  you need to know how to spell a word simply type

aspell -a <<< 'word'

Wednesday, November 23, 2011

save man pages as pdf

man -t ls | ps2pdf - ls.pdf

Will save the man pages for ls to ls.pdf

substitute ls for the programme man pages you want to save as a pdf

Tuesday, November 22, 2011

Script Terminal Session

script -f /tmp/filename
will place all output of the terminal, including carriage returns, to a file (/tmp/filename)

So then on another terminal session type
tail -f /tmp/filename

 This file can be tail -f by one or more terminals to display Live the information of the main terminal.
Great  way to share your screen on short notice.

to Stop scripting type
 <Cntrl> D

Sunday, November 20, 2011

Saturday, November 19, 2011

How To Add a start up script to be Run at Boot time in Ubuntu

First Save your script in


then type:

sudo update-rc.d script_name defaults

This script will now run each time you boot up.

Wednesday, November 16, 2011

sort the contents of a text file in place

This will sort the contents of a file without the need to pipe it into a second file.

great for cron jobs

sort -g name_of_file_to_sort.txt -o $_

Monday, November 14, 2011

Dropbox Free 2GB account

Always have your stuff when you need it with Dropbox.
2GB account is free!

Click Here To open an account

Dropbox will allow you to share folders across multiple computers.

Friday, November 4, 2011

Removing old unused Kernels from your Fedora system

Old unused Kernels can take up a fair amount of Disk Space.
to install old ones.

Install yum utils
yum install yum-utils

package-cleanup --oldkernels --count=2

will remove all old kernels except for the last 2.

 Make Amount of Installed Kernels Permanent
Edit /etc/yum.conf and set installonly_limit


Friday, October 21, 2011

Integrate google contacts into your Mutt address Book

Goobook will alow you to interact with your gmail contacts from the command line and also enable mutt to access them

install goobook

easy-install -U goobook

Once installed create .netrc  file in your home folder with the credentials to your google account
Vim ~/.netrc

inside .netrc put the following

password yourpassword

save the file

to test if it is working type

goobook dump_contacts

this will dump all your contact information from gmail to stn out

to search for a string from your gmail contacts type

goobook query query

eg to search for clive type

goobook query clive

if you want to use goobook from mutt

edit your .muttrc file and add in the following line:

set query_command="goobook query '%s'"

to query the address book from inside mutt use the "Q" key

If you want to be able to use to complete email addresses instead of Ctrl-t add this:
bind editor complete-query
To add email addresses (with "a" key normally bound to create-alias command) add the following line:

macro index,pager A "goobook add" "add the sender address to Google contacts"

If you want to add an email's sender to Contacts, press "a" while it's selected in the index or pager.

Thursday, September 29, 2011

Rename image files according to EXIF date

This will rename all of your pictures in a given folder and prefix the date and time that the picture was taken in front of the file name.
Useful if your camera screws up your naming convention of your pictures, or if you want to simply organize all your pictures by date

yum install exiv2

cd to the folder with all your pictures that you want to rename
and type:

exiv2 -r'%Y%m%d-%H%M_:basename:' rename $(ls)
will rename to

Friday, September 16, 2011

Install Oracle 11G 32bit on 64bit Rhel 6



Install the following prerequisites

yum install gnome-icon-theme-2.28.0-2.el6.noarch sgml-common-0.6.3-32.el6.noarch dmz-cursor-themes-0.4-4.el6.noarch libstdc++-devel-4.4.4-13.el6.x86_64 kernel-headers-2.6.32-71.el6.x86_64 elfutils-libelf-devel-0.148-1.el6.x86_64 libgcc-4.4.4-13.el6.i686 nss-softokn-freebl-3.12.7-1.1.el6.i686 glibc-2.12-1.7.el6.i686 mpfr-2.4.1-6.el6.x86_64 libXt-1.0.7-1.el6.x86_64 libXmu-1.0.5-1.el6.x86_64 libXxf86misc-1.0.2-1.el6.x86_64 libXxf86vm-1.1.0-1.el6.x86_64 libaio-0.3.107-10.el6.i686 libstdc++-4.4.4-13.el6.i686 ncurses-libs-5.7-3.20090208.el6.i686 readline-6.0-3.el6.i686 libICE-1.0.6-1.el6.i686 xorg-x11-xauth-1.0.2-7.1.el6.x86_64 cpp-4.4.4-13.el6.x86_64 libtool-ltdl-2.2.6-15.5.el6.x86_64 unixODBC-2.2.14-11.el6.x86_64 ppl-0.10.2-11.el6.x86_64 cloog-ppl-0.15.7-1.2.el6.x86_64 libmcpp-2.7.2-4.1.el6.x86_64 mcpp-2.7.2-4.1.el6.x86_64 xorg-x11-server-utils-7.4-15.el6.x86_64 compat-db42-4.2.52-15.el6.x86_64 compat-db43-4.3.29-15.el6.x86_64 libdmx-1.1.0-1.el6.x86_64 libXxf86dga-1.1.1-1.el6.x86_64 libXv-1.0.5-1.el6.x86_64 libIDL-0.8.13-2.1.el6.x86_64 ORBit2-2.14.17-3.1.el6.x86_64 GConf2-2.28.0-6.el6.x86_64 libbonobo-2.24.2-4.el6.x86_64 gtk2-engines-2.18.4-5.el6.x86_64 shared-mime-info-0.70-4.el6.x86_64 libdaemon-0.14-1.el6.x86_64 avahi-0.6.25-8.el6.x86_64 avahi-glib-0.6.25-8.el6.x86_64 gnome-vfs2-2.24.2-6.el6.x86_64 libtool-ltdl-2.2.6-15.5.el6.i686 unixODBC-2.2.14-11.el6.i686 libuuid-2.17.2-6.el6.i686 libSM-1.1.0-7.1.el6.i686 libXau-1.0.5-1.el6.i686 xorg-x11-utils-7.4-8.el6.x86_64 compat-libstdc++-33-3.2.3-69.el6.x86_64 celt051- libXp-1.0.0-15.1.el6.x86_64 libxcb-1.5-1.el6.i686 libX11-1.3-2.el6.i686 libXext-1.1-3.el6.i686 ConsoleKit-x11-0.4.1-3.el6.x86_64 libXi-1.3-3.el6.i686 xorg-x11-xinit-1.0.9-13.el6.x86_64 libXtst- libXt-1.0.7-1.el6.i686 compat-libstdc++-33-3.2.3-69.el6.i686 glibc-headers-2.12-1.7.el6.x86_64 glibc-devel-2.12-1.7.el6.x86_64 gcc-4.4.4-13.el6.x86_64 compat-gcc-34-3.4.6-19.el6.x86_64 gnome-themes-2.28.1-6.el6.noarch system-icon-theme-6.0.0-2.el6.noarch system-gnome-theme-60.0.2-1.el6.noarch ncurses-devel-5.7-3.20090208.el6.x86_64 libgnome-2.28.0-11.el6.x86_64 gcc-c++-4.4.4-13.el6.x86_64 readline-devel-6.0-3.el6.x86_64 glibc-devel-2.12-1.7.el6.i686 compat-db-4.6.21-15.el6.x86_64 unixODBC-devel-2.2.14-11.el6.i686 unixODBC-devel-2.2.14-11.el6.x86_64 libaio-devel-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6.x86_64 compat-gcc-34-c++-3.4.6-19.el6.x86_64

next you must install the 32 bit version of the Glib libraries

yum install glib-devel.i686

connect to the server with
ssh -X oracle@serverip address

./runInstaller -ignoresysprereq

the Oracle Xwindow will open on your desktop,
follow instructions to complete the installation.

Wednesday, September 14, 2011

Point RHEL 6 installation to Centos6 repositories

Migrating from RHEL6 to CentOS 6

vi /etc/yum.repo.d/centos.repo

name=CentOS $releasever - $basearch


yum remove matahari*

edit /etc/yum.conf

exclude=redhat-logos redhat artwork

mkdir TMP

yum remove rhnlib abrt-plugin-bugzilla
yum remove redhat-release-notes*

rpm -e --nodeps redhat-release redhat-indexhtml

for 64 bit version use
rpm -e --nodeps redhat-release-server.x86_64
rpm -e --nodeps redhat-indexhtml-6-1.el6.noarch

cd TMP





rpm -Uvh *.rpm
cd ..
rm -rf TMP
yum clean all
yum upgrade

voila, your Redhat machine can now get updated from the Centos repositories

Tuesday, August 30, 2011

Spliting 1 large MKV file into 2 smaller MKV files

Lets say you have a 6GB MKV file that you want to split into 2 X 3GB MKV files

mkvtoolnix to the rescue

install mkvtoolnix

yum install mkvtoolnix

once installed cd into the directory that has the file you want to split
lets say the file is called thor.mkv
to split it into 2 files of 3GB each simply type the following.

mkvmerge --split size 3g thor.mkv -o thor1.mkv
hit enter

you will land up with 2 extra files thor1.mkv and thor2.mkv, each 3gb in size (the original file will also still be in the directory

Tuesday, June 7, 2011


Backing up data using rsync command

I have stopped using scp to copy files from computer to computer and far prefer to use rsync.
rsync command uses the same format as scp, (so there is no learning curve and if you are used to using scp, then switching to rsync is no trouble at all) rsync has the benefit of being able to continue from a failed copy, and also has a wealth of other advantages over scp.

rsync is a great tool for backing up and restoring files.

Example of the remote server and folder that needs to be backup or copied:
Remote host name:
Remote folder: /home/serverfolder/
Remote user: user1

rsync -arv /home/cgerada

(/home/cgerada is the local folder path of the machine I am on and to were I want to copy to)
or to copy into the directory that I am currently in you could type
rsync -arv .

Here is what the "-arv" option does:
a = archive - means it preserves permissions (owners, groups), times, symbolic links, and devices.
r = recursive - means it copies directories and sub directories
v = verbose - means that it prints on the screen what is being copied
add --progress at the end of the command to get a running tally of what's going on
rsync -avr * /media/usb/ --progress

another good example

rsync -avr --progress --delete --log-file=/var/log/$(date +%Y%m%d)_rsync.log /home/folder/

will create a log file and document the progress into the logfile
-- delete will delete on the destination server what ever files have been deleted from the source  (it wont delete files on your source server, only destination)

Excluding files

rsync -avr --exclude '*.iso' source/ destination/

Will Exclude all iso files

or you can write it like this , it doesn't matter, it still works
rsync -avr source/ destination/ --exclude '*.iso' --progress