Searching for a solution to automate data entry task in my office software using Javascript, Greasemonkey and CSV Files



Ok... let's start to tell the story in short.

I am a banker and I am to spend a lot of time to enter various of kinds of data in our banking software. Sometimes we require to input a lot more data (e.g. salary of our staff, salary of the corporate customer who has more than 1000 employees) from a excel file one by one in hand which is really tedious and time consuming.

In our banking software there is an option to import file from the excel file but most of the time it fails to do what it is meant to do and it gives some weird message that  can understand only our in house developer- I guess. So we fall in a bizarre situation when it fails and are to input all those data by hand.

So that's the the short story.

After falling in that situation I began to search a way so that I can input data after loading the page in web browser (out software is web based). As I am not the developer so I need to find a different route and I have no access to the server.

Therefore I assume that I need to have some addons in my browser which will run my code (obviously JavaScript) after loading the page. Fortunately, I have found that addons namely- Greasemonkey and it's closely cousin/variants- Violentmonkey & Tampermonkey. Anyone of those addons will do the work and it can be found in addon manager of the browser. I have installed Greasemonkey in Firefox and Tampermonkey in Google Chrome. You may choose anyone of this and the matter will not vary.

Then I thought I need a CSV parser which will read my CSV file(converted from excel file) to input the data in the software. After searching some Javascript library I have decided to use https://www.papaparse.com/ which is very easy to use.

Here I will describe the process that I have followed to solve the problem.

1. Install the greasemonkey in your browser

2. Click on the icon of greasemonkey in the toolbar of the browser.

3. Click on Create New Script.

4. Copy the following line to the editor

-----------------------------------------------------------------------------------
// ==UserScript==
// @name     import csv file
// @version  1
// @grant    none
// @require https://unpkg.com/papaparse@latest/papaparse.min.js
// @include *test.html
// ==/UserScript==

var input=document.createElement("input");
input.type="file";
input.id = "userfile";

document.body.appendChild(input);

var par = document.createElement("p"); //creating the paragraph element
var text = document.createTextNode("File Format(csv)-Field-Account, Name, Amount-with row heading"); //creating the text node
document.body.appendChild(par.appendChild(text)); //appending the text to

var input1= document.getElementById('userfile');

input1.addEventListener('change', function() {
    Papa.parse(input.files[0], {
        header: true,
        complete: function(results) {
            //console.log("Finished:", results.data);
            var accTypes = document.getElementsByName('accType[]');
            var accounts=document.getElementsByName('accNo[]');
            var byNos = document.getElementsByName('byNo[]');
            var names=document.getElementsByName('empName[]');
            var salaries=document.getElementsByName('salary[]');

            var i = 0;
            //Finding the header name of the fields in CSV File (Include Field name of the data in CSV File)
            var header_1 = results.meta['fields'][0];
            var header_2 = results.meta['fields'][1];
            var header_3 = results.meta['fields'][2];

            results.data.forEach(function(row){
                if(i < accTypes.length) {
                    var cur_acc = row[header_1];
                    accTypes[i].value = cur_acc.substr(7,2);
                    accounts[i].value = cur_acc.substr(9,6);
                    byNos[i].value = cur_acc.substr(15,2);

                    names[i].value = row[header_2];
                    salaries[i].value = row[header_3];

                    i = i + 1;
                }
            });
        }
    });
})
-----------------------------------------------------------------------------------

The first 7 lines are very important to Greasemonkey. This section starts with // ==UserScript== Tag and ends with // ==/UserScript==. These lines are marked as comments to Javascript but important configurations to Greasemonkey. Here all the instructions begin with @ sign. @name is name of the script, @version is the version number, @require is to include external file(e.g. papaparse.min.js), @include is for instructing the script to the page where it can execute (here this script will run on test.html page). It can be given to any webpage by regular expression format such as http://mysite*, *mypage.html etc.

After the above works we need to create a web page for testing called test.html.
File. test.html
--------------------------------------------

------------------------------------------
In the above I have created control for 50 records.

Now create a Excel File with Three Fields( Account No- 30501231001187609, Name- A. Kalam, Salary- 5000) and at least 50 rows with sample data.

