Thursday, July 28, 2011

Creating a lot of same sized files

Let's say you need to create 10 files with 100kB size. All you need to do is create a 1MB files and split it into 10 files.

$ dd if=/dev/zero of=myfile bs=1024 count=1024
$ ls -lh
-rw-rw-r--. 1 owner owner 1.0M Jul 28 15:33 myfile
where if is input file, of is output file, bs is byte size and count is the multipler of bs

and then
$ split -b 100k myfile x
$ ls -lh
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xaa
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xab
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xac
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xad
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xae
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xaf
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xag
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xah
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xai
-rw-rw-r--. 1 owner owner 100K Jul 28 15:35 xaj
-rw-rw-r--. 1 owner owner 24K Jul 28 15:35 xak
where -b is byte size, myfile is your file input name and x is your prefix.

Tuesday, June 14, 2011

Convert time to unix timestamp and vice versa

To convert current time to unix timestamp

$ date +%s
1308021863
where %s is seconds since 1970-01-01 00:00:00 UTC

To convert a unix timestamp to a readable time/date
$ date -d @1308021863
Mon Jun 13 22:24:23 CDT 2011
where -d is for displaying time described by the string after @

Wednesday, May 25, 2011

Install Al-Quran extension in openoffice

This was done in Fedora 13 with openoffice 3.2.0. Please follow below steps to install it:

1. Download the installation files

$ wget http://qioo.googlecode.com/files/QiOO-0.4b.zip

2. Extract it to somewhere
$ unzip QiOO-0.4b.zip
$ ls QiOO-0.4b
CHANGELOG QiOO-0.4b.oxt README.txt ScheherazadeRegOT.ttf

3. Copy ScheherazadeRegOT.ttf to /usr/share/fonts
$ sudo mkdir /usr/share/fonts/ScheherazadeRegOT; sudo cp -apv QiOO-0.4b/ScheherazadeRegOT.ttf /usr/share/fonts/ScheherazadeRegOT

4. Install the extension by opening openoffice writer and go to Tools > Extension Manager > Add, and search for the QiOO-0.4b.oxt plugin.

5. Activate CTL by going to Tools > Option > Language Settings > Languages > Enable For CTL(Complex Text Layout)

6. If all went well, you can see AlQuran menu in your openoffice writer's menubar like below.


That's all.

Friday, May 20, 2011

Cloning virtual machine on vmware esx using vmware-cmd

Below are the steps:

1. List down all the virtual machines that you have

# /usr/bin/vmware-cmd -l
/vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-1/server-1.vmx
/vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-2/server-2.vmx
/vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-3/server-3.vmx

2. Shutdown the machine that you are going to clone. Let say the machine is server-1
# /usr/bin/vmware-cmd /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-1/server-1.vmx stop

3. Use hard stop if you cannot stop it using above command
# /usr/bin/vmware-cmd /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-1/server-1.vmx stop hard

4. Make sure the vm is shutdown by viewing the state
# /usr/bin/vmware-cmd /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-1/server-1.vmx getstate

5. Copy the whole directory
# cp /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/server-1/ /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/newserver/

6. Once done, rename all the files to new name
# rename server-1 newserver /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/newserver/*

7. Change all occurrence of "server-1" to "newserver" in .vmx, .vmdk and .vmxf
# cd /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/newserver/
# sed -i 's/server-1/newserver/g' {newserver.vmdk,newserver.vmx,newserver.vmxf}

8. Edit newserver.vmx file and remove below lines
ethernet0.generatedAddress = "....."
ethernet0.generatedAddressOffset = "....."
uuid.location = "....."
uuid.bios = "....."

9. Add below line to newserver.vmx
uuid.action = "keep"

10. Register your newly cloned virtual machine. Please use the full path to register as below
# vmware-cmd -s register /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/newserver/newserver.vmx

11. Start your new vm after registration.
# /usr/bin/vmware-cmd /vmfs/volumes/47971de9-34657d96-8ac4-001d09068c0c/newserver/newserver.vmx start

Friday, February 4, 2011

vim comment lines

In linux, while editing configuration files, we always used # sign for comments. How do we do it to multiple lines in vi easily?

Steps:

1. Edit the files using vi
$ vi files.conf

2. set line number in vi (for us to easily determine what is the line number that we want to edit)
:se nu

3. replace start of lines with # (for example, put # sign in front of line 2 to line 5). The meaning of below command is for line 2 - 5, subtitute (s) start of line (^) with # sign, and press enter
:2,5s/^/#/
<enter>

4. It is done. Save your file (w) and quit (q)
:wq