Attaching new EBS volume in AWS EC2 instance.

Amazon AWS plus EC2 logo_scaled

In AWS, EC2 by default provide 8GB space, in a past project I had to extend the size of one of my development instance as the data was growing fast. From AWS console add new EBS volume. Then attach it to your instance by AWS console and log into you EC2 instance via ssh.

Run following command:


sudo fdisk -l

which will show list of volumes with the newly added volume as unpartitioned. Something like below:

Screen Shot 2012-09-19 at 1_up_2

Then next step is to build the file system of new EBS volume using unix command mkfs. Like below:


sudo mkfs -t ext4 /dev/xvdf

Screen Shot 2012-09-19 at 1_mkfs

Next you have to mount it in your desired path,  e.g. /mnt/ebs1. Run following command:


sudo mount /dev/xvdf /mnt/ebs1

Then add an entry into /etc/fstab. it would be something like this:


"/dev/xvdf  /mnt/ebs1 ext4 defaults 1 1"

There are facts if you add the EBS volume to your /etc/fstab and some how if there are  issue (like file system corruption, unavailability of zone  etc ) with the volume during booting the instance it will not be booted. Because while booting your system will look for the entry and when its not available the whole instance is down. Check AWS forum post for details.

And also check this whole SO discussion to resolve this issue in alternative way ( using a script for example).

Check following docs if you are more interested about the unix commands that used in this post.

fdiskmount and unmount  and mkfs.

Advertisements

Daily Unix Commands

If you are a dev or a sys admin  you must rely on unix command to get things done.

These are my daily unix tools list,I am putting these together for myself as a future reference,if it helps anyone else I will be happy 🙂

Screen

I use ‘screen’  for keeping myself alive in my remote cloud machines. If you are new to screen,please check this docs.

Checking list of screen in current machine 'screen -ls'
Resuming 'screen -r screen_name' or 'screen -r pid'
Create new screen 'screen -S screen_name'
Detach from screen using 'ctrl+a+d'
Copy mode start 'ctrl+a+{'
Kill the current window 'ctrl+k'

Screen cheatscheet1 screen cheat sheet2

File Compression

Using zip and unzip

Zip command example is like below:

zip backup.zip filename1 filename2
zip -r backup.zip dir_name

Unzip command example is like below:

unzip backup.zip

tar,gzip and bzip2

tar cfv backup.tar filename1 filename2
tar xvf backup.tar

for specific directory

tar xvf backup.tar -C /dir_name/

to use gzip compression use -z  and for bzip2 compressing use -j like this

for compression:

tar -zcfv backup.tar.gzip filename1
tar -jcfv backup.tbz2 filename

for uncompression

tar -zxvf backup.ta
tar -jxvf  backup.tbz2

Unix file compression cheat sheet

And if you want to learn details about this compression techniques please check this

Vim basics

I use vim for editing files in unix system(specially in remote machines).These are list of commands I use:

Basic Navigation:


j->down
k->up
l->left
r->right
H->first line of the file
G->last line of the file
$->end of the line

Changing Line:


yy->copy the current line
p->paste the copied line

check Vim Cheat sheet .

I rarely use ‘sed’ command,and I only used it for easy find replace of strings(its really handy when you have to work on multiple files for same find replace ).The syntax is like below:

sed s/search_string/replace+string old_file.txt > new_file.txt

check sed refernce

Unix sort & uniq

It was around 2 Am and I was working like a caveman,but its hard to escape bed time 😦

Suddenly I found I set a wrong cron job in a cloud and it generated duplicate results.I have to make a report from the cron output and every line should be unique.The file is around 1.2 GB.

It was  a json file, that has several thousand lines,many of them are redundant.I have to remove the redundant  values and make a file which every line is unique.

I started to write a python script to do that,I was on the half way to finish my python script that takes file and create another file that contains uniqu elements from the input file.As I was too tired,thought I should do a search is there any unix command to this job.And found exactly what I needed 🙂

