Screen-Shot-2011-11-22-at-1.33.55-PM

How to install MTR on Mac OS X Lion

If you liked using WinMTR on Windows machines to troubleshoot network connections and latency and looking for a similar tool on a Mac OS X there is an app for that.

It’s called MTR, written by Matt Kimball. MTR stands for Matt TraceRoute or My TraceRoute whichever works for you.

On your Mac, start by downloading latest version from this FTP resource (scroll to the end and download .tar.gz file):

ftp://ftp.bitwizard.nl/mtr/

To unpack it, double click on the file in Finder. Assuming it’s in ~Downloads folder, open Terminal and type the following:

cd Downloads
cd mtr-0.81
export LIBS='-lm -ltermcap -lresolv'
./configure
make
sudo make install
alias mtr=/usr/local/sbin/mtr

To permanently save the alias, run this:


open ~/.bash_profile

add to the file:

alias mtr=/usr/local/sbin/mtr

Now to use it, open Terminal and type mtr with IP address:

mtr 8.8.8.8

Enjoy

How To Install NANO Editor on FreeBSD

This is a quick tutorial on how to install Nano Editor on FreeBSD UNIX. If you got used to pico or nano editor and just installed FreeBSD, in my example FreeBSD 8.2 – RELEASE version, you will find out that if you try to run nano you will get an error that it’s not found.

Make sure you are logged in as root and follow these few steps to install nano and make it work.

portsnap fetch update
cd /usr/ports/editors/nano
make install clean
ln -s /usr/local/bin/nano /usr/bin/nano


If you are using a non-default installation such as the one on Amazon AWS, it might not have the /usr/ports folder, you can just run “portsnap fetch extract update” and try the above steps again or download the package (port) directly:

pkg_add -r nano
ln -s /usr/local/bin/nano /usr/bin/nano


This is it. You can now run nano and it will work the usual way.
If you have any questions, comments or suggestions please post below.

How To Remove GUI (GDM, Gnome, X Window) from CentOS

If you planned to install a CentOS server, but mistakenly also installed Desktop Environment such as GNOME, you can easily remove the GUI packages and return back to Command Line (CLI).

There are two ways to do that. You can simply disable GUI or completely uninstall it. I will provide steps to do both.

Disable GUI (GDM)


nano /etc/inittab


change id:5:initdefault: to id:3:initdefault:

Remove GUI


If you want to remove all GUI packages completely, please still use the disable GUI steps first otherwise once Gnome, GDM, X Windows removed CentOS will still try to load X Window.

To remove GUI packages follow the steps:

yum groupremove "GNOME Desktop Environment" -y
yum groupremove "X Window System" -y


If you want to temporarily stop GDM (GUI), you can issue this command:

init 3


and then back to start GDM:

init 5


If you have any questions please post in comments.

How To Fix “Missing Dependency: perl(URI) >= 1.17 is needed by package subversion”

If you are a cPanel user on CentOS 5.6 64 bit and wanting to install Subversion, you might get this error after running ‘yum install subversion’

Missing Dependency: perl(URI) >= 1.17 is needed by package subversion-1.6.11-7.el5_6.4.x86_64

yum seems to unable to find needed dependency and just fails

To fix this issue there’s a workaround.


cd /tmp
wget http://sdkit.com/download/centos/5/rpms/perl-URI-1.35-3.noarch.rpm
rpm -i perl-URI-1.35-3.noarch.rpm



The dependency is now fixed. You can proceed to installing subversion by running:

yum install subversion
Screen-Shot-2011-09-05-at-5.22.32-AM

How To Fix Xcode 4 Installation stuck issue on Mac OS X Lion

If you like many experiencing an issue while installing Xcode 4 on Mac OS X Lion where it gets stuck at the very end at 98%-99% and seems like most packages installed but Xcode alias was not created in the Applications folder, there’s a solution for that.

First of all the initial issue was with being unable to quit iTunesHelper process and Apple tried fixing it releasing Xcode 4.0.1 update to the App Store, but that did not resolve the issue to most users even if one manually kills the process via Activity Monitor (Task Manager).

Second, before proceeding with the installation that works, let’s uninstall any previous versions of xcode or orphan dev packages by running this command:

sudo /Developer/Library/uninstall-devtools --mode=all

Once everything is removed, empty Trash and Restart your Mac. You can clean the dishes as well while Mac OS X is being restarted.

Now to install Xcode without hanging or giving errors, assuming you have downloaded version 4.0.1 from the App Store, you can find “Install Xcode” icon in your Applications folder.

Right click on the “Install Xcode” and click “Show Package Contents”

Then navigate to Contents > Resources > Xcode.mpkg and double-click on it.

Next follow the installer prompts to proceed with the installation of Xcode

Once the installation is successfully complete, you can close the installer and enjoy developing your Apps.

If you have any questions or comments, please post them below.

How To Install Python 2.7 with mod_wsgi on CentOS 5.6 with cPanel