Now Export it as CSV File from the Save As Menu of Excel Software and open the test.html file. Select the file by file browser icon and select it.

Hope this may help you to automate task at your office.


লিনাক্সে মেশিনকে বিভিন্ন মোডে শাডডাউন করা

আমরা আজকাল ল্যাপটপ ব্যবহার করি কিন্তু এর পুরো সুবিধা নিতে পারি না বিভিন্ন অপশন সম্পর্কে না জানার কারনে । যেমন যারা লিনাক্স ব্যবহার করি তারা মেশিনকে বিভিন্নভাবে শাট ডাউন করতে পারি যেমন Hibernate, Suspend, Hybrid ইত্যাদি মোডে । সাধারন শাট ডাউন করার ফলে আমাদের মেশিনটি পুরোপুরি বন্ধ হয়ে যায় এবং পুনরায় চালু করলে আপনার আগের সেশনে যে সমস্ত প্রোগ্রামে কাজ করছিলেন তা পুনরায় ওপেন করতে হয়। কিন্তু সাধারন শাট ডাউন না করে আমরা যদি উপরে উল্লেখিত তিনটি মোডের যেকোন একটি মোডে শাট ডাউন করি তাহলে কয়েক সেকেন্ডের ব্যবধানে আপনার মেশিনকে চালু করতে পারবেন এবং বিভিন্ন প্রোগ্রাম যা খোলা অবস্থায় রেখেছিলেন তা পুনরায় সে অবস্থায় ফিরে পাবেন। এটি যারা বেশ কয়েকটি প্রোগ্রাম নিয়ে একসাথে কাজ করেন তাদের জন্য বেশ সুবিধাজনক।

এছাড়া ধরুন ভ্রমনে আছেন তখন বারবার মেশিন চালু করা সময়সাপেক্ষ এবং এর জন্য ব্যাটারী চার্জ ও দ্রুত শেষ হয়ে যায়। তাই আপনার মেশিনটি Suspend মোডে রেখে ব্যাগে রেখে দিতে পারেন এবং আবার প্রয়োজনে পাওয়ার বাটন চাপ দিলেই কয়েক সেকেন্ডে মেশিন চালু হয়ে যাবে।

Suspend মোডে মেশিনকে ল্যাপটপ ব্যাটারী দিয়ে ১-৩ দিন বা ৫ দিন ও রেখে দেয়া যায় ব্যাটারী ক্ষমতা উপর নির্ভর করে। যেমন আমি নিজেও পরীক্ষা করে দেখেছি Suspend মোডে রেখে ঘন্টাখানেক পর এসেও চার্জ ১০০% পেয়েছি ল্যাপটপে যদিও সে সময় পাওয়ার সাপ্লাই বন্ধ রেখেছিলাম।

এবার আসুন জেনে নিই কোন মোডে কি কাজ হয় ।

Suspend মোডে মেশিনের পুরো স্টেট Ram এ সেভ হয় এবং মেশিনের প্রায় সকল হার্ডওয়্যার এ মোডে বন্ধ থাকে তাই পাওয়ার খুব কম লাগে । Suspend মোডে খুব সামান্য পরিমান ব্যাটারী চার্জ নষ্ট হয় তাই ১//৩ এমনকি ৫ দিন পরও মেশিন চালু করা সম্ভব।

Hibernate মোডে মেশিনের পুরো স্টেট হার্ডডিস্কে সেভ হয় এবং এ অবস্থায় যতদিন পরই মেশিন ওপেন করুন না কেন সে অবস্থায় ফিরে পাবেন । Hibernate অবস্থায় ব্যাটারী চার্জ নষ্ট হয় না।

Hybrid মোডটি উপরের দুটি মোডের সমন্বয় বলতে পারেন। অর্থাৎ এ মোডে মেশিনের পুরো স্টেট হার্ডডিস্কে সেভ হয় কিন্তু মেশিনের পাওয়ার পুরো শাটডাউন হয় না। তাই মেশিন দ্রুত চালু করা যায় এবং মেশিনের চার্জ শেষ হয়ে গেলেও Hibernate মোডের মত মেশিনকে আবার চালু করা যায়।