sort filename.txt | uniq

Or

cat filename.txt | sort -u

If the input file contans:

Line 1
Line 2
Line 2
Line 3
Line 1
Line 3

The command generates

Line 1
Line 2
Line 3

And I just redirected the output of the command into a new file like below:

sort filename.txt | uniq > result.txt

Explanation of the command:

sort’ command lists all the lines by default alphabetically and ‘uniq’ command can eliminate or count duplicate lines in a pre sorted file.

You can also use sort and uniq in different situation, for  details check following links:

Sort and Uniq

These two utility command will help me to sleep early 🙂

Reset Mysql Root password in Ubuntu

For last couple of months when I tried to access my mysql,I sadly discover that I forgot the root password.
And google a lot to know the reset details.

I know in future I will need the steps again as why thought It would be better to write it down.
Its very simple,all I did.

1.Stop running Mysql


service mysql stop

or using

sudo /etc/init.d/mysql stop

2.Starting the mysql configuration ,login as a root in mysql and update the root user’s password.

sudo mysqld --skip-grant-tables &

Access to mysql using

mysql -u root mysql

And the type update the root user password using following command

UPDATE user SET Password=PASSWORD('new pass') WHERE User='root'; FLUSH PRIVILEGES; exit;

Then you will see “OK” confirmation like below:

Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

Query OK, 0 rows affected (0.00 sec)
Bye

Then you can access to your mysql using following command

mysql -u root -p

Thats it.

Check out mysql doc for details

Internet connection configuring in Ubuntu

Couple of days ago I was trying to set all the network information in system to “Network Connections”(System>Preferences> Network Connection).I put all the necessary information in the fields as those are necessary to set the wired broad band connection.Unfortunately the connection could been established.So I tried to find out the configuration file which one writes down the network information to establish a connection.And found “/etc/network/interfaces “.So,I wrote the following commands to the terminal:

sudo gedit /etc/network/interfaces

The file was containing: “auto lo”

” iface lo inet loopback “.

As I guessed the network information were not wriitten to the file so I wrote follwoing informations:

auto eth0
iface eth0 inet static
address 192.168.100.118(put you internet address provided by the ISP)
gateway 192.168.100.1(gateway address)
netmask 255.255.255.0
network 192.168.100.0

Then I saved the file.And restarted the network using following command:

sudo /etc/init.d/networking retstart

For DHCP connection just have to put the following line into the /etc/network/interface  file


auto eth0

iface eth0 inet dhcp

The have to restart network.The connection will be established 🙂

Media player installation in Ubuntu(উবুন্টুতে মিডিয়া প্লেয়ার ইন্সটেলেশন.ভিলসি)

নতুন উবুন্টু ব্যাবহারকারীরা সবচেয়ে বেশি সমস্যায় পড়েন যে তাদের কোন অডিও বা ভিডিও ফাইল চালাতে পারেন না। সহজ়েই প্লেয়ার ইন্সটেলেসন সম্বভ।নিচে ভিলসি প্লেয়ারের ইন্সটেলেশনের দুই ভাবে তুলে ধরা হলঃ

নিচের প্রকিয়াতেই অবশ্যি ইন্টারনেট কানেকশন লাগবে।

প্রথম প্রকিয়াটি কমান্ড লাইনেঃ

Application>Accessories>Terminal এ ক্লিক করুনঃ

টার্মিনাল খুললে পরে “sudo apt-get install vlc” লেখুন

টার্মিনালে কমান্ড লেখা

সুডো পাসওর্য়াড চাওয়া হবে,পাসওর্য়াড দিলেই ইন্সটেলেসন শুরু হবে।এর পরেই, আপনি ইন্সটলন করবেন কিনা confirmation চাওয়া হবে,Y press করে এন্টার চাপ্লেই ইন্সটেলশন শুরু হবে