This is a step by step tutorial which will help you install Python 2.7 with mod_wsgi onto CentOS 5.6 and cPanel.

Prerequisites:


  • CentOS 5.6 32 or 64 bit with root access

  • cPanel


Note: we are not using cPanel custom modules guide because it only works with built-in Python 2.4.




Creating Python folder



mkdir /usr/src/python2.7
cd /usr/src/python2.7





If required by your project, you can install SQLite
wget http://www.sqlite.org/sqlite-autoconf-3070701.tar.gz
tar zxvf sqlite-autoconf-3070701.tar.gz
cd sqlite-autoconf-3070701
./configure
make
make install


Installing Python 2.7 into alternate location since we don’t want to break Centos 5.6 (yum) that uses Python 2.4

cd /usr/src/python2.7/
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure --prefix=/opt/python2.7 --with-threads --enable-shared
make
make install


Creating symbolic link to the alternate Python version

ln -s /opt/python2.7/bin/python /usr/bin/python2.7
echo '/opt/python2.7/lib'>> /etc/ld.so.conf.d/opt-python2.7.conf
ldconfig


Let’s test if new Python version works

/usr/bin/python2.7


If successful you will see something like this:

Python 2.7.2 (default, Sep  3 2011, 18:28:42)[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2


press control+D to exit

Now we need to install Python setup-tools

cd /usr/src/python2.7/
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
sh setuptools-0.6c11-py2.7.egg --prefix=/opt/python2.7


Installing virtualenv to our Python 2.7

cd /opt/python2.7/bin/
./easy_install virtualenv


Installing mod_wsgi (this module will work only with python 2.7)

cd /opt/python2.7/lib/python2.7/config/
ln -s ../../libpython2.7.so
cd /usr/src/python2.7/
wget http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
tar zxvf mod_wsgi-3.3.tar.gz
cd mod_wsgi-3.3
./configure --with-python=/opt/python2.7/bin/python
make
make install


We need to avoid cPanel’s easy_apache clearing up /usr/local/apache/modules folder

mkdir /usr/local/apache/extramodules
mv /usr/local/apache/modules/mod_wsgi.so /usr/local/apache/extramodules/


Include mod_wsgi into Apache configuration

nano /usr/local/apache/conf/includes/pre_virtualhost_global.conf


paste:

LoadModule wsgi_module /usr/local/apache/extramodules/mod_wsgi.so
AddHandler wsgi-script .wsgi


Before we restart Apache, lets test if we have the correct configuration

service httpd configtest


You should get this answer:

Syntax OK


Now restart Apache

/scripts/restartsrv httpd



Python 2.7 with mod_wsgi is now installed on your cPanel server.

You can create a test.wsgi file to test Python scripts

def application(environ, start_response):
"""Simplest possible application object"""
output = "Hello World"
status = '200 OK'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]


Please post your questions and comments below.

Installing Linux Integration Services v2.1 Hyper-V R2 On CentOS 5

When installed on a virtual machine that is running a supported Linux operating system, Linux Integration Services for Hyper-V provides the following functionality:


  • Driver support for synthetic devices: Linux Integration Services supports the synthetic network controller and the synthetic storage controller that were developed specifically for Hyper-V.

  • Fastpath Boot Support for Hyper-V: Boot devices now take advantage of the block Virtualization Service Client (VSC) to provide enhanced performance.

  • Timesync: The clock inside the virtual machine will remain synchronized with the clock on the host.

  • Integrated Shutdown: Virtual machines running Linux can be shut down from either Hyper-V Manager or System Center Virtual Machine Manager, using the “Shut Down” command.

  • Symmetric Multi-Processing (SMP) Support: Supported Linux distributions can use up to 4 virtual processors (VP) per virtual machine.


Hyper-v won’t start if you booted from Secondary disk on soft RAID1

You’re running a Hyper-V on a Server with 2 disks and using Windows Software RAID-1. Your primary disk fails and your windows crashes, but on the reboot you have an option to boot from a secondary “plex” disk. If you choose the secondary disk as it’s your only option to boot now, the boot configuration setting (kernel) of windows is not identical with primary disk. Hyper-V will not start because the hypervisor was not enabled in the boot configuration file. What you need to do is run this command:

bcdedit /set hypervisorlaunchtype auto


This will edit the boot config file and enable the hypervisor. You have to restart your server and don’t forget to choose the Secondary disk to boot from again.

Screen-shot-2011-03-22-at-3.19.00-PM

Google Apps Alias limitations

Like many others I use Google Apps account for my emails and I have more than one domain that I add as Alias to Google Apps primary account. For quite a while I’ve been wondering if there was a limit of how many aliases I can add to Google Apps and I wasn’t able to find it anywhere in Google Help or other blogs via google search. So today I finally found this out by reaching the limit of Aliases in Google Apps (the paid Gmail).

The number of aliases you can add to your primary domain is 19. so the 20th is your primary domain.

Software Developer Kit