আসুন ডেবিয়ান জিএনইউ/লিনাক্সে কিভাবে এগুলি ব্যবহার করবেন তা দেখি-

এ কমান্ডগুলির জন্য অবশ্যই pm-utils নামক প্যাকেজটি লাগবে । এটি ইনস্টলের কমান্ডঃ
aptitude install pm-utils

ইনস্টল হয়ে গেলে কয়েকটি প্রোগ্রাম চালু করুন একই সাথে। তারপর টার্মিনাল খুলে রুট ইউজার হিসেবে কমান্ড দিনঃ

pm-suspend

ব্যস মেশিন suspend মোডে চলে যাবে। এ অবস্থায় ল্যাপটপের একটি ইন্ডিকেটর লাইট জ্বলতে/নিভতে থাকবে। পাওয়ার ডিসকানেক্ট করার পরও করতে থাকবে । চিন্তার কিছু নেই। এ অবস্থায় ল্যাপটপকে ব্যাগের মধ্যে রেখে দিতে পারেন। তারপর কয়েক ঘন্টা পর আবার চালু করার জন্য পাওয়ার বাটনকে একবার চাপ দিন। কয়েক সেকেন্ডের মধ্যে আগের চালু করার প্রোগ্রামগুলি সহ মেশিন চালু হয়ে যাবে।

অন্য দুটি মোডের কমান্ড হচ্ছে-
pm-hibernate
এবং
pm-suspend-hybrid

এগুলিও পরীক্ষা করে দেখতে পারেন এক এক করে। আশা করি এগুলির কাজ বুঝতে পারবেন।

এভাবে কমান্ড মোডে কমান্ড না দিয়ে আপনার ব্যবহৃত ডেস্কটপ এনভারোনমেন্ট যেমন- কেডিই, গ্নোম, এক্সএফসিই, এলএক্সডিই এর শাটডাউন/পাওয়ার অপশন থেকেও কমান্ড দিতে পারেন মাউসের মাধ্যমে ।

লিনাক্স ইনস্টলেশন প্রস্তুতি - ১ (হার্ডডিস্ক পার্টিশন)

