Category Archives: ubuntu

How to reduce your virtualbox linux virtual machine size

After using a linux virtual machine that has been configured with dynamically expanding drive, the size gets larger even if you remove files from it.

Here is the steps to shrink your linux virtual machine size :

1- Remove any unnecessary files you don’t need from the virtual machine.

2- Fill the unused spaces on it with zeros.

  • Open the virtual machine.
  • Install zero free
sudo apt-get install zerofree
  • Reboot the machine in repair mode, and login to root shell
  • Kill any processes using the hard disk.
service rsyslog stop
service network-manager stop
killall dhclient
  • list your virtual machine harddisks
df
  • Unmount and Fill all the unused spaces for each physical drive on the machine with zeros.
mount -n -o remount,ro -t ext3 /dev/sda1 /
zerofree /dev/sda1
  • Shutdown the machine.

3- Clone the old HD file into a new shrinked one

VBoxManage clonehd oldHd.vdi newHd.vdi

4- Now add the new cloned HD file as the new HD for the machine and test it.

5- Remove your old HD file.

 

Using Juniper Network on Ubuntu 32 and 64 bit without Firefox

Lately i have moved from Ubuntu 32bit to 64bit to make use of the 8G memory, and since I have been struggling to get our juniper vpn connection working, turned out it is not compatible with 64bit binaries of java and firefox.

I found this great tutorial here to have the juniper network VPN working from command line http://mad-scientist.us/juniper.html

the only disadvantage of this is you won’t have a status window to monitor the connection activity.

This has been tested on Ubuntu 10.10 maverick.

Speed your internet browsing on Ubuntu using local DNS Cache

Use these steps to speed your internet browsing requests on Ubuntu, by enabling local DNS cache :

1- Run this command to install dnsmasq package

sudo apt-get install dnsmasq

2- Modify the file :

sudo gedit /etc/dnsmasq.conf

change the line :

#listen-address=

To :

listen-address=127.0.0.1

3- Modify the file :

sudo gedit /etc/dhcp3/dhclient.conf

Ucomment the line :

prepend domain-name-servers 127.0.0.1;

4- Add the DNS 127.0.0.1 to your connection through your connection manager

Your DNS servers should be :

127.0.0.1,8.8.8.8,4.2.2.4

5- Restart your connection

sudo /etc/init.d/networking restart

To check if it is working issue the following command twice:

dig php-architect.com | grep 'Query'

first response will be like :

;; Query time: 96 msec

run the previous command again

dig php-architect.com | grep 'Query'

Response now should be :

;; Query time: 0 msec

This will speed your browsing especially in pages with many HTTP requests.

Backup or Export, Compress and upload mysql database to remote host

This is a handy command that i use to backup or export, compress and upload a mysql database to my remote host, very handy when you wanna upload your development database to the remote host after some changes.

/usr/mysql/bin/mysqldump --opt -uUsername -pPassword Databasename  | gzip -c | ssh -q user@remote-host.com 'cat > ~/Databasename.sql.gz'

Replace the following :

  • /usr/mysql/bin/mysqldump : The path for mysqldump on your localmachine
  • Username : Username for local mysql database.
  • Password : Password for local mysql database.
  • Databasename : Name of the database to export.
  • user@remote-host.com : the user and the IP or the address of the remote host.

the above command will upload the compressed database to your home directory on the remote host, to change the directoy, replace ~/ with the path you want.

Virtualbox hidden gems, VBoxManage

Virtual box has this little secret, the Command Line interface (CLI), this is very useful for users who wants to manage their virtual boxes on headless servers.

Question is why using command line while you have a nice easy to use GUI, the answer is POWER. you can do anything with the virtual box command line, you can create virtual machines, modify their settings, take snapshots, start and shutdown them.

VBoxManage supports everything the graphical user interface does, and much more.

VBoxManage has its share of Virtual Box documentation, you can find it here http://www.virtualbox.org/manual/ch08.html

Installing Java plugin for Firefox on Ubuntu 10.10 (Maverick)

Again after upgrading from Ubuntu 9.10 to 10.4, I had some issues getting Java to work with Firefox, after checking the software center, I found that the Java plugin for firefox is not working properly which broke my vpn connection.

To get this fixed, I simply followed the steps :

1- Backup your repositories files.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

2- Open your repositories file:

sudo gedit /etc/apt/sources.list

3- Add the following line then close the sources.list file

deb http://archive.canonical.com/ubuntu maverick partner

4- Uninstall both icedtea6-plugin and openjdk-6-jre.

sudo apt-get remove icedtea6-plugin openjdk-6-jre

5- Install sun-java6-plugin

sudo apt-get update
sudo apt-get install sun-java6-plugin
sudo update-alternatives --install /usr/lib/mozilla/plugins/mozilla-javaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so 1

6- Close your firefox and reopen it again, it should be working smoothly.

Backup / Increase the Guest OS Drive on VirtualBox

Tried to search online for a way to increase the size of a vdi image, and there was no solution available online to do so.
I had windows XP installed on a virtual machine for mail, and testing purposes on the most hated IE6, and the drive ran out of a space, no solution or work around helped me increase it, all the solutions to modify the partition table, etc didn’t work for me.
Here is the simple steps i followed :

  • Add Another Disk Drive to the Guest OS
  • Backup the Guest Operating system drive using Norton Ghost to the newly added drive.
  • Copy the backup to a DVD image (I had to move it to the host drive first)
  • Make a new Virtual Machine with the new size you want.
  • Boot the new machine using Norton Ghost drive, and attach the DVD image with the created backup.
  • Restore the backup from the DVD created using Norton Ghost.
  • Restart the machine and you should have a working.
  • Delete the created DVD image, the extra hard disk, and the old machine.

If you have a shorter solution, please share 🙂

Installing Zend Server on Ubuntu 10.04

I have been having issues trying to install Zend Server on Ubuntu 10.04 following the steps here http://files.zend.com/help/Zend-Server-5-Community-Edition/zend-server.htm#deb_installation.htm
the problem was because there is a missing dependency for the “libmysqlclient15off” MySQL client library

to solve this, I had to install “libmysqlclient15off” from here (select the one that matches your architecture)

http://archive.ubuntu.com/ubuntu/pool/universe/m/mysql-dfsg-5.0/

Then install it using the command line :

dpkg -i libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb

after that running the installation for Zend server from through repositories, will work with no interruptions.

Compress and Split large files under Linux

One of the common problems i used to face is transferring large files from Linux through mediums that doesn’t support large files, especially when it comes to more than 100 GB files, usually that is a virtual machine hard disk, or backup file.

To compress and split files under linux, this command can be used:

tar -cvj large-file.dvi | split -b 1000m -d - "small-files.tar.bz."

This command will compress and split the “large-file.dvi” to many files with size 1000mb for each, giving it the name “small-files.tar.bz.0, small-files.tar.bz.1, etc….”

To join the files together again, this command can be used:

cat small-files.tar.bz.* > large-file.tar.bz

and to extract the output file :

tar -xvj large-file.tar.bz

Good Solaris How To list

Was looking for a way to grep for something in a subdirectory and stopped by this short but usefull Solaris How To list.

The grep item works with unix / linux boxes as well.

http://jeffnester.com/howtos/solaris/solaris.html

enjoy the power of shell 🙂