ইন্সটেলেশনের confirmation চাওয়া হচ্ছে

দুই নম্বর প্রকিয়াটি Ubuntu software center এর মাধ্যমেঃ

Application মেনু তে ক্লিক করুন,নিচে Ubuntu Software center মেনু দেখতে পাবেন,মেনুতে ক্লিক করে

Ubuntu Software center প্রবেশ করুন।

উবুন্টু সফটয়্যার সেন্টার

সার্চ বক্সে vlc লিখে সার্চ দিন নিচের মত আইকন আসবে install ক্লিক করলেই ইন্সটেলেসন শুরু হবে

সার্চ রেজাল্ট vlc

ইন্সটেলশন শেষ হলে,যে কোন মিডিয়া ফাইলকে vlc দিয়ে paly করা সম্বভ হবে।

উবুন্টুতে LAMP(লিনাক্স,আপ্যাচি,মাইএসকিউএল,পিএইচপি)ইন্সটেলেশন

উবুন্তুর যে কোন নতুন ভার্সন রিলিজ হওয়ার সাথে সাথেই আমি এক বা একাধিক কপি পেয়ে যাই(canonical হতে ফ্রি কপি)।এবার উবুন্টু 10.04 এর গ্রাফিক্স আমার দারূন লাগায়,সিধান্ত নিয়েই ফেলি এখন থেকে বেশির ভাগ কাজই উবুন্টুতে করবো।তাই প্রথমেই আমাকে পিএইচপি,মাইএস্কিউলের জন্য LAMP ইন্সটল করতে হয়।
এ জন্য পিসিতে নেট কানেকশন থাকতে হবে।
প্রথমে র্টামিনালে (Accessories > Terminal) যেতে হবে,তারপর  ~sudo tasksel install lamp-server কমান্ডটি চালাতে হবে।আপনার root পাসওয়ার্ডটি চাওয়া হবে।

পাসওয়ার্ডটি দেয়ার সাথে সাথেই ইন্সটেলেশন শুরু হবে।ইনস্টেলেশনের একটি ধাপে মাইএসকিউএলের root পাসওয়ার্ড চাবে,root পাসওয়ার্ড দেয়ার কিছু ক্ষনের মধ্যে ইন্সটেলাশন শেষ হবে।

চেক করার জন্য ব্রাউজারে http://localhost লিখুন।নিচের ইমেজটি দেখা যাবে

এখানে বলে রাখা উচিত যে web root এর পাথ হলো  /var/www/

এখানে নিজের মত ফোল্ডার তৈরী করে কাজ করা যাবে।আমি default index.html ফাইল্টিকে delete করে নিজের মত index.php ফাইল তৈরী করেছি।এ জন্য র্টামিনালে যেয়ে নিচের command গুলো চালাতে হবে

~cd /var/www/

[ডিরেক্ট্রি পরিবর্তন করলাম]

~rm index.html

[index.html ফাইলটি delete করলাম]

~touch index.php

[ index.php file তৈরি করলাম]

~sudo gedit /var/www/index.php

[ index.php file  এডিট করার command দিলাম]

একটি ব্ল্যাঙ্ক ডকুমেন্ট খুলবে তাতে কিছু তাতে কিছু test পিএইচপি কোড করে সেভ করলেই চলবে।

index.php ফাইলে php কোড লেখা

এরপর localhost লিখকেই ব্রাউজারে index.php এর কনটেন্ট দেখা যাবে ঃ)

উবুন্টুতে ল্যাম্প ইন্সটেলেশন এতোই সহজ 😀

ubuntu 1

Battery Info and Others in ubuntu :

This is for the battery info of my HP laptop  🙂

/proc/acpi

Details about proc directory:

/proc :

A virtual file system containing information about system resources. More information about the meaning of the files in proc is obtained by entering the command man proc in a terminal window.

You can know others system hardware info such as cpu,fan,memory from watching the file using cat command.