লিনাক্স ইনস্টল করতে গিয়ে শুরুতে অনেকে বিভিন্ন সমস্যায় পড়েন। কারন লিনাক্স ইনস্টলের পদ্ধতি আর উইন্ডোজ ইনস্টলের পদ্ধতি পুরোপুরি ভিন্ন । এজন্য উইন্ডোজ ইনস্টলে দক্ষ ও অভিজ্ঞ ব্যক্তি ও লিনাক্স ইনস্টলের সময় হার্ডডিস্কের পার্টিশন ফরম্যাট করে ফেলা, পুরো পার্টিশন টেবিল ভেঙ্গে একটি করে ফেলা, উইন্ডোজ পার্টিশন মুছে ফেলা, উইন্ডোজ অপারেটিং সিস্টেম মুছে ফেলা ইত্যাদি নানা ধরনের সমস্যা সৃষ্টি করে ফেলেন। কিন্তু একটু সময় নিয়ে অভিজ্ঞদের সহায়তা ও ম্যানুয়াল পড়ে নিলে এ ধরনের সমস্যা এড়ানো সম্ভব।
তাই আসুন আজ আমরা লিনাক্স ইনস্টলের জন্য চমৎকারভাবে হার্ডডিস্ক পার্টিশন করা শিখে নেই।
শুরুর দিকে উইন্ডোজ ইনস্টলের জন্যও কমান্ড লাইনে fdisk নামের একটা টুলসের সাহায্যে হার্ডডিস্ক পার্টিশন করতে হত। কিন্তু বিষয়টি এখন ক্লিক এন্ড গো এর মতই সোজা । তবে একটি বিষয় এক্ষেত্রে সবার দৃষ্টি এড়িয়ে যায় আর তা হল আগে কমান্ড লাইনে কাজ করতে গিয়ে কমবেশী সবাই জেনে নিতেন হার্ডডিস্কের গঠন কাঠামো ও ফাইল সিস্টেম সম্পর্কে । আর এখন বাস্তবতা হলো- ক্লিক এন্ড গো পদ্ধতিতে কাজ করতে গিয়ে সবাই হার্ডডিস্কের ডিটেইলস সম্পর্কে না জেনে তালগোল পাকিয়ে ফেলেন।
প্রথমে আমরা উইন্ডোজ ফাইল ম্যানেজার/মাই কম্পিউটারে ঢোকার পর যে C/D/E/F ড্রাইভ দেখি এটার কথা সাময়িকভাবে ভুলে যাই। কারন এটি আপনাকে হার্ডডিস্কের আসল রহস্যটা লুকিয়ে রেখে উপরের অংশটা দেখায়। হার্ডডিস্কের ডিটেইলস জানতে হলে My Computer এর উপর রাইট মাউস বাটন ক্লিক করে Manage এ ক্লিক করুন। তারপর বাম দিকের ট্রি কন্ট্রোল/মেনু থেকে Disk Management এ ক্লিক করুন। তাহলে নিচের মত দেখতে পাবেন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DeHdhTlZPcFo4cVk
খেয়াল করে দেখুন, ছবির একদম নিচে পার্টিশন মোট ৩ প্রকার- Primary partition, Extended partition, Logical drive। প্রাইমারি পার্টিশন এর কালারের সাথে যেগুলি মিলবে সেগুলি প্রাইমারি পার্টিশন। নীল কালারের যে ৫টি লজিক্যাল ড্রাইভ /পার্টিশন রয়েছে সেগুলিকে ঘিরে আরেকটি সবুজ রংয়ের বর্ডার বিদ্যমান। অর্থাৎ এ ৫টি লজিক্যাল ড্রাইভ একটি এক্সটেনডেড পার্টিশন এর আওতায় রয়েছে ।
লিনাক্সে এটি দেখার জন্য শেল প্রম্পটে ঢুকে কমান্ড দিন- sudo fdisk -l অথবা gparted চালু করুন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DeHdhTlZPcFo4cVk
এবার আসুন কিছু তাত্ত্বিক কথাবার্তা বলি। একটি হার্ডডিস্কে সর্বমোট ৪টি প্রাইমারি পার্টিশন থাকতে পারবে । এর বেশী প্রাইমারী পার্টিশন করা সম্ভব না । যখন হার্ডডিস্কের ধারন ক্ষমতা ছিল খুব কম মাত্র কয়েক মেগাবাইট/এক বা দুই গিগাবাইট তখন এটি ছিল যথেষ্ট । কিন্তু যখন ধারনক্ষমতা বৃদ্ধি পেতে শুরু করে তখন প্রাইমারি পার্টিশন ছাড়াও আরও বেশী পার্টিশন তৈরির প্রয়োজনীয়তা দেখা দেয়। তখন ৩টি প্রাইমারী পার্টিশন করা হয়ে গেলে বাকী স্পেসকে একটি প্রাইমারী এক্সটেনডেড পার্টিশন হিসেবে তৈরীর সুযোগ দেয়া হয় । এই এক্সটেনডেড পার্টিশনকে যেকোন সংখ্যক পার্টিশনে বিভক্ত করা সম্ভব ।
তাহলে আমরা দেখলাম-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DZmRQeE9QXzlNeTA
মোট ৪টি প্রাইমারী পার্টিশন থাকতে পারে একটি হার্ডডিস্কে এবং শেষের টিকে এক্সটেনডেড পার্টিশন (এটি ও মূলতঃ প্রাইমারী পার্টিশন) হিসেবে নিয়ে যেকোন সংখ্যক পার্টিশনে ভাগ করা যেতে পারে। অর্থাৎ উপরের হার্ডডিস্ককে আমরা এখন নিচের মত ভাগ করতে পারি-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DYmVhNllUNm1iWDg
উপরের পার্টিশনটিকে উইন্ডোজের মাই কম্পিউটারে দেখাবে এমনভাবে-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DYllNOTNHVnc0Zm8
তাই মাই কম্পিউটারে ঢুকে বোঝা সম্ভব নয় ঠিক কতটি প্রাইমারী ও লজিক্যাল পার্টিশন রয়েছে আপনার হার্ডডিস্কে। যদি আরেকটি হার্ডডিস্ক জুড়ে দেয়া হয় আপনার মেশিনে বর্তমানটির সাথে তবে সেগুলিও লজিক্যাল পার্টিশন হিসেবে দেখা যাবে My Computer → Manage এ গেলে।
এবার আমরা দেখি উপরের হার্ডডিস্কটিকে লিনাক্সে কিভাবে দেখাবে-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DT3hLOWM0V283Tzg
যদি আপনার ডিস্কে প্রাইমারি পার্টিশন ১টি কম থাকে তবে উইন্ডোজে একইরকম দেখা যাবে।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DbUEzcTgxajFhOUE
কিন্তু লিনাক্স এক্ষেত্রে আরো স্মার্ট। লিনাক্সে দেখাবে নিচের মত।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DNUVkdXVzb3prYTA
অর্থাৎ লিনাক্স সবসময় প্রাইমারি পার্টিশন এর জন্য ১-৪ নম্বর রিজার্ভ রাখে। লজিক্যাল পার্টিশন শুরু হবে ৫ নম্বর থেকে । তবে উপরের sda1 দেখে হয়তো ভাবছেন এটা আবার কি জিনিস। এর থেকে তো C/D/E/F বোঝাই সহজ। তবে আপনার জন্যই বলি, লিনাক্সের পার্টিশন টেবিল যদি একবার বুঝে যান তখন উইন্ডোজ এর টি ফালতু মনে হবে। আচ্ছা বলুন তো- যদি ৩ টি হার্ডডিস্ক থাকে আপনার মেশিন তাহলে বলতে পারবেন C/D/E/F দেখে কোনটি কোন হার্ডডিস্কের পার্টিশন? লিনাক্সে তাও সম্ভব। আসুন দেখা যাক বিষয়টি-
এখানে sda1 প্রথমে বুঝে নেই। যদি আপনার হার্ডডিস্কটি SCSI/SATA হার্ডডিস্ক হয় তবে প্রথম দুটি অক্ষর দেখবেন sd আর যদি IDE হার্ডডিস্ক হয় তবে এটিকে দেখবেন hd হিসেবে। আর sd এর পরে a এর অর্থ হল প্রথম হার্ডডিস্ক। যদি দ্বিতীয় হার্ডডিস্ক হয় তবে দেখবেন b, তৃতীয় হার্ডডিস্ক হলে দেখবেন c ইত্যাদি। তারপর আছে 1 অর্থাৎ প্রথম পার্টিশন এবং অবশ্যই এটি প্রাইমারি পার্টিশন কারন ১-৪ পর্যন্ত সবই প্রাইমারী পার্টিশন। যদি 5 হতো তাহলে এটি হতো প্রথম লজিক্যাল ড্রাইভ। যদি একটি প্রাইমারী পার্টিশন থাকে মেশিনে তবে sda5 হবে উইন্ডোজের D ড্রাইভ আর লিনাক্সের প্রথম লজিক্যাল পার্টিশন। sda3 হলে উইন্ডোজে এটি হবে E ড্রাইভ আর লিনাক্সে হবে প্রথম হার্ডডিস্কের ৩য় প্রাইমারী পার্টিশন।
এখন বলুন তো, sdc5 হলে কি হবে? হ্যাঁ ঠিক ধরেছেন, এটি হবে তৃতীয় হার্ডডিস্কের প্রথম লজিক্যাল পার্টিশন। আর উইন্ডোজে কি হবে তা প্রথম ও দ্বিতীয় হার্ডডিস্কের পার্টিশন কয়টি এবং তৃতীয় হার্ডডিস্কের প্রাইমারী পার্টিশন কয়টি তার উপর নির্ভর করবে । তাই বলা সম্ভব নয়। যদি প্রথম ও দ্বিতীয় হার্ডডিস্কে মোট ৮ টি পার্টিশন থাকে ওবং তৃতীয় হার্ডডিস্কে ২ টি প্রাইমারী পার্টিশন থাকে তবে এটি উইন্ডোজে M ড্রাইভ হিসেবে দেখাবে।
আর লিনাক্সের সবধরনের ডিস্ক, ডিভাইসকে /dev/ ফোল্ডারে দেখানো হয় তাই /dev/sda1 এর পূর্নাঙ্গ অর্থ হবে এরকম-
/dev/sda1 - /dev ফোল্ডারে প্রথম(a) sd হার্ডডিস্কের প্রথম (1) প্রাইমারী পার্টিশন। (উইন্ডোজে C Drive)
/dev/sda5 - /dev ফোল্ডারে প্রথম(a) sd হার্ডডিস্কের প্রথম (5) লজিক্যাল পার্টিশন। (উইন্ডোজে D Drive যদি একটি প্রাইমারী পার্টিশন হয়)
/dev/sda7 - /dev ফোল্ডারে প্রথম(a) sd হার্ডডিস্কের তৃতীয় (7) লজিক্যাল পার্টিশন। (উইন্ডোজে E Drive যদি একটি প্রাইমারী পার্টিশন হয়)
/dev/hda5 - /dev ফোল্ডারে প্রথম(a) hd হার্ডডিস্কের প্রথম (৫) লজিক্যাল পার্টিশন। (উইন্ডোজে D Drive যদি একটি প্রাইমারী পার্টিশন হয়)
সুতরাং লিনাক্সে আরো ভালভাবে বলা যায় আপনি কোন হার্ডডিস্কের কত নম্বর প্রাইমারী/লজিক্যাল পার্টিশনে কাজ করছেন যা উইন্ডোজে খুজে পাওয়া বেশ কষ্টকর My Computer → Manage থেকে।
তাই লিনাক্স বেশী স্মার্ট।
আরেকটি কথা- উইন্ডোজ OS প্রাইমারী পার্টিশন ছাড়া ইনস্টল করা যায় না কিন্তু লিনাক্স OS প্রাইমারী/লজিক্যাল যেকোন পার্টিশনে ইনস্টল করা যায়।
তাই পূর্বে উইন্ডোজ ইনস্টল করা মেশিনে gparted দিয়ে একটি আলাদা লজিক্যাল পার্টিশন তৈরী করে নিয়ে লিনাক্স ইনস্টল করতে পারেন। এক্ষেত্রে আপনার আগের ইনস্টল করা উইন্ডোজ থাকবে অক্ষত।
বুট করার সময় উইন্ডোজ/লিনাক্স কোনটিতে যেতে চান সেরকম অপশন পাবেন। সিলেক্ট করে দিলে মেশিন আপনার চাহিদামত লিনাক্স/উইন্ডোজে বুট করবে।
লিনাক্স ইনস্টলের জন্য পার্টিশন করার সব থেকে সহজ উপায় হচ্ছে লিনাক্সের সিডি/ডিভিডি/বুটেবল পেনড্রাইভ দিয়ে মেশিন বুট করুন। তারপর মেনু থেকে gparted সিলেক্ট করে একটি লজিক্যাল পার্টিশন তৈরী করে নিন।
তারপর লিনাক্স ইনস্টল করুন। ইনস্টলের জন্য কমান্ড এখান থেকেই দিতে পারবেন। সাধারনতঃ লিনাক্স সিডি/ডিভিডি/পেনড্রাইভ থেকে বুট করার পর ডেস্কটপের উপর শর্টকার্ট/প্রোগাম মেনুতে ইনস্টলের জন্য মেনু (Install Linux on Your Machine বা এ রকম) থাকে। উইন্ডোজের মত ইনস্টলের জন্য সিডি থেকে আলাদা বুট করতে হয় না। এমনকি সিডি থেকে আপনি সব প্রোগ্রাম চালিয়ে দেখতে পারেন ইনস্টলের আগেই যা উইন্ডোজ অপারেটিং সিস্টেমে সম্ভব নয়।
আলাদা পার্টিশন করার আগে যে ড্রাইভে জায়গা বেশী ফাঁকা সেটি থেকেই জায়গা নিতে পারেন অথবা সব থেকে শেষের পার্টিশন থেকে জায়গা বের করে নিন ঐ ড্রাইভের ফাইলসমূহ অন্য ড্রাইভে কাট-পেস্ট/মুভ করে। তবে শেষের পার্টিশন থেকে জায়গা বের করে নেয়াই নিরাপদ। এটি করলে পরবর্তীতে ঝামেলা কম হয়। এটি করাও বেশ সহজ। লিনাক্সের সিডি থেকে বুট করার পর ফাইল ম্যানেজার চালু করে উইন্ডোজের মাই কম্পিউটারে ঢুকে যেভাবে কাট-পেস্ট করেন ঠিক সেভাবে করতে পারবেন।
ফাইল সরিয়ে নেয়ার পর আসুন কিভাবে পার্টিশন করবেন তা হাতে কলমে দেখি।
প্রথমে System Tools → Administration → Gparted Partion Editor চালু করুন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DRTh2ZzdqSHl1WFk
যে পার্টিশনটি থেকে স্পেস নিবেন সেটির উপর রাইট মাউস বাটন ক্লিক করে Resize/Move এ ক্লিক করুন। তারপর Free space following (MiB) বক্সে ক্লিক করুন এবং লিখুন ১২০০০-১৩০০০ এর মধ্যে যেকোন সংখ্যা।
অর্থাৎ আমরা ১২ গিগার কাছাকাছি একটি রুট পার্টিশন করছি লিনাক্সের জন্য । এটাই যথেষ্ট । সোয়াপ পার্টিশন যাদের ১ গিগা Ram আছে তাদের দরকার নেই। যারা আলাদা হোম পার্টিশন করতে চান তারা নিজ দায়িত্বে করুন। একজন নতুন ব্যবহারকারীর জন্য রুট (/) পার্টিশনই যথেষ্ট। কারন উইন্ডোজের ড্রাইভগুলিতে লিনাক্স থেকেই ফাইল সেভ/এডিট করা যায়। লিনাক্সের জন্য আলাদা ডেটা পার্টিশন না থাকলেও চলে । তবে হোম ফোল্ডার সবসময় খালি রাখার চেষ্টা করবেন। বেশী ভারী হলেই ডেটা অন্য পার্টিশনে মুভ করে নেবেন। কারন হোমে জায়গা না থাকলে প্রোগ্রামগুলিই রান করবে না যেহেতু আপনার রুট এবং হোম ফোল্ডার একই পার্টিশনে আছে এক্ষেত্রে । এটি সবসময় খেয়াল রাখবেন তা না হলে পরে সমস্যায় পড়তে পারেন।
তারপর আবার New Size(MiB) বক্সে ক্লিক করুন। তাহলে আপনার দেয়া নতুন ড্রাইভ সাইজ প্রদর্শন করবে। এবার Resize/Move বাটনে ক্লিক করুন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DcXFRa3Eya2VtNTg
এবার Apply All Operations এ ক্লিক করে অপেক্ষা করুন। আশা করি আপনার পার্টিশন তৈরী হয়ে যাবে ।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DVmpBSFNKUGlrS3M
সবশেষে একটি কথা- বারবার জিপার্টেড দিয়ে হার্ডডিস্ক পার্টিশন ফরম্যাট/এডিট/ডিলিট করা থেকে বিরত থাকুন কারন ঘনঘন করলে তা আপনার হার্ডডিস্কে ঝামেলা করতে পারে। তাই প্রথমে কাগজ কলম নিয়ে বসে হার্ডডিস্কের একটি পার্টিশন টেবিল তৈরি করে নিন- অর্থাৎ কয়টি প্রাইমারি, কয়টি লজিক্যাল থাকবে, কোন ড্রাইভে কি ধরনের ফাইল রাখবেন- তা ঠিক করে নিয়ে বসে পড়ুন। তারপর ধীরে ধীরে কাজ শেষ করুন। তাড়াহুড়ো করবেন না, তাতে আপনারই ক্ষতি।
সামনের দিন দেখবো কিভাবে আপনার তৈরী করা পার্টিশনে লিনাক্স ইনস্টল করবেন। আজ এ পর্যন্তই । ভাল থাকুন – সুস্থ থাকুন ।
(এটি একই সাথে আমার ব্লগেও প্রকাশিত এবং স্ক্রিনশটগুলি নেয়া হয়েছে মুক্ত বাংলা জিএনইউ/লিনাক্স থেকে- মুক্ত বাংলা লিনাক্স সম্পর্কে জানতে এখানে দেখুন- http://forum.projanmo.com/topic46595.html )