বির্বতিত ওয়েব সার্চের ভিতর জেনেটিক এলগোরিদম

ইন্টারনেটের বড় বড় সার্চ ইঞ্জিন যেমন গুগল কিভাবে কাজ করে সেটা নিয়ে আমি আলোচনা করতে বসিনি। আমরা সাধারন মানুষের দৈনিক কাজে যেভাবে সার্চ ইঞ্জিন ব্যবহার করি সেটাকে একটা নিয়মতান্ত্রিক পদ্ধতির সাথে বেঁধে ফেলতে এই লেখার উৎপত্তি। এতে করে ঐ বিষয়ে যে সমস্ত জানা ব্যাপার আছে সেগুলো খুব সহজে আমরা ব্যবহার করতে পারব।

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

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

এই পদ্ধতি কিভাবে জেনেটিক এলগোরিদমের সাথে যায়? জেনেটিক এলগোরিদমের মূল কিন্তু আমাদের সভত্যা এবং প্রানী জাতির বির্বতনের সাথে জড়িয়ে আছে। আপনি হয়ত 'survival of the fittest' কথাটি শুনে থাকবেন। এর অর্থ হচ্ছে প্রকৃতি দূর্বল সন্তান পছন্দ করে না। তাই প্রতি জেনারেশনে দূর্বল প্রানীরা ঝরে পড়ে এবং উন্নততর প্রজাতি টিকে যেতে থাকে। এখন বলুন বির্বতিত ওয়েব সার্চের সাথে মিলটা ধরতে পেরেছেন?

জেনেটিক এলগোরিদম হচ্ছে একটি নিয়মতান্ত্রিক পদ্ধতি যেটা উপরের এই প্রক্রিয়াকে অনুকরন করে। উইকিপিডিয়ায় এর উপর সুন্দর দুটি আর্টিকেল আছে, নাম জেনেটিক এলগোরিদম এবং জেনেটিক প্রোগ্রামিং

এতক্ষনে নিশ্চয়ই বুঝতে পারছেন আসলে এই ওয়েব সার্চ জেনেটিক এলগোরিদমেরই একটি প্রয়োগ। আপনাদের সুবিধার্থে এখানে আরেকবার বির্বতিত ওয়েব সার্চের পদ্ধতি লিখে দিচ্ছি:

১। আপনার বিষয়বস্তুর সাথে সর্ম্পকিত কিন্তু হয়ত এলোমেলো এমন কিছু কিওর্য়াড বেছে নিন
২। এই কিওর্য়াডগুলোর জন্য সার্চ করুন
৩। যে সমস্ত ফলাফল পেয়েছেন তার মধ্যে থেকে ভালোগুলো বাছাই করুন। ভালো ফলাফল থেকে আবার কিছু কিওয়ার্ড বাছাই করুন।
৪। নতুন এই ভালো কিওয়ার্ড গুলো দিয়ে আবার সার্চ করুন যতক্ষন না ঠিক যা চাইছেন তাই পেয়ে যান
৫। যদি বেশ কিছুক্ষন ধরে খুঁজেও কিছু না পান তাহলে থামুন

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

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

যদি আপনি উপরের সমস্যা গুলো সম্বন্ধ্যে অবহিত থাকেন তাহলে কিন্তু বির্বতিত ওয়েব সার্চ আপনার চলার পথের একটি ভাল পাথেয় হতে পারে।

এখন আপনি বলুন দেখি কিভাবে ওয়েব সার্চ করে থাকেন?



(ইংরেজী ব্লগে প্রকাশিত একটি লেখার অনুবাদবিজ্ঞানী.কমে প্রকাশিত)

বাংলা ইউনিকোডের সহজ পাঠ

ইউনিকোডের উপকারিতা
১। সার্চ করার সুবিধা। ইউনিকোডে থাকলে সার্চ করতে ভীষন সুবিধা হয়। কেননা তখন পৃথিবী যেকোন সার্চ ইঞ্জিন যে কোন ভাবে সেটা খুঁজে বের করতে পারে। শুধুমাত্র সাইট স্পেসিফিক সার্চ ইঞ্জিনের উপর নির্ভর করতে হয় না।

২। যে কোন দেশের যে কোন ইউনিকোড কম্প্যাটিবল কম্পিউটারে বসে বাংলা দেখতে পাবেন যে কোন কেউ। তাই যে কোন যায়গায় গিয়ে ঠাস করে বাংলা ব্যবহার করা সুবিধা হবে। ধরুন আমি সিঙ্গাপুর এয়ারর্পোটে পাঁচ ঘন্টার জন্য আটকে গেছি। সেখানে যে কম্পিউটার দিয়েছে ফ্রি ব্যবহার করার জন্য সেখানে শুধু ব্রাউজ করা যায়। সেখানে কোন ফন্ট লোড করা যাবে না তা বলাই বাহুল্য।

৩। ই-মেইলে, যে কোন ডকুমেন্টে সহজে বাংলা ব্যাবহার করা যাবে। মনে করেন আপনি ফটোশপে বাংলা লিখতে চান। ফটোশপ নিশ্চয়ই আপনার জন্য তাদের সিস্টেমে বিজয় ঢোকাবে না। কিন্তু ইউনিকোডের সুবিধা ব্যবহার করে আপনি এখানে এটাকে সহজেই ব্যবহার করতে পারবেন। একটি কম্পিউটারে বিজয় থাকার তুলনায় ইউনিকোড থাকাটার সম্ভাবনা অনেক বেশী। কেননা ইউনিকোড সার্পোট করলে অনেক অনেক ভাষাকে সার্পোট করা হয়। তাই এখন অধিকাংশ সিস্টেমে এটা চলে আসছে।

৪। যেহেতু বাংলা ইংরেজী এবং অন্যান্য ভাষা মিশিয়ে ব্যবহার করা যায় তাই আপনি সহজে একে বিভিন্ন প্রোগ্রামে অর্ন্তভুক্ত অবস্থায় দেখতে পাবেন। নোটপ্যাডে ফন্ট না বদলে একই সঙ্গে বাংলা এবং ইংরেজী (এবং যে কোন ইউনিকোড লেখা) লেখা এবং দেখা সম্ভব (এবং স্বাভাবিক)। মনে করেন আপনি একটা ফাইল সেভ করবেন তার অর্ধেক নাম থাকবে বাংলায় অর্ধেক ইংরেজীতে এবং অর্ধেক আরবীতে - এটা শুধুমাত্র সম্ভব ইউনিকোডে, ফন্ট না বদলে।

ইউনিকোড উপস্থাপনা
আজ থেকে একশ বছর আগে কিভাবে পত্রিকা প্রকাশিত হত? তখনকার দিনে বিভিন্ন ভাষার বিভিন্ন ফন্ট এবং সাইজের জন্য বিভিন্ন বাক্স থাকত। মনে করুন ইংরেজীর জন্য বাক্স ক, বাংলার জন্য বাক্স খ, ইত্যাদি। তখন "black কাক" লিখতে তারা হরফ বসাতো পাশাপাশি এইভাবে: ক২,ক১২,... খ১,খ৩৪,খ১। মনে করুন কোন অক্ষরের পর কোন অক্ষর বসাবে এই ধারাটা নিয়ে একজন ভারতে গেল। কিন্তু ভারতের প্রকাশকরা খ বাক্স ব্যবহার করে হিন্দীর জন্য। তখন কি ভজঘট পাকিয়ে যাবে চিন্তা করুন।

unicode









ইউনিকোড কনসোর্টিয়াম নামের একটি প্রতিষ্ঠান করল কি এরকম বিভিন্ন ভাষার যত রকম বাক্স আছে, সব একসাথে একটা বড় বাক্সের অর্ন্তভুক্ত করল (চিত্র ১)। এতে করে "black কাক" লিখতে আপনাকে লিখতে হবে 2,12,...,10000,10034,10000 ইত্যাদি। এইভাবে একটি সার্বজনীন পদ্ধতি তৈরীর মাধ্যমে বিশ্বের যে কোন জায়গায় এটাকে "blackকাক" হিসেবেই চিনবে, অন্য কিছু নয়।

ইউনিকোড কিবোর্ড লেআউট
এখন মনে করুন সারা পৃথিবীর মোট পঞ্চাশ হাজার (ধরে নিন) অক্ষরের জন্য কিবোর্ডে একটি করে চাবি বসানো হল। তাহলে কিবোর্ডের সাইজ কি হবে? তাই কিবোর্ডে ভাষা পরিবর্তনের একটি প্রথা প্রর্বতন করা হল। এতে করে আপনি আপনার কিবোর্ড এর ভাষা পরিবর্তন করে একটি ভাষার উপর কাজ করতে পারবেন।

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

সর্ট অর্ডার
কম্পিউটারের জন্য সর্ট এবং সার্চ করাটা খুব গুরুত্বপূর্ণ ব্যাপার। বলা যায় কম্পিউটারের ভিত্তি এই সর্টিং এবং সার্চিংয়ের উপরই দাঁড়িয়ে আছে। তাই অক্ষরগুলোকে এমন ভাবে উপস্থাপন করতে হবে যেন তা এই সর্টিং এবং সার্চিংয়ের বিপরীতে বাঁধা না হয়।সমস্যা হল, বাংলায় ক এর পর আসে খ, কিন্তু এদের মাঝখানে আবার কা, কু, কি এসব আসে। বিষয়টা আরো জটিল করতে আ-কার, ও-কার এসব অক্ষর আবার সামনে বসে। তাই ইউনিকোড কর্তা ব্যাক্তিরা ঠিক করলেন সর্ট অর্ডার ঠিক করার জন্য কোন 'কার' ব্যাঞ্জনবর্ণের আগে বসতে পারবে না।

এর ফলে কার দেখানোর যে সমস্যা তৈরী হবে তা অন্যভাবে সমাধান করা হবে।প্রাথমিক ইউনিকোডে 'কার' গুলো পরে বসত ঠিকই
কিন্তু তা স্ক্রীনে দেখানোর আগে কোন রকম ঠিকঠাক করা হত না। যার ফলে পুরোনো ইউনিকোড কম্পিউটারে 'কে' দেখবেন এভাবে 'ক ‌ে'।
ঠিক একই কারনে ও-কার কে একার এবং আকার হিসেবে না রেখে একটা স্বতন্ত্র অক্ষর হিসেবে স্থান দেয়া হয়েছে।

সঠিক ভাবে দেখানো
সর্ট অর্ডারতো ঠিক হলো। এখন এ-কার, ও-কার গুলোকে কিভাবে দেখানো হবে? তার উপর, এ-কারে যখন শব্দের মাঝখানে বসে তখন তার কোন মাত্রা থাকে না, আবার শব্দের শুরুতে যখন বসে তখন একটা মাত্রা থাকে। যুক্তাক্ষর গুলো স্বতন্ত্র কোন অক্ষর নয়। অথচ সেগুলো ঠিকঠাক মতো দেখাতে হবে।

অক্ষরগুলোকে নিয়ে ঠিকঠাক ভাবে দেখানোটাকে বলা হয় ক্যারেক্টার রেন্ডারিং। রেন্ডারিংয়ের মাধ্যমেই আসলে ক্যারেক্টার কোনটা কিভাবে বসবে সেটা ঠিক করা হয়।

খন্ড-ত ইস্যু
প্রাথমিক ইউনিকোডে খন্ড-ত কে স্বতন্ত্র অক্ষর হিসেবে ধরা হয় নি। একে ত-হস হিসেবে ধরা হয়েছিল। তাই যখনই ত-হসন্ত দেখা যেত তখনই সেটা ভুল ভাবে খন্ড-ত হয়ে যেত। সম্প্রতি খন্ড-ত কে আলাদা অক্ষরের মর্যাদা দেয়া হয়েছে। তাই ইউনিকোড ভিত্তিক নতুন ফন্টগুলোতে এই সমস্যার সমাধান দেখতে পাবেন।

রেফ এবং য-ফলা ইস্যু
র-হসন্তের পর কোন ব্যাঞ্জনবর্ণ আসলে সেটা ব্যাঞ্জনবর্ণের উপর রেফ হয়ে যায়। আবার ব্যাঞ্জনবর্ণের পর য-ফলা আসল সেটা ব্যাঞ্জনবর্ণের য-ফলা হয়। কিন্তু র-হসন্তের পর য-ফলা আসলে সেটা 'র্য' হতে পারে আবার 'র‌্য' ও হতে পারে। ডিফল্ট হিসেব এটা 'র্য' হিসেব বর্তমানে দেখানো হয়। এর সমাধান হিসেবে অনেকে দাবী করেছেন য-ফলাকে খন্ড-ত এর মত একটা আলাদা বর্ণ হিসেবে মর্যাদা দেয়া হোক। কিন্তু ইউনিকোড কর্তাব্যক্তিরা সেটা মানতে রাজি হননি।

এই সমস্যাটা আরো অনেক ইন্ডিক ভাষায় আছে। সবার জন্য নতুন অক্ষর ঢুকাতে গেলে এর মধ্যে বিশাল হয়ে যাওয়া ইউনিকোড আরো বিশাল হয়ে যাবে।ইউনিকোড কর্তাব্যক্তিরা এর একটা অন্য সমাধান দিয়েছেন। তার দুটো অক্ষর ব্যবহার করতে বলেছেন। একটা হলো, 'জোর করে জুড়ে দাও' - zero width joiner (ZWJ) এবং আরেকটি হল 'জোর করে জুড়ে দেয়া বিরত রাখ' - zero width non joiner (ZWNJ)। তাই র-হসন্ত-য কে র‌্য হিসেবে দেখতে র এর পর আপনাকে য-ফলার সাথে জুড়ে দেয়া বন্ধ করতে হবে। অর্থাৎ র-ZWNJ-হসন্ত-য টাইপ করতে হবে।

দাঁড়ি এবং ডাবল-দাঁড়ি ইস্যু (বানান ভুল লেখলাম কি?)
বাংলার ইউনিকোড প্রস্তাবনায় কোন দাঁড়ি নেই। ইউনিকোড কর্তা ব্যাক্তিরা সম্ভবত: আসামীয় বা অন্য কোন ভাষার 'ডান্ডা' ব্যবহার করতে পরামর্শ দিয়েছেন। এটা পছন্দ হয়নি বাঙ্গালী যারা ইউনিকোডের সাথে কাজ করছেন। তারা এখনও দাবী জানিয়ে যাচ্ছেন নিজেদের একটা দাঁড়ি এবং একটা ডবল-দাঁড়ির জন্য।

আশা করি এই পোস্ট আপনার অনেক 'কেন'র উত্তর দিবে।


(বিজ্ঞানী.কমে প্রথম প্রকাশিত)

ওয়েব ডেভলপমেন্ট টুলস


preview_of_internet_set_by_carvetia











প্রাগৈতিহাসিক যুগের পাথর ঠুকে আগুন জ্বালানো মানুষ আজ কি সাবলীল ভাবেইনা লাইটার দিয়ে সিগারেট ধরায়। যোগাযোগের জন্য সংবাদ বাহক পাখি ব্যবহার কারী মানুষ এখন কত পদের যোগাযোগ ব্যবস্থাইনা ব্যবহার করে। চিঠিপত্র, টেলিফোন, মোবাইল, ই-মেইল, ইন্টারনেট ইত্যাদি নানবিধ যোগাযোগ ব্যবস্থা মানুষের জীবনকে করে দিয়েছে সহজ, আর সেই সাথে সুযোগ ঘটিয়ে দিয়েছে একজন মানুষের বিশাল পরিব্যপ্তিতে কাজ করার। ধণ্য মানব জন্ম। ইন্টারনেট আবিষ্কার করার পর কেউ চিন্তা করেননি যে এটি এতটাই পরিব্যাপ্ত এবং বিবিধমূখী হবে যে খবরাখবর আদান প্রদান থেকে ব্যবসা বানিজ্য, শিক্ষা দীক্ষা সব এর মাধ্যমে শুরু হবে। ব্যবহার যাই হোক ওয়েব বা ইন্টারনেট কে ঘিরে গড়ে উঠেছে কর্মব্যস্ত মানুষের বিশাল এক সমাবেশ। আর তাই ওয়েব কে সচল রাখতে ওয়েব ডেভলপমেন্ট, ওয়েব প্রোগ্রামিং এসব হয়ে উঠেছে অপরিহার্য।

মনোহরিতা বনাম কার্যকারিতা:

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

ওয়েবসাইট ডেভলপমেন্ট টুল:

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

ওয়েব প্রোগ্রামিং:

ওয়েব প্রোগ্রামিং বা নেটওয়ার্ক ভিত্তিক প্রোগ্রামিংকে আবার দুটি ভাগে ভাগ করা যায়। এদের এক ধরন হচ্ছে ব্রাউজার ভিত্তিক - যা ইন্টারনেট ব্রাউজার যেমন ইন্টারনেট এক্সপ্লোরার, নেটস্কেপ কমিউনিকেটর ইত্যাদির মাধম্যে সাধারন ওয়েব পেইজের আকারে কাজ করে। প্রায় সবগুলো বানিজ্যিক কার্যক্রম সাধারনত এই ধরনের শক্তিশালী ওয়েব পেইজের মাধ্যমে হয়ে থাকে। আবার কিছু প্রোগ্রাম আছে যেগুলো নিজেরা নেটওয়ার্কের মধ্যবর্তী যোগাযোগ সাধন করে এবং বিভিন্ন কাজ সম্পাদন করে। ব্রাউজার, ই-মেইল ক্লায়েন্ট (আউটলুক এক্সপ্রেস, ইউডোরা ইত্যাদি), এমএসএন ম্যাসেঞ্জার ইত্যাদি প্রোগ্রামগুলো এধরনের।

সহজ ওয়েব আর্কিটেকচার:

সহজ ভাষায় বলতে গেলে ওয়েব হচ্ছে এক বিশাল সংখ্যক ক্লায়েন্ট/সার্ভারের সমন্বয়। আমরা যারা সাধারন কম্পিউটার ব্যবহারকারী তারা হচ্ছি ক্লায়েন্ট আর অপরপক্ষে কোন একটি অফিসে বা কোন এক জায়গায় বসানো তুলনামূলক ভাবে একটু দ্রুতগতি সম্পন্ন কোন একটি কম্পিউটার হচ্ছে সার্ভার। সার্ভারের কাজ হচ্ছে চব্বিশ ঘন্টা কোন না কোন ইউজারের অনুরোধ মতো কাজ করা। ধরুন কোন একজন ইউজার বা ব্যবহারকারী কোন ভাবে - ফোন লাইন বা টুইস্টেড পেয়ার ক্যাবলের মাধ্যমে, কোন একটি সার্ভারের সাথে সংযুক্ত। এখন ইউজারটি ব্রাউজার নামক একটি web_diagramসফটওয়্যারের মাধ্যমে একটি অনুরোধ পাঠালো - ‘‘প্রিয় সার্ভার আমাকে index.html ফাইলটি দাও''। সার্ভার নামক যে কম্পিউটারটি ছিল তাতে এধরনের অনুরোধ শোনার এবং সে অনুযায়ী কাজ করার জন্য একটি সফটওয়্যার রান করছিল। প্রোগ্রামটি এই অনুরোধ মতো সেই ফাইলটি সেই ব্রাউজারের কাছে পাঠিয়ে দিল। ব্রাউজার তাকে সঠিক ভাবে প্রদর্শনের ব্যবস্থা করল এবং ব্রাউজারের সামনে বসে থাকা মানুষটি তখন সেই ফাইলটির ভিতরকার জিনিসটি দেখতে পেল। এর মধ্যে বেশ কয়েকটি জটিল ধাপ এবং পদ্ধতি রয়ে গেছে। এই ধরনটি ছাড়াও আরো অনেক ধরনের সার্ভার বনাম ক্লায়েন্ট যোগাযোগ পদ্ধতি রয়েছে। এই পদ্ধতিকে বলা হয় এইটিটিপি বা হাইপারটেকস্ট ট্রান্সফার প্রটোকল। এই প্রোটোকল
ব্যবহার করেই ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ স্থাপিত হয় এবং আদান প্রদান চলে।



এইচ.টি.এম.এল:

এইচ.টি.এম.এল যার পুরো মানে হচ্ছে হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ। এইচ.টি.এম.এল এর নিজের মধ্যে আসলে কোন প্রোগ্রামিং নেই, কেবল সাধারন লেখাকে এমন ভাবে ‘‘মার্কিং আপ'' মানে ‘‘চিহ্নিত করা'' যাতে সেটাকে সাজিয়ে গুছিয়ে এবং গুরুত্ব বাড়িয়ে বা কমিয়ে প্রর্দশন করতে পারা যায়। আমরা অনেক সময়ই কোন বই পড়তে গিয়ে গুরুত্বপূর্ণ অংশ গুলো হলুদ রঙের মার্কার দিয়েহাইলাইট করে থাকি, যাতে করে পরবর্তীতে পড়তে গিয়ে গুরুত্বপূর্ণ অংশটি আগে চোখে পড়ে। যেহুতু এ ব্যাপারটি মোটামুটি পৃথিবীর সব ছাত্রের একটি সাধারন ব্যাপার তাই কোন একটি বই হাতে নিয়ে আমরা এধরনের হাইলাইটেড অংশগুলো ঘেঁটে দেখলে বিষয়টি সম্বন্ধে ভাল ধারনা লাভ করতে পারি। ঠিক একই কারনে কিছু লেখাকে বিশেষ গুরুত্ব দিয়ে প্রকাশ করতে কতিপয় মার্কআপ আপ ল্যাঙ্গুয়েজের উৎপত্তি হয়েছে। এইচ.টি.এম.এল তাদেরই একটি। এটি আসলে এসেছে এস.জি.এম.এল (স্ট্রাকচারড জেনারেলাইজড্‌ মার্কআপ ল্যাঙ্গুয়েজ) এর একটি ছোট এবং সহজ ভার্সন হিসেবে। ইন্টারনেটে বিভিন্ন বিষয় প্রদর্শন করতে এবং অন্যান্য আরও সুবিধাদি প্রদান করতে এটি একেবারে গোড়ার বিষয় হিসেবে ব্যবহৃত হয়। এটি একটি সাধারন টেকস্ট ফাইল যাকে "html" বা "htm" এক্সটেনশনে সেভ করা হয় এবং বিশেষ কিছু সিনটেক্স এর ভিত্তিতে ওয়েব ব্রাউজারে প্রদর্শিত হয়। অবশ্য আজকাল সহজে এইচ.টি.এম.এল ডকুমেন্ট তৈরী করার জন্য বিভিন্ন সাহায্যকারী প্রোগ্রাম পাওয়া যায়। এদের কয়েকটি হল: মাইক্রোসফট ফ্রন্টপেজ, এডোবি পেজমেকার, ফ্রেম মেকার, কোয়ার্ক এক্সপ্রেস ইত্যাদি।

এক্স.এম.এল:

এইচ.টি.এম.এল এর মতই আরো একটি মার্কআপ ল্যাঙ্গুয়েজ হলো এক্স.এম.এল - এক্সটেনসিবল্‌ মার্কআপ ল্যাঙ্গুয়েজ। এটি কাজও করে প্রায় একই পদ্ধতিতে, তবে এটি এইচ.টি.এম.এল এর চেয়ে আরো অনেক বেশী শক্তিশালী - সেই সাথে জটিলও। এইচ.টি.এম.এল এ যেমন আগে থেকে ঠিক করা কিছু ট্যাগ বা চিহ্ন রয়েছে এক্স.এম.এল এ তেমনটি নেই। বরং আপনাকে নিজের মতো করে নিজস্ব ট্যাগ বা চিহ্ন তৈরী করে নিতে হবে এবং তার কাজও ঠিক করে দিতে হবে। আর তাই এটি নিজেই আরো বহু ধরনের মার্কআপ ল্যাঙ্গুয়েজের উদ্ভব ঘটাতে পারে। এই বিশেষ ক্ষমতাটির জন্য একে মেটা-মার্কআপ ল্যাঙ্গুয়েজও বলা হয়। যদিও এর ক্ষমতা বহুবিদ এর জটিলতার জন্য একে বেশীরভাগ ক্ষেত্রে এড়িয়ে যাওয়া হয়।

জাভাস্ক্রিপ্ট:

মার্কআপ ল্যাঙ্গুয়েজ ছাড়াও আরও এক ধরনের ল্যাঙ্গুয়েজ হচ্ছে স্ক্রিপটিং ল্যাঙ্গুয়েজ। জাভাস্ক্রিপ্ট হচ্ছে এদের অন্যতম। এটি প্রথম নেটস্কেপ ডেভেলপ করে। এটি ক্রস প্লাটফরম - যার মানে হচ্ছে ইউনিক্স. লিনাক্স, ম্যাক বা উইন্ডোজ যাই হোক না কেন জাভাস্ক্রিপ্ট সার্পোটেড ব্রাউজার একে প্রর্দশন করতে পারবে। আর অন্য যেকোন আধুনিক ল্যাঙ্গুয়েজের মতো এতে রয়েছে অবজেক্ট ওরিয়েন্টেশনের ক্ষমতা। অনেকে অবশ্য জাভা এবং জাভা স্ক্রিপ্টকে একই বলে প্রায়ই ভুল করে থাকেন। আসলে জাভাস্ক্রিপ্ট হচ্ছে জাভার মতো করে তৈরী করা একটি সহজ ভার্সন, যেটাকে কম্পাইল করার প্রয়োজন নেই, সরাসরি ইন্টারপ্রেট করা হয়, অনেক সহজ এবং উপরন্তু বেশ দ্রুত কাজ করতে পারে। আর এর দুটো ধরন রয়েছে - একটি ক্লায়েন্ট সাইডেড অপরটি সার্ভার সাইডেড। এই দুটো ধরন ব্যবহার করে অনেক শক্তিশালী ওয়েব পেজ তৈরী করা সম্ভব। নেটস্কেপ যখন জাভাস্ক্রিপ্ট আবিষ্কার করল এবং তাদের ব্রাউজারে এটি ব্যবহারের ক্ষমতা সংযুক্ত করল তখন ইন্টারনেট জগতে বেশ একটা সাড়া পড়ে গিয়েছিল। এর পরবর্তীতে মাইক্রোসফট্‌ তড়িঘড়ি করে বের করে ইন্টারনেট এক্সপ্লোরার যেটিতে জেস্কিপ্ট (জাভাস্ক্রিপ্ট নয়) এর সাপোর্ট সংযুক্ত করা হয় - যেটি জাভাস্ক্রিপ্ট এর অনেক ব্যাপার সম্পন্ন করতে পারতো না। সে যাইহোক জাভাস্ক্রিপ্ট এখনও বেশ জনপ্রিয় এবং ওয়েব পেইজে বিভিন্ন কর্মক্ষমতা যুক্ত করার কাজে খুব ব্যবহৃত হয়।

ভিবিস্ক্রিপ্ট:

নেটস্কেপ যেমনি জাভার ক্ষমতা এবং চমৎকারীত্ত্ব ব্যবহার করে জাভাস্ক্রিপ্ট বের করে তেমনি মাইক্রোসফট্‌ ভিজুয়াল বেসিকের জনপ্রিয়তা এবং সহজবোধ্যতাকে পুঁজি করে ব্রাউজারে ব্যবহার করার জন্য বের করে ভিবিস্ক্রিপ্ট। এতে ভিজুয়্যাল বেসিকের প্রোগ্রামিং স্টাইল এবং অন্যান্য ফিচার রয়েছে যাতে করে একজন ভিজুয়্যাল বেসিক প্রোগ্রামার খুব সহজে গড়ে নিতে পারেন ভিবিস্ক্রিপ্ট দিয়ে তৈরী করা কার্যকরী ওয়েবসাইট। তবে নেটস্কেপ সহ অন্যান্য ব্রাউজার কিন্তু এটি সাপোর্ট করে না। ফলে একজন ডেভলপার অনেক ক্ষেত্রে ব্যাপারটি মাথায় রেখে ভিবিস্ক্রিপ্ট ব্যবহার না করার সিদ্ধান্ত নিয়ে। একারনে ভিবিস্ক্রিপ্ট ওয়েব মার্কেটে অতটা ভাগ বসাতে পারেনি।

পি.এইচ.পি.:

পিএইচপি - অফিসিয়্যালি ‘‘পিএইচপি: হাইপারটেক্সট প্রিপ্রসেসর'', হচ্ছে এইচটিএমএল এর মাধ্যমে ব্যবহৃত, সার্ভারের প্রান্তে চালিত একটি স্ক্রিপ্টিং ল্যাঙ্গুয়েজ। সাধারন এইচটিএমএল এর মধ্যে বিশেষ ট্যাগ বা চিহ্ন ব্যবহার করে নিদিষ্ট শব্দের বাঁধনে পি.এইচ.পি প্রোগ্রাম করতে হয়। যখন ব্রাউজারের মাধ্যমে একটি পিএইচপি পেইজ অনুরোধ করা হয় তখন সার্ভারে রক্ষিত একটি প্রোগ্রাম পিএইচপিতে প্রোগ্রাম করা অংশটি থেকে সঠিক আউটপুট নিয়ে তাকে এইচটিএমএলে পরিনত করে এবং এই অংশটিকে ব্রাউজারের কাছে পাঠায়। যেহেতু ব্রাউজার একে শেষতঃ এইচটিএমএলের মত দেখতে পারে তাই তাকে প্রদর্শন করতে কোন সমস্যাই হয়না। একারনে যে ব্রাউজারই হোক না কেন সবটাতেই পিএইচপি পেইজ চলতে পারে। তদুপরি এটি যথেষ্ট গতি সম্পন্ন। এই ধরনের সার্ভারের মধ্যে থেকে কাজ করে এমন স্ক্রিপ্টিং ল্যাঙ্গুয়েজের মধ্যে এটিই সবচেয়ে গতিশীল এবং বেশী ব্যবহৃত। উপরন্তু মোটামুটি সব ধরনের প্লাটফরমে এটি পাওয়া যায় বলে উইন্ডোজ এনটি বা লিনাক্স সব ধরনের সার্ভারেই এটি চলতে পারে। এর জনপ্রিয়তার আর একটি কারন হল এর ল্যাঙ্গুয়েজের গঠন অনেকটাই সি এর মত। তাই বেশীরভাগ সি ইউজাররা এর দিকে ঝুঁকে পড়েন।

এ.এস.পি:

এটিও মাইক্রোসফটের আরেকটি সৃষ্টি। অনেকটা পিএইচপির মতো এটিও সার্ভারে রান হয় এবং তার আউটপুট ব্রাউজারে পাঠানো হয়। জেস্ক্রিপ্ট বা ভিবিস্ক্রিপ্ট যাই হোক না কেন সেটি সার্ভারে বসিয়ে রাখা একটি প্রসেসরের মাধ্যমে চালিত হবার পর ব্রাউজারের প্রদর্শনের উপযুক্ত অবস্থায় ব্রাউজারে প্রেরন করা হয় এবং প্রদর্শিত হয়। যেহেতু এটি মাইক্রোসফটের তৈরী তাই এটি মাইক্রোসফটের সবধরনের কনট্রোল ব্যবহার করতে সক্ষম। তদুপরি একটিভ এক্স সহ আরো অন্যান্যআরো টেকনোলজি এতে সহজে ব্যবহার করা যায়। আর সার্ভারে রান করে বলে ক্লায়েন্ট কি প্লাটফরম ব্যবহার করছে সেটি গুরুত্বপূর্ণ নয়। তাই সব ধরনের প্লাটফরমে এটি চলে। কিন্তু সার্ভারটিকে অবশ্যই উইন্ডোজ এনটিতে রান করতে হবে। যাই হোক এএসপি এখন যথেষ্ট ব্যবহৃত হচ্ছে।

সি.জি.আই.:

সিজিআই হচ্ছে কমনগেইটওয়ে ইন্টারফেস - বাংলায় বললে এমন একটি পদ্ধতি যাতে করে সার্ভারে রক্ষিত কোন একটি প্রোগ্রাম যা কিনা ব্রাউজার কর্তৃক কোন একটি অনুরোধের পরিপ্রেক্ষিতে রান হয় এবং কোন একটি নির্দিষ্ট ইনপুটের জন্য একটি আউটপুট ব্রাউজারে ফেরত পাঠায়। মনে করুন একটি ওয়েব ওয়েব পেইজ কোন ইউজারের পূরন করা ওয়েব ফরম থেকে

webতথ্যাদি সার্ভারে রক্ষিত কোন ডাটাবেইজে সংরক্ষণ করে রাখে এবং প্রয়োজন মতো সেখান থেকে তথ্যাদি নিয়ে প্রদর্শন করে বা অন্য কোন কাজ করে। এক্ষেত্রে অন্যান্য স্ক্রিপ্টিং ল্যাংঙ্গুয়েজ যদিও কাজটি করতে পারে - সিজিআই এর মাধ্যমে সার্ভারে রক্ষিত যেকোন ল্যাঙ্গুয়েজে তৈরীকৃত প্রোগ্রাম কাজটি সম্পন্ন করে তার আউটপুট ব্রাউজারে পাঠাতে পারে। অনেক সময় স্ক্রিপ্টিং ল্যাঙ্গুয়েজের অনেক সীমাবদ্ধতা থাকে, যেমন অনেক কাজ সিকিউরিটির জন্য করতে দেয়া হয়না। এধরনের ক্ষেত্রে সার্ভারে রক্ষিত প্রোগ্রামটির কোন বাধ্যবাধকতা নেই - তাই যে কোন কাজের ক্ষেত্রে সেটি স্বাধীনভাবে সম্পন্ন করতে পারে। এই টেকনোলজি ব্যবহার করে তাই ওয়েব সাইট ডেভলপ করা তাই এখন বেশ সাধারন। এক্ষেত্রে সবচেয়ে বেশী যে ল্যাঙ্গুয়েজটি ব্যবহৃত হয় তা হচ্ছে পার্ল। তবে অন্যান্য ল্যাঙ্গুয়েজ যেমন সি, সি++ ইত্যাদিও ব্যবহৃত হতে পারে।

জাভা আ্যপলেট:

জন্ম লগ্ন থেকে জাভা কম্পিউটার প্রোগ্রামার, ইন্টারনেট কমিউনিটি এবং ওয়েব ডেভলপারের বিস্ময় দৃষ্টি কেড়েছে। জাভা প্রোগ্রামের পাশাপাশি এমন কয়েকটি টেকনোলজি বের করেছে যাতে করে ওয়েব ডেভলপমেন্টে এসেছে নতুন ছোঁয়া। এরকমই একটি টেকনোলজি হচ্ছে জাভা
আ্যপলেট। জাভা আ্যপলেট আসবার আগে এবং এ পর্যন্ত কোন টেকনোলাজি বাউজারের মধ্যেই এ ধরনের কর্মক্ষমতা যোগ করতে পারেনি। জাভা আ্যপলেট হচ্ছে সম্পূর্ণ ভাবে একটি পুরোপুরি সক্ষম জাভা প্রোগ্রাম যেটি ওয়েব ব্রাউজারের মধ্যেই চলতে পারে। ব্যবহারকারীর নেয়া সিদ্ধান্তের উপর ভিত্তি করে এটি বিষেশ কোন কাজেও সিদ্ধহস্ত। তবে সিকিউরিটির কারনে এতে ফাইল ব্যবহার করা সহ বেশকিছু ফিচার বন্ধ রাখা হয়েছে। ইদানীং কালে অবশ্য জাভার এই ক্ষমতা ব্যবহার করে খুব চমৎকার কিছু আ্যপলেট যেগুলো দৃষ্টিনন্দন এবং আকর্ষনীয় তাদের ওয়েব সাইটের আকষর্নীয় বিষয় হিসেবে ব্যবহার হচ্ছে। তৈরী করা হচ্ছে ছোট ছোট গেম যেগুলো ওয়েব পেইজেই খেলতে পারা যায়। খারাপ দিকগুলোর মধ্যে এর বিশাল আকৃতি যা ধীর গতির ইন্টারনেটে অভিশাপের মত এবং অতিরিক্ত মেমোরীর প্রয়োজন উল্লেখযোগ্য। তবে জাভা আ্যপলেট রান করতে জাভা প্লাগইন সমৃদ্ধ ব্রাউজার প্রয়োজন হয়। নেটস্কেপ নেভিগেটরের সর্বশেষ ভার্সন এবং ইন্টারনেট এক্সপ্লোরারের ভার্সন ৫ পর্যন্ত জাভার সার্পোট রয়েছে। কিন্তু মাইক্রোসফট সমপ্রতি তাদের সর্বশেষ ব্রাউজারের জাভার সাপোর্ট রাখেনি - এতে ধারনা করা হচ্ছে কম্পিউটার জগতে বড় পরিবর্তন আসতে পারে।

জাভা সার্ভলেট এবং জেএসপি:

সার্ভলেট এবং জেএসপি (জাভা সার্ভার পেইজ) হচ্ছে সিজিআই এর প্রতি জাভা টেকনোলজির উত্তর। সার্ভলেট হচ্ছে সার্ভারে রক্ষিত জাভা প্রোগ্রাম যা কিনা সিজিআই পদ্ধতিতে কোন জেএসপি পেইজের মাধ্যমে চালিত হয়ে কোন আউটপুট তৈরী করে এবং ব্রাউজারের মাধ্যমে প্রদর্শিত হয়। যেহেতু সিজিআই প্রোগ্রাম যতবার ব্রাউজার কর্তৃক অনুরোধ করা হয় ততবার রান হয়, অপরপক্ষে সার্ভলেট একবারই সার্ভারে লোড হয়ে থাকে এবং রান হয় বলে এটি তুলনামুলক ভাবে গতিসমৃদ্ধ থাকে। আর একজন জাভা প্রোগ্রামার সিজিআই ব্যবহার করার জন্য নতুন করে অন্য কোন ল্যাঙ্গুয়েজ শিখতে যাবেন কেন - এক্ষেত্রে তার প্রথম পছন্দ সার্ভলেট। আর জাভার শক্তি এবং সেই সঙ্গে বিভিন্ন প্লাটফরমে বহনযোগ্যতা এতে নতুন মাত্রা যোগ করেছে।

জাভা আর.এম.আই.:

জাভা আর একটি টেকনোলজি যেটি ডিস্ট্রিবিউটেড কম্পিউটিং এর ক্ষেত্রে একটি মাইল ফলক। আরএমআই শব্দটির বিস্তারন হচ্ছে রিমোট মেথড ইনভোকেশন। এটির ব্যবহারের ফলে এন্টারপ্রাইজ ভিত্তিতে জাভা ভিত্তিক আ্যপলিকেশন তৈরী সহজতর হয়।

ফ্ল্যাশ:

বর্তমান সময়ে অত্যধিক জনপ্রিয় ওয়েব আ্যনিমেশনের এই টুলটি ম্যাক্রোমিডিয়া কোম্পানীর একটি উদ্ভাবন। এটির মাধ্যমে খুব সহজে বেশ আকর্ষনীয় আ্যনিমেশন তৈরী করা যায়। কিছু প্রোগ্রামিং পদ্ধতি ব্যবহার করা হয় বলে ফ্ল্যাশ আ্যনিমেশন ইউজার এর সিলেকশন এর ভিত্তিতে বিশেষ কিছু কাজ করতে পারে। বিভিন্ন প্লাটফরমে এর প্লাগইন পাওয়া যায় বলে এটি খুব দ্রুত সর্বজন স্বীকৃত হয়ে উঠছে। তবে এর ফাইল সাইজ সাধারনত বেশ বড় হয়ে থাকে বলে ধীরগতির ইন্টারনেটের জন্য বোঝা হয়ে দাঁড়ায়।

সিদ্ধান্ত :

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

শেষের কথা:

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


(লেখাটি বছর কয়েক আগে সি-নিউজ নামের একটি পত্রিকায় প্রকাশিত হয়েছিল।)

একই সাথে বিজ্ঞানী.কমে প্রকাশিত

ওপেন সোর্স আন্দোলন এবং লিনাক্স


(লেখাটি সি-নিউজ নামের একটি পত্রিকায় কাভার স্টোরী হিসেবে প্রকাশিত হয়েছিল বছর কয়েক আগে)

মানুষ জন্মায় মুক্ত কিন্তু সবর্ত্রই সে শৃঙ্খলিত। মুক্তির আকাঙ্ক্ষা মানুষের চিরন্তন। ভাষা স্বাধীনতা আর বাক স্বাধীনতা মানুষের চিরন্তন দাবী। এমনই এক দাবীর নাম ওপেন র্সোস আন্দোলন। ওপেন সোর্স, যার অর্থ হচ্ছে, কোন প্রোগ্রামের সাথে তার সোর্স কোড - অর্থাৎ যে প্রোগ্রামিং ভাষায় সফটওয়্যারটি নির্মাণ করা হয়েছে - তার পূর্ণাঙ্গ অবয়ব। আর ওপেন সোর্স আন্দোলন বলে : একজন কম্পিউটার, তদুপরী সফটওয়্যার ব্যবহারকারীর এই অধিকার থাকা উচিত যাতে সে তার ব্যবহৃত সফটওয়্যারটি নিজের প্রয়োজন মতো পরিবর্তন সাধন করে ব্যবহার করতে পারবে। আর এভাবেই ওপেন সোর্স আন্দোলন যা কিনা বাক স্বাধীনতার সমার্থক - কম্পিউটার ব্যবহারের স্বাধীনতা নিশ্চিত করতে বদ্ধ পরিকর। ওপেন সোর্স আন্দোলনের পুরোধা হচ্ছে জিএনইউ নামের একটি অলাভজনক প্রতিষ্ঠান। আর লিনাক্স এবং অন্যান্য ওপেন সোর্স সফটওয়্যার গুলো এরই পতাকা তলে দাঁড়িয়ে।

লিনাক্স কি?
বাংলাদেশে লিনাক্স নামটি এখন আর নতুন নয়। অনেক দিন ধরে গুঞ্জনের মতো শুনতে পাওয়া নামটি এখন কম্পিউটার ব্যবহার কারীদের পরিচিত শব্দের তালিকায় পড়ে। সোজাসুজি ভাবে লিনাক্সের সংগা দিতে গেলে বলা যায় : লিনাক্স হচ্ছে একটি ‘অপারেটিং সিস্টেম কার্ণেল’। এই পর্যায়ে এসে আরো একটি জিনিস ব্যাখ্যা করতে হয় : ‘অপারেটিং সিস্টেম কার্ণেল’ হচ্ছে কোন একটি অপারেটিং সিস্টেমের (যার উপর ভিত্তি করে বিভিন্ন সফটওয়্যার তার কাজ কর্ম সাধন করে থাকে) মূল অংশটি। কিন্তু অনেক ব্যবহার কারী লিনাক্স বলতে কোন নির্দিষ্ট একটি ডিস্টিবিউশন যেমন রেডহ্যাট, সুসি, স্ল্যাকওয়্যার, ডেবিয়ান ইত্যাদি বুঝে থাকেন। আসলে মূল লিনাক্সটিকে যদি হৃৎপিন্ডের সাথে তুলনা করা যায় তাহলে এই সমস্ত কোম্পানীকে এবং সেই সাথে ‘জিএনইউ’কে শরীরের অন্যান্য অংশের প্রস্তুতকারক হিসেবে তুলনা করা যায়।

ওপেন সোর্স : লিনাক্সের মেরুদন্ড
কম্পিউটার জগতের পূর্বের দিনগুলোতে কম্পিউটার ব্যবহারকারীর সংখ্যা ছিল অল্প। কিন্তু তাদের মধ্যে একতা এবং পারস্পরিক সহযোগিতা ছিল অতুলনীয়। ১৯৭১ সালের দিকে রিচার্ড স্টলম্যান যখন এমআইটিতে তার ক্যারিয়ার শুরু করলেন তখন এমনই একটি পরিবেশ বিদ্যমান ছিল। তখন এমনকি বিভিন্ন কোম্পানী ফ্রি সফটওয়্যারও বিতরন করত। পারস্পরিক সহযোগিতার ভিত্তিতে প্রোগ্রামাররা নিজেদের সমস্যা সমাধান করে নিত।

কিন্তু নব্বইয়ের দশকে (১৯৮০ সালের শুরুতে) ডেস্কটপ পিসির ব্যাপক বিস্তারের পর বিভিন্ন কোম্পানী স্বত্ত্বাধীকার সম্বলিত সফটওয়্যার বাজারজাত করতে শুরু করে। এর মানে দাঁড়ায় সফটওয়্যারগুলোর একটি ‘মালিক’ রয়েছে, আর তাই এর ব্যবহারকারীরা পারস্পরিক সাহায্যে হয়ে পড়েন বাধাগ্রস্থ। আর এভাবেই ১৯৮৩ সালের দিকে রিচার্ড স্টলম্যানের হাত ধরে জিএনইউ আন্দোলনের সুত্রপাত হয়।
এই আন্দোলনের মূল লক্ষ্য ছিল ফ্রি এবং যোগ্যতা অনুসারে গুনাগুন সম্পন্ন সফটওয়্যার তৈরী করা। যেহেতু সব সফটওয়্যার রান করতে একটি অপারেটিং সিস্টেম অপরিহার্য তাই এই আন্দোলন, অর্থাৎ জিএনইউ নামক এই প্রতিষ্ঠান একটি ইউনিক্স ভিত্তিক ফ্রি অপারেটিং সিস্টেম তৈরীর লক্ষ্যে তাদের কার্যক্রম শুরু করে। একটি সম্বয়ংস্বম্পূর্ণ অপারেটিং সিস্টেম তৈরীতে কি কি প্রয়োজন তার একটি তালিকা তৈরী করে জনসমক্ষে প্রকাশ করা হয় এবং সেটি পূরণের লক্ষ্যে কার্যক্রম চালু করা হয়। তখন জিএনইউ এর পাশাপাশি বিভিন্ন ব্যাক্তি বর্গ এবং ফ্রি সফটওয়্যার কোম্পানী এই আন্দোলনের সাথে একাত্ত্বতা প্রকাশ করে এবং উক্ত তালিকা অনুযায়ী বিভিন্ন সফটওয়্যার নির্মান শুরু করে।

ফ্রি সফটওয়্যার - মানে স্বাধীন সফটওয়্যার :
ওপেন সোর্সের ক্ষেত্রে ফ্রি সফটওয়্যার মানে হচ্ছে সফটওয়্যার ব্যবহার কারীর স্বাধীনতা| সফটওয়্যারটি আপনি বিনামূল্যে পেতেও পারেন আবার নাও পারেন। মূল্য দিয়ে কিংবা না দিয়ে যেভাবেই সফটওয়্যারটি আপনার হাতে আসুক আপনার সফটওয়্যারটি ব্যবহার করতে তিনটি সুনিশ্চিত স্বাধীনতা থাকতে হবে। প্রথমত, প্রোগ্রামটির কপি বন্ধু-বান্ধব এবং সহকর্মীদের মধ্যে বিতরনের স্বাধীনতা| দ্বিতীয়ত, নিজের ইচ্ছেমত প্রোগ্রামটি পরিবর্তনের স্বাধীনতা - অর্থাৎ প্রোগ্রামটির সোর্স কোড ব্যবহারের স্বাধীনতা| তৃতীয়ত, পরিবর্তীত এবং উন্নততর ভার্সন পুনরায় বিতরনের অধিকার - যাতে করে বৃহত্তর ক্ষেত্রে উন্নতি সাধন হয়। এই সমস্ত কিছু মেনে যে সমস্ত সফটওয়্যার প্রকাশিত হয় তাদের ওপেন সোর্স সফটওয়্যার বলা হয়ে থাকে।

লিনাক্স এবং জিএনইউ:
ফিনল্যান্ডের ইউনিভার্সিটি অফ হেলসিঙ্কিতে অধ্যয়নরত লিনাস টোরভাল্ড নামক এক যুবক অনেকটা শখের বশেই মিনিক্স (ইউনিক্সে ছোটখাট একটি ভার্সন) নামক একটা অপারেটিং সিস্টেম ঘাঁটতে ঘাঁটতে তৈরী করে ফেলেন বর্তমান লিনাক্স কার্নেলের আদি র্ভাসন। ইতিহাসের পাতায় স্থান করে নেবার মত একটি সময় হচ্ছে ১৯৯১ সালের আগস্ট মাস, যখন লিনাস মিনিক্স ইউজার গ্রুপে দুরুদুরু বুকে একটি ম্যাসেজ পোস্ট করেন অন্যান্যদের কাছে তার তৈরী করা সিস্টেমটির ভাল মন্দ যাচাই করার প্রয়াসে। তখন পর্যন্ত তার তৈরীকৃত কার্নেল ভার্সন ০.০২ জিএনইউ এর কিছু কিছু সিস্টেম সহ মোটামুটি চলতে পারত।

১৯৯০ সালের দিকে যখন জিএনইউ একটি পূর্ণাঙ্গ অপারেটিং সিস্টেম প্রকাশ করার জন্য প্রায় প্রস্তুত, কেবল মাত্র কিছু জিনিস এবং একটি বড় অংশ - অপারেটিং সিস্টেম কার্ণেল তৈরী বাকি তখন সেই অভাবটি পূরণ করে দেয় লিনাস টোরভাল্ডের তৈরী করা লিনাক্স। জিএনইউ এর নিজস্ব কার্ণেল ‘জিএনইউ হার্ড’ তখনও একেবারে গোড়ার অবস্থায়। আর তারপর পরই প্রকাশিত হয় এদুয়ের মিলিত মিলিত অপারেটিং সিস্টেম ‘জিএনইউ/লিনাক্স’। অনেকে যদিও মনে করে থাকেন লিনাক্স অপারেটিং সিস্টেমের পুরোটাই লিনাস টোরভাল্ডের তৈরী করা - কিন্তু আসলে এর বেশীর ভাগ অংশই তৈরী করেছিল জিএনইউ প্রতিষ্ঠানটি। এরপর বিভিন্ন কর্মাশিয়াল প্রতিষ্ঠান, যেমন রেডহ্যাট, স্ল্যাকওয়্যার, ম্যানড্রেক, সুসি, ডেবিয়ান এই অপারেটিং সিস্টেমকে ব্যবহার উপযোগী করে সুন্দর মোড়কে উপস্থাপন করতে থাকে।

ইতিমধ্যেই লিনাক্সের জন্য বেশ কিছু গুরুত্বপূর্ণ এবং তাৎপর্যপূর্ণ ঘটনা ঘটে। রেডহ্যাট সফটওয়্যারের লিনাক্স ১৯৯৬ সালে সেরা ডেস্কটপ অপারেটিং সিস্টেমের পুরুস্কার লাভ করে ইনফোওর্য়াল্ড - ট্রেড ম্যাগাজিনের কাছ থেকে। এপ্রিলেই রিসার্চাররা লস আলামস ন্যাশনাল ল্যাবরেটরীতে লিনাক্স ব্যবহার করে ৬৮টি পিসিতে সিঙ্গেল প্যারালাল প্রসেসিং ব্যবহার করে এটমিক শক ওয়েভ সিমিউলেট করে। এই নিজেদের তৈরী সুপার কম্পিউটারটির দাম হয় কমার্সিয়াল সুপার কম্পিউটারের তুলনায় মাত্র ১০ ভাগের এক ভাগ। এটি প্রতি সেকেন্ডে ১৯ বিলিয়ন ক্যালকুলেশন পর্যন্ত গতি লাভ করে অন্যতম দ্রুত গতির সুপার কম্পিউটার হিসাবে নিজেকে প্রমান করে। তিন মাস পরেও এটিকে কখনো রিবুট করতে হয় নি রিসার্চারদের।

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

ফাড এবং মাইক্রোসফট
মাইক্রোসফট এবং তার তাবেদাররা প্রাথামিক লিনাক্স দেখে একটি বিশেষণ প্রয়োগ করে এবং লিনাক্স বিরোধী প্রচারনায় উদ্যোগী হয়ে ওঠে। বিশেষনটি হচ্ছে ফাড (FUD) যেটি সমন্বিত ভাবে ‘অস্থিরতা’, ‘প্রত্যাশাতাহীনতা’ এবং ‘সন্দেহ’ (Frustration, Uncertainty & Doubt ) এই তিনটিকে বোঝাবার কাজে ব্যবহৃত হয়েছিল। যদিও লিনাক্স প্রথম দিকে অনেকখানি অসম্পূর্ণ এবং কমান্ড লাইন ভিত্তিক শক্ত একটি অপারেটিং সিস্টেম ছিল, ক্রমেই সে অবস্থা কাটিয়ে উঠে লিনাক্স পরিনত হয়েছে সহজ, মনোমুগ্ধকর এবং দারুন স্টেবল একটি অপারেটিং সিস্টেমে। মাইক্রোসফটের এহেন প্রচারনায় ব্যবসায়িক দৃষ্টিভঙ্গি কাজ করলেও চলতি বছরের লিনাক্স এক্সপো ২০০২ এ মাইক্রোসফটের একবারে গোটা একটা স্টল দখল করে বসাতে প্রমান হয় খোদ মাইক্রোসফট লিনাক্স সর্ম্পকে তাদের দৃষ্টিভঙ্গি বদলাতে বাধ্য হয়েছে।

এক খ্যাপা পেঙ্গুইনের গল্প:
বছর দশেক আগেও লিনাক্স ছিল ন্যুনতম হার্ডওয়্যার সার্পোট নির্ভর কমান্ড লাইন ভিত্তিক একটি জটিল ধরনের অপারেটিং সিস্টেম । বিভিন্ন কাজ করার জন্য এতে দু অক্ষরের কিছু কমান্ড টাইপ করে সারতে হত। উইন্ডোজের পূর্ববতী ডস যেমনটি ছিল দেখতে ঠিক তেমনি হলেও ডসের চেয়ে ছিল হাজার গুনে শক্তিশালী। উইন্ডোজে কিংবা ম্যাক ওএসে (ম্যাকিন্টোশ পিসিতে ব্যবহার উপযোগী অপারেটিং সিস্টেম) যেমনটি যেকোন অপারেশন মাউস হাতে নিয়েই করে ফেলা সম্ভব তেমনটি মোটেও সম্ভব ছিল না লিনাক্সে। এই ব্যাপারটাই লিনাক্সকে ডেস্কটপ ইউজারদের কাছ থেকে দুরে সরিয়ে রেখেছিল। তদুপরি লিনাক্সের প্রাথমিক লক্ষ্যই ছিল সার্ভার সিস্টেম। তাই ডেস্কটপের দিক থেকে লিনাক্স জনপ্রিয়তা না পেলেও স্ট্যাবিলিটি, দূর্ভেদ্যতা এবং সাশ্রয় এই সমস্ত দিক বিবেচনা করে সার্ভার সিস্টেমের বেশীরভাগই পরিচালিত হতে লাগল লিনাক্স সিস্টেম দ্বারা। দিনে দিনে বিশ্বের নানা প্রান্তে ছড়িয়ে ছিটিয়ে থাকা ব্যবহারকারীর প্রত্যক্ষ বা পরোক্ষ সংস্পর্শে লিনাক্স হয়ে উঠতে লাগল দারুন শক্তিশালী এবং দারুন কাস্টোমাইজেবল একটি অপারেটিং সিস্টেমে। পাশাপাশি এই সেচ্ছাসেবীরা লিনাক্সের জন্য বিভিন্ন রকম হার্ডওয়্যারের ড্রাইভার প্রস্তুত করে লিনাক্সকে করেছে হার্ডওয়্যারের দিক থেকে স্বনির্ভর । বিভিন্ন রকম প্রয়োজনীয় সফটওয়্যারের লিনাক্স ভার্সন প্রকাশ হতে শুরু করেছে বলে এর সফটওয়্যারের সম্ভারও হয়ে উঠেছে স্বয়ংসম্পূর্ণ। বর্তমানে লিনাক্সের বিভিন্ন পরিবেশক যেমন রেডহ্যাট, ম্যানড্রেক ইত্যাদি কোম্পানী গুলো সার্ভার সিস্টেমের পাশাপাশি ডেস্কটপ ইউজারদের কথা চিন্তা করে প্রকাশ করতে শুরু করেছে খুব সহজ, শক্তিশালী এবং স্টেবল এক একটি রিলিজ। তদুপরি সিস্টেম রিকোয়ারমেন্ট খুব কম এবং বেশীরভাগ হার্ডওয়্যারই সাপোর্ট করে বলে আদ্যিকালের বা বর্তমানের যেকোন পিসিতেই এটি কাজ করে চমৎকারভাবে। তাই অবস্থাদৃষ্টে মনে হয় লিনাক্সের লোগো বা অফিসিয়াল মাসকট হাশিখুশি পেঙ্গুইনটি যেন খ্যাপা ভঙ্গিতে দখল করতে চলেছে দুনিয়া।

লিনাক্স লোগো - টাক্স
লিনাক্স অপারেটিং সিস্টেমের লোগোটি হচ্ছে একটি পেঙ্গুইন যার নাম হচ্ছে টাক্স। এটিই লিনাক্সের অফিসিয়াল মাসকট। লিনাক্সের এই পেঙ্গুইন লোগো সম্পর্কে এর স্রষ্টা লিনাস ট্রোভাল্ডের বক্তব্য অনেকটা এরকম :
অন্যান্য লোগোগুলো ছিলো খুবই বোরিং এবং আমার মনের মতো ছিলো না মোটেই। লিনাক্স কর্পোরেট লোগোর জন্য আমি খুজছিলাম এমন কিছু যা হবে মজার এবং লিনাক্সের সাথে সামঞ্জস্যপূর্ণ। একটা মোটাসোটা পেঙ্গুইন, খাওয়া দাওয়া শেষ করে বসে আসে এরকম একটা ছবি পুরোপুরি আমার পছন্দের সাথে মিলে যায়। তবে পেঙ্গুইনটিকে খুব সিরিয়াসভাবে নেওয়ার কিছু নেই। এটি অনেকটা মজা করার জন্য। কেউ কেউ আমাকে বলে থাকে যে একটা মোটাসোটা পেঙ্গুইন কখনোই লিনাক্সের যে আভিজাত্য তার সাথে ঠিক খাপ খায়না। তাদের জন্য বলছি, তারা সম্ভবত চুপচাপ পেঙ্গুইনই দেখেছে, কিন্তু দেখেনি প্রতি ঘন্টায় ১০০ মাইল বেগে দৌড়ে আসা রাগী পেঙ্গুইনের আক্রমন। দেখলে তারা এধরনের মন্তব্য করার সাহসই পেতো না।

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

কেডিই, জিনোম সহ আরও অন্যান্য কোম্পানী কাজ করে যাচ্ছে লিনাক্সের ডেস্কটপ এনভারমেন্ট নিয়ে। আপনি যদি দেখতে চান কেডিই এনভায়রনমেন্ট দেখতে কেমন তবে trylinuxsd.com ওয়েবসাইটটিতে গিয়ে বর্তমানের লিনাক্সের চেহারা, তার ডেমো এবং ট্যুর দেখতে পারেন। আপনার কম্পিউটারে জিনোম ডেস্কটপ (লিনাক্সের একটি ডেস্কটপ এনভারোনমেন্ট) চালালে সেটি দেখতে কেমন হবে তাহলে www.gnome.org/screenshots/ এ গিয়ে স্ক্রিন শটগুলো দেখে মুগ্ধ হতে দ্বিধা করবেন না। আর কেডিই ডেস্কটপ সম্পর্কে জানতে ঢুঁ মারুন www.kde.org এ গিয়ে।

কেন লিনাক্স?
আপনি হয়তো ভাবছেন এতো কিছু থাকতে লিনাক্স কেন? আপনি কি কখনো ভেবেছেন উইন্ডোজে আপনি কতটা নিরাপত্তাহীন? আপনার জরুরী কোন ফাইল খুলে যদি দেখেন কোন এক ’পন্ডিত’ তা ফাঁকা করে রেখেছে তখন কি আপনার চুল ছিঁড়তে ইচ্ছে করে না? কিংবা বাইরে বেরুনোর আগে আপনি দীর্ঘস্থায়ী কোন কাজ (হার্ডডিস্ক স্ক্যান, কিংবা কোন ইমেজ রেন্ডারিং) করতে দিলেন এবং চাইলেন আপনার ছোট ভাইটি আপনার কাজ অথবা ডকুমেন্টের কোন ক্ষতি না করে এর পাশাপাশি একটু গেম খেলুক। কখনো কি ভেবেছেন যে এগুলো সম্ভব হতে পারে? এরকম আরো হাজারটা কারন বলা যায় যার জন্য লিনাক্সকে সত্যিই পার্থক্যসূচক সম্মান দিতে হবে। তবে আপনি কোন অপারেটিং সিস্টেম ব্যবহার করবেন তা সম্পূর্ণই নির্ভর করে আপনি যে কাজের জন্য আপনার কম্পিউটারকে ব্যবহার করতে চাচ্ছেন তার উপর। যদি আপনার প্রয়োজনীয় সফটওয়্যার কোন নির্দিষ্ট অপারেটিং সিস্টেম ছাড়া না চলে তাহলে আপনার আর কোন পথ খোলা থাকেনা। কিন্তু যদি সম্ভব হয় তবে সেরা অপারেটিং সিস্টেম ব্যবহার করাই যুক্তিসঙ্গত। আমি মনে করি কেন লিনাক্স ব্যবহার করবেন তা আপনার অভিজ্ঞতাই আপনাকে বলে দেবে।
দশটি গুরুত্বপূর্ণ কারন যার জন্য লিনাক্স ব্যবহার করা যুক্তিযুক্ত:

>> লিনাক্সে লক্ষ টাকা মূল্যের সফটওয়্যার পাচ্ছেন বিনামূল্যে (অথবা কয়েকটি সিডির মূল্যে)

>> লিনাক্স একটি পরিপূর্ণ অপারেটিং সিস্টেম, অর্থাৎ :
- স্টেবল : লিনাক্সের অধীনে কোন সফটওয়্যার হয়ে যাওয়া মানেই লিনাক্স ক্র্যাশ হয়ে যাওয়া নয়
- নির্ভরযোগ্য : একটি লিনাক্স সার্ভারকে কয়েক মাস যাবৎ একনাগাড়ে চলতে দেখা গেছে, যেখানে একটি উইন্ডোজ সিস্টেমকে প্রতিনিয়তই রিবুটের মধ্যে থাকতে হয়।
- অসম্ভব শক্তিশালী সিকিউরিটি ব্যবস্থা : এর ফলে সঠিক ভাবে সেটআপ করা একটি লিনাক্স সিস্টেমকে হ্যাক করা প্রায় দুসাধ্য।

>> পরিপূর্ণ ডেভলপমেন্ট এনভায়রনমেন্ট সহই এটি বাজারজাত হয়। এতে সি, সি++, ফোরট্রান, জাভা ইত্যাদি কম্পাইলারের পাশাপাশি সহজে গ্রাফিক্যাল প্রোগ্রামিং করার টুলকিট যেমন কিউটি, স্ক্রিপ্টিং ল্যাঙ্গুয়েজ যেমন পার্ল, এডাব্লিউকে এবং সেড ইত্যাদি সংযুক্ত থাকে। অপরপক্ষে উইন্ডোজে (আইনগত পদ্ধতিতে) শুধু একটি সি কম্পাইলার যোগাড় করতেই কয়েক হাজার টাকার ধাক্কা।

>> অসাধারন নেটওয়ার্ক সুবিধাদি : খুব সহজেই নেটওয়ার্ক ব্যবহার এবং সিপিইউ শেয়ার, মোডেম শেয়ার ইত্যাদি করা যায়।

>> অ্যাপাচি ওয়েব সার্ভার সহ এফটিপি সার্ভার এবং অন্যান্য সার্ভার পরিচালনা করার জন্য উপযুক্ত পরিবেশ।

>> যদি ফ্রি সফটওয়্যার আপনার চাহিদা পুরনে অপারগ হয়, সেক্ষেত্রে আপনার অর্থ খরচে কর্মাশিয়াল সফটওয়্যার পাবার রাস্তা খোলা আছে।

>> খুব সহজেই লিনাক্স আপগ্রেড করা যায়। উইন্ডোজ আপগ্রেড মানেই বিশাল ঝক্কি। বেশীর ভাগ ক্ষেত্রেই পুরো হার্ডড্রাইভ ফরমেট করে নতুন করে আপগ্রেড করতে হয়। আর তাই লিনাক্স অনেক সহজে সামলানো যায়।

>> একাধিক প্রসেসর সাপোর্ট বিল্ট ইন।

>> সত্যিকার অর্থে মাল্টিটাস্কিং। আর তাই একই সাথে একাধিক প্রোগ্রাম খুব সুচারুভাবে রান করতে পারে।

>> উইন্ডোজের মতন একটি ডেস্কটপ এনভায়রমেন্ট বিদ্যমান যাকে ‘এক্স উইন্ডো সিস্টেম’ বলা হয়; এটি উইন্ডোজের চেয়ে অনেক সুন্দর এবং কাস্টোমাইজেবল।

>> এর সোর্স ওপেন । যদিও সাধারন ব্যবহারকারীদের জন্য ব্যপারটির কোন মূল্য নেই। কিন্ত যদি আপনি একজন ডেভলপার হন তাহলে এরকম এক অফুরন্ত সম্ভার দিয়ে আপনি অনেক কিছুই করতে সক্ষম হবেন।

এছাড়া আরো অনেক অনেক কারন উল্লেখ করা যায়, যার বিবরন দিতে গেলে জায়গা সংকুলান হবেনা। এনিয়ে রচিত পুরো একটি বই ইন্টারনেটে পাওয়া যায়। আগ্রহীরা www.seul.org/docs/whylinux.html এ গিয়ে দেখতে পারেন।
লিনাক্স এর বিভিন্ন ডিস্ট্রিবিউশন।

মূল লিনাক্স কারনেলটি লিনাস টোরভাল্ড কর্তৃক তৈরী এবং প্রকাশিত হয়। আর এর পাশাপাশি ছোট বড় নানা প্রতিষ্ঠান পুরো অপারেটিং সিস্টেম দাঁড় করে। এরকম বিভিন্ন প্রতিষ্ঠান কর্তৃক প্রকাশিত বিভিন্ন লিনাক্স অপারেটিং সিস্টেম এখন পাওয়া যাচ্ছে। উইন্ডোজ বলতে যেমন একমাত্র মাইক্রোসফট উইন্ডোজ বোঝায় , লিনাক্স বলতে কিন্তু কোন নির্দিষ্ট অপারেটিং সিস্টেম বোঝায়না। আপনার ব্যবহার অনুযায়ী বেছে নিতে পারেন এরই কোন একটি। এর মধ্যে কয়েকটি হচ্ছে :-

ক) সহজ
SuSE - একটি ইউজার ফ্রেন্ডলী সহজ জনপ্রিয় জার্মান ডিস্ট্রিবিউশন।
Red Hat - এখনকার সবচে আলোচিত কর্মাশিয়াল ডিস্ট্রিবিউশন ।
Caldera - খুবই ইউজার ফ্রেন্ডলী এবং সহজ ব্যবহার যোগ্য ডিস্ট্রিবিউশন।
Mandrake - ইউজার ফ্রেন্ডলী । ইনস্টলেশন এবং নেভিগেশন খুব সহজ।
TurboLinux - বেশ ইউজার ফ্রেন্ডলী । ততটা জনপ্রিয় নয়।

খ) মোটামুটি সহজ
Slackware - খুব বেশী ইউজার ফ্রেন্ডলী নয়। কিন্তু খুবই স্টেবল এবং সিকিউর। সার্ভার প্রোডাক্ট হিসেবে বেশী ব্যবহার হয়।
Debian - এটির ব্যবহারও সার্ভার লেভেলে বেশ প্রচলিত

গ) অন্যান্য প্লাটফর্মের জন্য
Linux for Macs - এই ডিস্ট্রিবিউশনটি ম্যাক পিসি ইউজারদের টার্গেট করে প্রস্তুত করা ।

উইন্ডোজ এবং লিনাক্স সহাবস্থান
অনেক উইন্ডোজ ব্যবহাকারীর মনে এই ভুল ধারনাটি আছে যে লিনাক্স ইনস্টল করলে উইন্ডোজ বাদ দিয়ে হবে। আসলে লিনাক্স এতোটাই ফ্লেক্সিবল একটি অপারেটিং সিস্টেম যে উইন্ডোজের পাশাপাশি একে রান করা যায়। এমনকি নতুন কোন ডিস্ক পার্টিশন ছাড়াই! কিন্তু ভাল পারফরম্যন্স এর জন্য আলাদা পার্টিশন করে নেয়াটা ভাল।

কুইক লিনাক্স ইনস্টলেশন:
>> সিস্টেম রিকয়ারমেন্ট : পুরোনো যেকোন ৩৮৬ পিসি থেকে শুরু করে আধুনিক যেকোন কম্পিউটারে লিনাক্স খুব ভাল চলে। তবে ভাল পারফরমেন্স পেতে পেন্টিয়াম ১৬৬ মেগাহার্জ বা তর্দুদ্ধ এবং ৬৪ মেগাবাইট র‌্যাম বা তার বেশী র‌্যাম থাকলে ভাল হয়। কিছু ইন্টারনাল সফট মোডেম, কিছু টিভি কার্ড এবং অল্প কিছু স্ক্যানার ছাড়া বাকি সব হার্ডওয়্যারই ঠিকঠাক মতো চলে। আরও বিস্তারিত জানতে আপনি যে ডিস্ট্রিবিউশনটি ব্যবহার করছেন তার প্রোভাইডারের ওয়েব সাইটে খোঁজ নিন।

>> শুরুর কয়েকটি স্টেপ:
স্টেপ ১ - ইনস্টলেশনের জন্য বুটেবল সিডি এবং সিডিরম
স্টেপ ২ - http://www.redhat.com/hardware -এ গিয়ে দেখে আসুন আপনার হার্ডওয়্যারগুলো সবগুলো কম্প্যাটিবল কিনা
স্টেপ ৩ - সাহায্য করতে পারে এমন কারো ফোন নাম্বার নিয়ে রাখুন
স্টেপ ৪ - আপনার হার্ডড্রাইভে কমপক্ষে ৯০০ মেগাবাইট জায়গা খালি আছে কিনা দেখে নিন

>> ডিস্ক পার্টিশনিং
লিনাক্স ইনস্টলেশনের এই ধাপটি সবচেয়ে জটিল। তবে ভয় পাবেন না কিছু মূল ধারনা থাকলেই আপনি এই ধাপটি সম্পন্ন করতে পারবেন। ডিস্ক পার্টিশন বলতে মূলতঃ একটি হার্ডড্রাইভকে কাজে ব্যবহার উপযোগী কতগুলো যুক্তিভিত্তিক অংশে ভাগ করাকে বুঝায়। আপনার হার্ডডিস্কের তথ্য ব্যাকআপ করা থাকলে আপনি ইচ্ছে মতো পার্টিশন করার পদ্ধতি প্রাকটিশ করে দেখতে পারেন। এতে তেমন কোন সমস্যা দেখা দেবার কথা নয়। আর পার্টিশনিং শুধু মাত্র প্রথমবার ইনস্টলেশনের জন্যই দরকার হয়। এরপর যতবারই ইনস্টল করুননা কেন নতুন করে পার্টিশনিং এর প্রয়োজন নেই।

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

বর্তমান হার্ডড্রাইভের একটি পার্টিশন ব্যবহার করা: মনে করুন আপনার দুটি লোকাল হার্ডডিস্ক ড্রাইভ (বা তার বেশী, আমরা সহজে বোঝার জন্য ধরে নিচ্ছি দুটি) আছে। উইন্ডোজে আপনি একে C: বা D: হিসেবে দেখতে পাবেন। এই লোকাল ড্রাইভ দুটো হতে পারে আপনার একটি হার্ড ডিস্কের দুটো পার্টিশন অথবা দুটো হার্ড ডিস্কের দুটো পার্টিশন। যাই হোক আপনি D: ড্রাইভে লিনাক্স ইনস্টল করতে পারেন।

প্রয়োজনীয় স্টেপ:
ক. আপনি যে ড্রাইভটি অর্থাৎ এখানের উদাহরন অনুযায়ী D: ড্রাইভের সমস্ত ফাইল ব্যাকআপ করুন।

খ. ইনস্টলেশন প্রোগাম শুরু করুন এবং লিনাক্স ইনস্টলেশন প্রোগ্রামে ক বলে দিন এই ড্রাইভটিতে লিনাক্স ইনস্টল করতে। প্রসংঙ্গত উল্লেখ্য, লিনাক্স ডিস্ক আর পার্টিশ কে আলাদা ভাবে রিকগনাইজ করে। অর্থাৎ যদিও আপনি উইন্ডোজে D: ড্রাইভ হিসেবে যা দেখতে পাবেন সেটা একটি ডিস্কের দুটি পার্টিশন হতে পারে অথবা দুটি ডিস্কের দুটো পাটিশন হতে পারে। লিনাক্স এদের আলাদা ভাবে সনাক্ত করে :

প্রথমত, যদি উইন্ডোজের C: এবং D: দুটি ড্রাইভ আলাদা ডিস্ক হয় এবং ড্রাইভ টি প্রাইমারী মাস্টার, প্রাইমারী স্লেভ, সেকেন্ডারী মাস্টার কিংবা সেকেন্ডারী স্লেভ পোর্টে লাগানো থাকে লিনাক্সে একে যথাক্রমে hda, hdb, hdc অথবা hdd ইত্যাদি হিসেবে ডিটেক্ট করবে। আর যদি স্ক্যাজি ড্রাইভ হয় তাহলে sda অথবা sdb ইত্যাদি হিসেবে ডিটেক্ট করবে। ইনস্টলেশনের সময় জাস্ট কারেক্ট ডাইভটি সিলেক্ট করুন, ব্যাস ওকে।

দ্বিতীয়ত, যদি উইন্ডোজের C: এবং D: দুটি ড্রাইভ একই হার্ডডিস্কের দুটি পার্টিশন হয় ইনস্টলেশন প্রোগ্রাম একে hda1 বা hda2 হিসেবে (স্ক্যাজি ড্রাইভের ক্ষেত্রে sda1 বা sda2 হিসেবে) সনাক্ত করবে। আপনাকে যা করতে হবে তা হলো ইনস্টলেশনের সময় এই শেষ পার্টিশন অর্থাৎ hda1 বা sda1 ডিলিট করে ফেলতে হবে। তারপর এই বেঁচে যাওয়া স্পেস কে আবার লিনাক্স এর জন্য পার্টিশন করতে হবে। আর হ্যাঁ, ইনস্টলেশনের আগেই পার্টিশন ডিলিট বা ক্রিয়েট করার কোন প্রয়োজন নেই।

বর্তমান পার্টিশন ভেঙ্গে আরেকটি নতুন পার্টিশন তৈরী:
মনে করুন উইন্ডোজে আপনি একটি ড্রাইভই দেখতে পান, শুধু C: ড্রাইভ, এছাড়া আপনার আর কোন ডিস্ক ড্রাইভ তো নেইই উপরন্তু আপনি আরেকটি নতুন হার্ডডিস্ক কিনতে আগ্রহী নন। এক্ষেত্রে আপনাকে যা করতে হবে তা হচ্ছে আপনার এই পার্টিশনকে ভেঙ্গে দুটো টুকরো করে নিতে হবে - কিন্তু শর্ত হচ্ছে যে আপনার C: ড্রাইভটি তে যথেষ্ট জায়গা রয়েছে। এতে আপনি পাবেন একটি আগের চেয়ে ছোট একটি C: ড্রাইভ পাবেন এবং কিছু অপার্টিশন কৃত খালি জায়গা পাবেন। লিনাক্স ইনস্টলেশনের সময় এই খালি জায়গা ব্যবহার করে ইনস্টলেশন সম্পন্ন করতে হবে। এই পার্টিশন ভাঙ্গার কাজটি আপনি fdisk (লিনাক্স ভার্সন, উইন্ডোজ ভার্সনেও কাজ চলতে পারে কোন কোন ক্ষেত্রে) ব্যবহার করে করতে পারেন। তবে এতে আপনাকে উইন্ডোজ নতুন করে ইনস্টল করতে হবে।
অনেক ক্ষেত্রে আপনি আপনার উইন্ডোজ রিমুভ করতে নাও চাইতে পারেন। সেক্ষেত্রে আপনি থার্ড পার্টি কোন এপ্লিকেশনের সাহায্য নিতে পারেন। এদের মধ্যে একটি হলো fips । এটি রেড হ্যাট লিনাক্স ইনস্টলেশন সিডির মধ্যেই পাওয়া যাবে। সিডিটির dosutils ফোল্ডারে ব্রাউজ করে প্রোগ্রমটি ব্যবহারের আগে এর হেল্প এবং readme পড়ে নিতে ভুলবেননা যেন।
এছাড়া আরেকটি ভাল প্রোগ্রাম হচ্ছে উইন্ডোজের পার্টিশন ম্যাজিক। যদি কোন ভাবে এই প্রোগ্রামটির একটি কপি জোগাড় করতে পারেন তবে পার্টিশনের কাজটি আরামে করতে পারেন।

পার্টিশন ম্যাজিক : সত্যিই জাদু
পাওয়ার কোয়েস্টের এই প্রোগ্রামটি সত্যিই অদ্ভুত। এর ভার্সন ৫.০ বা তর্দূদ্ধ থাকলে উপরের পার্টিশনিং এর কাজ গুলো অতি সহজে করতে পারবেন। আগের টপিক অনুযায়ী আপনার নিশ্চয়ই সিদ্ধান্ত নেয়া হয়ে গেছে যে আপনি পার্টিশনিং এর কোন পদ্ধতিটি ব্যবহার করতে যাচ্ছেন। এর উপর নির্ভর করে আপনি পার্টিশন ম্যাজিক সফটওয়্যারটি ব্যবহার করতে পারেন। এতে create new partition wizard কিংবা রিসাইজিং ব্যবহার করে আপনি সারতে পারেন আপনার প্রয়োজনীয় পার্টিশনিংটি। একটি নতুন পার্টিশন করতে পার্টিশন ম্যাজিক এর মেইন স্ক্রিনে wizards মেনুর Create New Partition... ক্লিক করুন। তারপর wizard এর স্ক্রিনে next ক্লিক করুন। আপনার যদি একাধিক ডিস্ক থাকে তবে পরের স্ক্রিনে কাঙ্খিত ড্রাইভটি সিলেক্ট করে next ক্লিক করুন। এর পরের স্ক্রিনে আপনাকে জিজ্ঞেস করা হবে আপনি কি একটি নতুন অপারেটিং সিস্টেম ইনস্টল করতে চান কিনা? ইয়েস সিলেক্ট করে next ক্লিক করুন। এর পরের স্ক্রিনে সার্পোটেড অপারেটিং সিস্টেমের লিস্ট দেখতে পাবেন। লিনাক্স সিলেক্ট করে next ক্লিক করুন। এরপরের স্ক্রিনে ফাইল সিস্টেম টাইপ দেখতে পাবেন। যেহেতু লিনাক্স কার্নেল ২.৪ এর আগ পর্যন্ত একটি মাত্র ফাইল সিস্টেম linux ext2 ছিল তাই এটি সিলেক্ট করে next ক্লিক করুন। এরপর logical (বা primary যেটি প্রযোজ্য) সিলেক্ট করে next ক্লিক করুন। এরপর স্পেসিফাই লোকেশন এ after D: (বা before D: ,যেটি প্রযোজ্য) সিলেক্ট করে next ক্লিক করুন। এরপর সাইজ স্পেসিফাই করে next ক্লিক করুন। তারপরের স্ক্রিনে finish ক্লিক করুন। তবে সবচেয়ে আগে আপনি আপনার সমস্ত ডাটা ব্যাকআপ করে নিতে ভুলবেননা যেন। আর যাই কিছু করুন পার্টিশন ম্যাজিক এর হেল্প ভাল করে পড়ে নিবেন। এবং অনলাইন রেফারেন্স ঘেঁটে দেখতেও ভুলবেননা যেন।

>> রেডহ্যাট লিনাক্স ইনস্টল করা
সিডি থেকে বুট করার পর এন্টার প্রেস করলে সব কিছু গ্রাফিক্যালি শুরু হবে। এরপর বিভিন্ন স্ক্রিনে ল্যাংগুয়েজ সিলেকশন, কির্বোড এবং মাউস কনফিগারেশন করতে সঠিক ডিভাইসটি সিলেক্ট করে নেকস্ট ক্লিক করুন। ইনস্টল অপশন হিসেবে ওয়ার্ক স্টেশন সিলেক্ট করুন। এরপর আসবে পার্টিশনিং এর পালা। লিনাক্স ইনস্টলেশন সিস্টেমে বর্তমানে অটোম্যাটিক পার্টিশনিং সাপোর্ট দেয়া হয়। যদি আপনার C, D, E তিনটি ড্রাইভ থাকে আর উইন্ডোজের এফডিস্ক ব্যবহার করে শেষের ড্রাইভটি ডিলিট করে থাকেন তাহলে এই অপশনটি দেখতে পাবেন। এছাড়া অন্যান্য ভাবে কাজটি করা গেলেও তার ব্যাখ্যা বর্তমান লেখার আওতা বর্হিভুত। অটোম্যাটিক পার্টিশনের সাহয্যে কোন মাথাব্যথা ছাড়াই আপনি ইনস্টল সম্পন্ন করতে পারেন। যদি আপনি পার্টিশনিং এ সচ্ছন্দ বোধ না করে থাকেন তাহলে ব্যাপারটি ইনস্টলেশন প্রোগ্রামের উপর ছেড়ে দিতে পারেন। এই স্ক্রিনে, আপনি অটোম্যাটিক পার্টিশনিং বাছাই করতে পারেন, 'ডিস্ক ডিউরিড' (Disk Druid : একটি গ্রাফিক্যাল ডিস্ক পার্টিশনিং প্রোগ্রাম) ব্যবহার করতে চাইতে পারেন কিংবা 'এফডিস্ক' (fdisk : একটি কনসোল বেইজড ডিস্ক পার্টিশনিং প্রোগ্রাম) ব্যবহার করতে চাইতে পারেন। সেক্ষেত্রে এটির ব্যবহার আপনাকে জানতে হবে।
এরপরের স্ক্রিন গুলোতে জাস্ট নেকস্ট ক্লিক করলেই ডিফল্ট অপশনগুলো সিলেক্টেড হয়ে যাবে। কেবল রুট ইউজার হিসেবে কোন পাসওর্য়াড ব্যবহার করেছেন সেটি মনে রাখবেন, নচেৎ আপনার সিস্টেমে আপনিই প্রবেশ করতে পারবেন না। ভিডিও কার্ড কনফিগারেশনের ক্ষেত্রে ডিফল্ট হিসেবে আপনার কার্ডটি পেয়ে যাবার কথা। নইলে যথাযোগ্য হার্ডওয়্যারটি সিলেক্ট করে দিন। সর্বশেষে ফাইল কপি হতে দেখবেন। অতঃপর একটি রিবুট শেষে আপনি আপনার নতুন সিস্টেম ব্যবহার শুরু করতে পারবেন। প্রথমবার লগইন করতে ইউজার নেম 'root' এবং ইনস্টলেশনের সময় ব্যবহার কৃত পাসওয়ার্ডটি ব্যবহার করতে পারেন। তবে পরবর্তীতে সাধারন কাজের জন্য রুট একাউন্ট ব্যবহার না করাই ভাল।

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

কেডিই ডেস্কটপ:
লিনাক্সে যেসমস্ত ডেস্কটপগুলো পাওয়া যায় তার মধ্যে সবচেয়ে ইউজার ফ্রেন্ডলী আর জনপ্রিয় হচ্ছে এই ডেস্কটপ এনভায়রনমেন্টটি। তাই আমার আলোচনা মূলতঃ এটিতেই সীমাবদ্ধ রাখব। আপনার ডেস্কটপে যেসমস্ত আইকন দেখতে পাবেন তার মধ্যে রয়েছে ট্র্যাশ ক্যান (অনেকটা রিসাইকেল বিনের মতো), কনট্রোল প্যানেল সহ আরো কয়েকটি আইকন। এদের যেকোন একটায় ক্লিক করে আপনি সেই আইটেমে ঢুকে যেতে পারবেন। এছাড়া স্টার্টআপে যদি কোন প্রোগ্রাম রান করতে চান তাহলে প্রোগ্রামটি ড্র্যাগ করে এনে Autostart লেখা আইকনটির উপর ছেড়ে দিন। এছাড়া লিনাক্সের মোটামুটি সবগুলো ডিস্টিবিউশনের শেষ দিকের ভার্সনগুলোতে অটোম্যাটিক্যালি সিডি ডিটেক্ট করার ব্যবস্থা যুক্ত করা হয়েছে। বর্তমান ডেস্কটপটিতে একটি সিডি আইকন দেখতে পাওয়া যায় এতে ক্লিক করলেই সিডির ভেতরের মালমশলা দেখতে পাওয়া যায়।


প্যানেল:
উইন্ডোজের টাস্কবার (যেখানটায় র্স্টাট বাটন থাকে) এর মতো লিনাক্সে একটি প্যানেল যেটি ডেস্কটপের নীচে টানা ভাবে সজ্জিত থাকে।
এই বারের ÔKÕ লেখা যেখানটা দেখতে পাচ্ছেন সেখানটায় ক্লিক করলে একটি মেনু দেখতে পাবেন যাকে ÔKÕ মেনু বলা হয়। এখানটায় আপনি অধিকাংশ প্রোগ্রামের শর্টকাট দেখতে পাবেন।

লীনাক্স ডিরেক্টরী স্ট্রাকচার:
আপনি কমান্ড প্রম্পটে বা ফাইল ম্যানেজার ব্যাবহার করে লিনাক্স পার্টিশনে রাখা যে সমস্ত ফোল্ডার দেখতে পাবেন সেগুলোর কয়েকটির সাথে পরিচয় করিয়ে দিচ্ছি। রেডহ্যাট এবং অন্যান্য ওপেন সোর্স সফটওয়্যার ফাইল সিস্টেমের জন্য একটি স্ট্যার্ন্ডাড মেনে চলে, যাকে ফাইল সিস্টেম হাইরারচি স্ট্যান্ডার্ড সংক্ষেপে FHS বলা হয়ে থাকে। এই স্ট্যার্ন্ডাডটির পুরো ডকুমেন্টটা পাওয়া যাবে http://www.pathname.com/fhs - তে। এখানে যে সমস্ত ডিরেক্টরীর উল্লেখ করা হবে তা মূল স্ট্যান্ডার্ড এবং একাধিক অন্যান্য ডিরেক্টরীর একটি অংশ।
/dev ডিরেক্টরী : আপনার সিস্টেমে সংযুক্ত বিভিন্ন ডিভাইস যেমন হার্ডড্রাইভ, সিডিরম, ভিজিএ কার্ড ইত্যাদিকে উপস্থাপন করে। যেমন : /dev/cdrom - সিডিরম ড্রাইভ, /dev/modem - মোডেম, /dev/hda - প্রাইমারী মাস্টার হার্ডড্রাইভ ইত্যাদি নির্দেশ করে। সিস্টেম ঠিকঠাক ভাবে কাজ করতে হলে এই ডিরেক্টরীটির উপস্থিতি জরুরী।
/etc ডিরেক্টরী : এই ডিরেক্টরী আসলে বিভিন্ন ধরনের কনফিগারেশন ফাইলের একটি ধারক। বিভিন্ন প্রোগ্রাম তাদের বিভিন্ন ধরনের কনফিগারেশন এখানটায় রেখে থাকে এবং প্রয়োজনমতো ব্যবহার করে থাকে। বিভিন্ন ধরনের কনফিগারেশন সরাসরি বদলাতে চাইলে আমরা এখানটায় সেটি সম্পন্ন করতে পারি। এটাকে অনেকটা উইন্ডোজের রেজিস্ট্রির মতো বলা যায়। এই ডিরেক্টরীরর ভেতর বেশীরভাগ সময় আরো দুটো ডিরেক্টরী দেখতে পাওয়া যায় - /etc/X11 এবং /etc/skel| প্রথমটি ব্যবহৃত হয় এক্স ইউন্ডো সিস্টেম ম্যানেজার প্রোগ্রাম কর্তৃক এবং পরেরটি ব্যবহৃত হয় কোন নতুন ইউজার তৈরী করলে তার ডেস্কটপসহ অন্যান্য প্রাথমিক তথ্যাদির ধারক হিসেবে।

/lib ডিরেক্টরী : এখানটায় সিস্টেমের লাইব্রেরী ফাইল সমূহ থাকে। বিভিন্ন প্রোগ্রাম এই লাইব্রেরী ফাইলগুলো ব্যবহার করতে পারে। অনেকটা উইন্ডোজের ডিএলএল ফাইলের মতো। সিস্টেমের বহু প্রয়োজনীয় ডিএলএল ফাইল এখানটায় থাকে।

/mnt ডিরেক্টরী : অস্থায়ী স্টোরেজ ডিভাইস যেমন ফ্লপি, সিডিরম ইত্যাদি এখানে মাউন্ট করা হয়। বেশীরভাগ সিস্টেমে এই ফোল্ডারের ভিতরে থাকে আরো কিছু সাবডাইরেক্টরী যেমন /floppy, /cdrom, /zip যা আপনার রিমুভেবল মিডিয়া ড্রাইভ নির্দেশ করে থাকে। যখন আপনি ফ্লপি ব্যবহারের আগে তা মাউন্ট করবেন তার ফাইলগুলো তখন /mnt/floppy তে জমা হবে কেননা লিনাক্সে কোন ড্রাইভ লেটার নেই যেমন A: ইত্যাদি।

/opt ডিরেক্টরী : এই ডিরেক্টরী বিভিন্ন বড়সড় প্যাকেজ সফটওয়্যারের জন্য যায়গা দিয়ে থাকে। বিভিন্ন বড় সফটওয়্যার যেগুলোর নিজেদের বিভিন্ন ধরনের সাব ফোল্ডার থাকে এবং নিজস্ব ডিরেক্টরী স্ট্রাকচার থাকে সেগুলো সাধারনত এখানটায় ইনস্টল করা হয়।

/proc ডিরেক্টরী : যে সমস্ত ফাইল সরাসরি কারনেল থেকে ইনফরমেশন নেয় কিংবা দেয় তাদের অবস্থান এই ডিরেক্টরীতে। অর্থাৎ এই ডিরেক্টরীতে অবস্থানরত ফাইল গুলোতে সিস্টেমের বিভিন্ন রকম ইনফরমেশন জমা হতে থাকে।

/sbin ডিরেক্টরী : শুধুমাত্র 'root' ইউজার কর্তৃক ব্যবহার যোগ্য প্রোগ্রাম এখানটায় পাওয়া যাবে। এখানে পাওয়া প্রোগ্রামগুলো শুধুমাত্র বুট করতে, '/usr' ডিরেক্টরী মাউন্ট করতে এবং সিস্টেম রিকভারী অপারেশনে ব্যবহৃত হয়।

/usr ডিরেক্টরী : এখানটায় আসলে বেশীরভাগ ফাইল অবস্থান করে । আর এ কারনে এটিকে সম্পূর্ন আলাদা একটি পার্টিশনে জায়গা দেয়াটা খুবই যুক্তি সংগত। উপরন্তু এটিকে রিডওনলি হিসেবে মাউন্ট করা উচিত। এর ভেতরে যেসমস্ত সাবডিরেক্টরী সাধারনতঃ দেখতে পাওয়া যায় -

/usr
|- bin বিভিন্ন প্রোগ্রামের ধারক
|- doc ডকুমেন্ট পেইজ ধারক
|- etc আরো কিছু কনফিগারেশন ফাইল এখানে থাকে
|- games গেমসের জন্য
|- include সি প্রোগ্রামিং এর হেডার ফাইল ধারক
|- kerberos kerberos সংক্রান্ত কিছু বিশেষ প্রোগ্রাম
|- lib সরাসরি ব্যবহারযোগ্য নয় এমন কিছু লাইব্রেরী ফাইল থাকে
|- libexec অন্য প্রোগ্রাম কর্তৃক ব্যবহৃত কিছু সাহায্যকারী প্রোগাম থাকে
|- local পরে আলোচনা করা হয়েছে
|- sbin সিস্টেম সংক্রান্ত কিছু প্রোগামের ধারক
|- share এমন কিছু ফাইল যার ফাইল আর্কিটেকচার নিদিষ্ট নয়
|- src হচ্ছে সোর্স কোড ধারক
|- X11R6 এক্স ইউন্ডো সিস্টেম সংক্রান্ত কিছু প্রোগ্রাম ধারক

/usr/local ডিরেক্টরী : সিস্টেম এডমিন কর্তৃক ইনস্টলকৃত ছোট এবং মাঝারী আকারের সফটওয়্যার এর মধ্যে থাকতে পারে। এর অর্ন্তবর্তী সাবডিরেক্টরী অনেকটা /usr এর মতো।

/var ডিরেক্টরী : যেহেতু সিকিওরিটির কারনে অন্যান্য ফোল্ডার লক করা কিংবা রিডওনলী থাকতে পারে তাই বিভিন্ন প্রোগ্রামের ব্যবহৃত লগ ফাইল বা পরিবর্তনশীল ফাইল এবং ফোল্ডার রাখতে এই ফোল্ডারটি ব্যবহৃত হয়। তদুপরি এটি সম্পূর্ণ রিডরাইট অধিকার সম্পন্ন থাকতে হবে।

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





































































































এ্যাপ্লিকেশন ধরনউইন্ডোজ এ্যাপ্লিকেশনলিনাক্স এ্যাপ্লিকেশন
অফিস প্যাকেজ মাইক্রোসফট অফিস এক্সপি ওয়ার্ড পারফেক্ট ল্যাটেক্স সিস্টেম, স্টার অফিস ৫.২ কোরেল ওয়ার্ড পারফেক্ট এ্যাপ্লিক্সওয়্যার
এমপিথ্রি প্লেয়ারউইনঅ্যাম্প, মিউসিকম্যাচ জুকবক্সএক্সএমএমএস, কেজুকবক্স
পিকচার ভিউয়ারএসিডি সি ই আইজ, কেভিউয়ার
ইন্টারনেট ব্রাউজারএমএস ইন্টারনেট এক্সপ্লোরার, নেটস্কেপ নেভিজেটর, মোজিল্লানেটস্কেপ নেভিজেটর, কনকয়্যার, মোজিলা
ইমেইল অ্যাপ্লিকেশনআউটলুক এক্সপ্রেস, এউডোরা, নেটস্কেপ ম্যাসেনজারকেমেইল, জিএনইউ মেইলার
স্প্রেডসিট প্রোগ্রামমাইক্রোসফট এক্সেল, স্টার ক্যাল্কস্টার ক্যাল্ক, জিনুমেরিক
প্রেসেনটেশন প্রোগ্রামমাইক্রোসফট পাওয়ার পয়েন্ট, স্টারলেমপ্রেসস্টারলেমপ্রেস, কেপ্রেজেন্ট
র‌্যাপিড অ্যাপ্লিকেশন ডেভলপমেন্টভিস্যুয়াল স্টুডিও, ডেলফিগ্লেড, কাইলিক্স
ইমেজ এডিটিং / ম্যানিপুলেশনএডবি ফটোশপজিম্প
ইলাস্ট্রেটর / ভেক্টর গ্রাফিক্সএডবি ইলাস্ট্রেটর, কোরেল ড্র কে ইলাস্ট্রেটর, স্কেচ
ডাটাবেসওরাকল, মাইক্রোসফট এসকিউএল সার্ভারওরাকল, মাইএসকিউএল, পোস্ট জিআরই এসকিউএল
প্রক্সি সারভারউইনগেট, নেভিস্কোপস্কুইড, এসওসিকেএসডি
টেক্সট এডিটরনোটপ্যাড, টেক্সটপ্যাডইম্যাকস, ভি, জিএডিট
সি/সি++ কম্পাইলারটারবো সি++, ভিজুয়াল সি++জিএনইউ সি/সি++
ডেভলপমেন্ট প্রোগ্রামমাইক্রোসফট ভিজুয়াল সি++কে ডেভলপার
অন্যান্য কম্পাইলারকিউ বেসিক, ফোরট্রান, জেডিকেজিএনইউ বেসিক, জি৭৭, জেডিকে
সিডি রেকডির্ংনিরো বার্নিং রম, এডাপটেক ইজি সিডিএক্স-সিডিরোস্ট, জিনোম টোস্টার
ইন্সট্যান্স মেসেজিংআইসিকিউ, ইয়াহু মেসেঞ্জার, এমএসএন মেসেঞ্জারএভরিবাডি, এলআইসিকিউ
ভিডিও প্লেয়ারজিং এমপেগ প্লেয়ার, সুপার ডিকোডার, উইন্ডোজ মিডিয়া প্লেয়ারজাইন, এমপিইজিপিভি প্লেয়ার


বাংলাদেশে লিনাক্স
লিনাক্সের প্রান হলো এর ইউজার গ্রুপ। লিনাক্স ওপেন সোর্স আন্দোলনের সাথে একাত্মতা ঘোষনা করে যার মূল বক্তব্যই হল : একার নয় সবার। তাই লিনাক্স ব্যবহারকারীর জন্য ইউজার গ্রুপ একটি গুরুত্বপূর্ণ বিষয়। বাংলাদেশে বর্তমানে এ ধরনের বেশ কয়েকটি ইউজার গ্রুপ রয়েছে। তন্মধ্যে বিডিলাগ (বাংলাদেশ লিনাক্স ইউজার গ্রুপ) এবং বুয়েটলাগ (বুয়েট লিনাক্স ইউজার গ্রুপ) উল্লেখযোগ্য। বিডিলাগ বাংলাদেশের প্রাচীনতম লিনাক্স ইউজার গ্রুপ যার পুরোধা মুজাহেদুল হক আবুল হাসনাত। অতীতে এর বেশ কয়েকটি আলোচনা সভা হলেও বর্তমানে এর কার্যক্রম একটি মেইলিং লিস্টের মধ্যে সীমাবদ্ধ। এর মেইলিং লিস্টের অ্যাড্রেস হল : bdlug@yahoogroups.com এবং ওয়েব সাইট www.bdlug.org|

শেষ কথা :
লিনাক্স একটি আন্দোলন, লিনাক্স একটি ভালোবাসা, লিনাক্স একটি শক্তি। লিনাক্স নিজেই একটি নতুন শতাব্দী, একটি কিংবা দুটি কাভার স্টোরীতে এর উপাখ্যান শেষ হবার নয়। শেষ হবার নয় এর অফুরন্ত বিস্ময়। যে হাতছানিতে সার বিশ্ব সাড়া দিয়ে এগিয়ে আসছে, আপনি কেন পিছিয়ে থাকবেন? লিনাক্সের কাব্যময় জগতে আমন্ত্রন জানিয়ে শেষ করছি...

ওয়েব লিঙ্ক:
জিএনইউ ওয়েবসাইট : www.gnu.org
ফাড সংক্রান্ত প্রশ্নের উত্তর : www.geocities.com/SiliconValley/Hills/9267/fud2.html
কার্ণেল সংক্রান্ত ওয়েবসাইট : www.kernel.org
অন্যান্য অপারেটিং সিস্টেমের সাথে লিনাক্সের একটি পরিসংখ্যান : www.dwheeler.com/oss_fs_why.html
লিনাক্স সংক্রান্ত বিভিন্ন নিউজ এবং তথ্যাদি : www.linux.org
ওপেন সোর্সের একটি ওয়েব সাইট : www.opensource.org
ব্যবসায়িক পরিপ্রেক্ষিতে ওপেন সোর্স সফটওয়্যার : www.opensource.org/advocacy/case_for_business.html

প্রোগ্রামিং সংক্রান্ত:
লিনাক্স সফটওয়্যার ডেভলপারদের জন্য তথ্যের উৎস এবং পোর্টাল : linuxdev.net
লিনাক্স প্রোগ্রামারদের স্বর্গরাজ্য : www.linuxprogramming.com
ওপেন সোর্স ওয়েব ডেভলপমেন্ট সোর্স : www.opendeveloper.org
সোর্স কোড কালেকশন : www.sourcebank.com
আরেকটি সোর্স কোড এবং সফটওয়্যার কালেকশন : www.sourceforge.net

রেফারেন্স
লিনাক্স ডকুমেন্টেশন প্রোজেক্ট : www.linuxdoc.org
লিনাক্স ফ্রিকুয়েন্টলী আস্কড কোয়েশচান : www.firstlinux.com/guide
লিনাক্স গুরুজ : www.linuxguruz.org
লিনাক্সের সমস্যা সমাধানের টেকনিক্যাল বিভিন্ন তথ্যাবলী : www.linuxkb.cheek.com

বই:
কিছু ওপেন সোর্স বই : www.tuxedo.org/~esr/writings
ফায়ারওয়্যালের উপর একটি বই : www.quanmongmo.net
অনেকগুলো লিনাক্স সংক্রান্ত বই : www.opencontent.org/openpub
লিনাক্স শেখার জন্য বেশ ভাল : www.linuxfromscratch.org
লিনাক্স অ্যাডমিনিস্ট্রেশনের একটি ভাল বই : www.securityportal.com/lasg
লিনাক্স ইনস্টলেশন এন্ড গেটিং স্টার্টেড www.ssc.com

ডাউনলোড লিঙ্ক
appwatch.com/Linux
www.caleb15.com
davecentral.com
www.freshmeat.net
www.linuxapps.com
www.penguinapps.com
www.themes.org
www.tuxfinder.com

ফোরাম
লিনাক্স কমিউনিটির জন্য ফোরাম একটি গুরুত্বপূর্ণ কনসেপ্ট কারন লিনাক্স প্রেমিরা পরস্পর পরস্পরের প্রতি বিভিন্ন সমস্যা সমাধানে দারুন সহমর্মী।
www.linuxplanet.com
www.lnuxquestions.org

হার্ডওয়্যার :
www.linuxppc.org
www.linuxprinting.org

হেল্প ও ট্রাবলশ্যুটিং :
www.linuxhelp.net
www.linuxhelp.org
www.linuxselfhelp.com

ব্লগস্পটের জন্য আরো টেমপ্লেট

প্রথমে কিছু টেমপ্লেট হ্যাক করলাম আমার দুটো ব্লগস্পট সাইটের জন্য। তারপর নেশায় পেয়ে বসল। ধুমধাম আরো কিছু টেমপ্লেট হ্যাক করে ফেল্লাম। সবগুলো টেমপ্লেট আসলে ব্লগার টেমপ্লেট থেকে হ্যাক করা - সুন্দর ভাবে বাংলা প্রর্দশনের জন্য।

আগের গুলো এবং নতুন টেমপ্লেট গুলো একসাথে নীচে দিলাম। ছবির নীচে টাইটেলে রাইট ক্লিক করে সেভ করুন টেমপ্লেট গুলো। টেমপ্লেট ডাউনলোডের পর এর ভিতর এক জায়গায় "Your Name" বা "আপনার নাম" খুঁজে বার করুন। সে জায়গায় আপনার ইংরেজী এবং বাংলা নাম জায়গা মত বদলে দিন। এছাড়াও শহর, দেশ এসবের নাম বদলাতে ভুলবেন না। যদি ঝামেলা মনে করেন তাহলে এটা না করলেও চলে। কিভাবে টেমপ্লেট ব্যবহার করবেন সেটা জানতে এখানে ক্লিক করুন

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

আশাকরি টেমপ্লেটগুলো আপনাদের কাজে আসবে।


ছবি ১: বেসিক এলিমেন্ট


ছবি ২: কার্ভস ব্লু


ছবি ৩: ফোলিও


ছবি ৪: মেইক মাই ওয়ে


ছবি ৫: মিনিমা


ছবি ৬: নিউজলাইন মিনি ব্লু


ছবি ৭: পাউয়েল স্ট্রীট

ডিস্ক পার্টিশনিং : ভাঙ্গা গড়ার খেলা

(লেখাটি প্রাগৈতিহাসিক যুগে সি-নিউজ নামের একটি পত্রিকায় ছাপা হয়েছিল। আজকাল আর এই পদ্ধতিতে কেউ ডিস্ক পার্টিশনিং করে না। তবু কিছু বেসিক জিনিস আলোচনা করা হয়েছে এতে। কারো কারো কাজে লাগতে পারে ভেবে প্রকাশ করছি এখানে।)

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

আসলে হার্ডডিস্ক পার্টিশনিং করাটা তেমন জটিল বিষয় নয়। ঝামেলা হচ্ছে ডিস্ক ড্রাইভ এবং তার পার্টিশনিং কনসেপ্টটা পরিষ্কার রাখা। আমি চেষ্টা করব ন্যুনতম কনসেপ্টটা দিয়ে শুরু করতে, যাতে পার্টিশনিংকে আর ‘‘ভয়াবহ’’ মনে না হয়।

ডিস্ক পার্টিশনিং কি?
একটি হার্ডডিস্কের ধারনক্ষমতা বর্তমানে আমাদের চিন্তা ভাবনার সীমানা ছাড়িয়ে যাচ্ছে। আর এই সমস্ত হার্ডডিস্ক কে সুবিধাজনক ভাবে ব্যবহার করার জন্য তাকে বিভিন্ন অংশে ভেঙ্গে ফেলা হয়। যে পদ্ধতিতে এই কাজটি করা হয় তাকে বলা হয় পার্টিশনিং। সোজা বাংলায় পার্টিশনিং হচ্ছে উইন্ডোজে দেখতে পাওয়া C,D, ... ইত্যাদি ড্রাইভ তৈরীর পদ্ধতি। পার্টিশনিং এর টেকনিক্যাল অনেক সুবিধা আছে - সেগুলো এই সল্প পরিসরে আর উল্লেখ নাইবা করলাম। আবার বেশী পার্টিশন করাও কিন্তু কোন কোন ক্ষেত্রে অসুবিধাজনক। সে যাই হোক, অনেকে বিভিন্ন সময় পার্টিশনিং করবার প্রয়োজনীয়তা বোধ করতে পারেন। তখন যারা এই বিষয়ে বোদ্ধা তাদের শরনাপন্ন হওয়া ছাড়া কোন গতি থাকে না। আমার উদ্দেশ্য এই ব্যাপারটিকে আপনাদের বোধগম্য করে তুলে ধরা।

ডিভাইস কনসেপ্ট
হার্ডডিস্ক বা যেকোন আইডিই (IDE) ডিস্ক ব্যবহারের জন্য সাধারন পিসিতে চারটি সংযোগ স্থল দেখা যায়। মাদারবোর্ড থেকে দুটো ডাটা ক্যাবল বেরিয়ে আসে। এদের একটিকে বলা হয় প্রাইমারী আর অন্যটিকে বলা হয় সেকেন্ডারী ক্যাবল। ঠিক কোনটি প্রাইমারী আর কোনটি সেকেন্ডারী তা বোঝা যাবে মাদারবোর্ডের যেখানটায় ক্যাবল লাগানো রয়েছে সেখানকার লেখা দেখে। ওখানটায় লেখা থাকবে কোনটি প্রাইমারী আর কোনটি সেকেন্ডারী অথবা কোনটি পোর্ট ১ আর কোনটি পোর্ট ২ (এ ক্ষেত্রে প্রথমটি প্রাইমারী আর অন্যটি সেকেন্ডারী )। এই দুটি ক্যাবলের প্রতিটিতে দুটি করে মোট চারটি সংযোগস্থল থাকে। এই চারটি সংযোগস্থলে সর্বোচ্চ চারটি ডিভাইস, যেমন - হার্ডডিস্ক, সিডিরম, ডিভিডিরম, সিডিরাইটার অথবা অন্য যেকোন আইডিই ডিভাইস সংযুক্ত করা যেতে পারে। আবার প্রতিটি ক্যাবলের দুটি সংযোগস্থলে লাগানো দুটি ডিভাইসের জাম্পার (একটি ছোট্ট যন্ত্রাংশ) কিভাবে লাগানো রয়েছে তার উপর নির্ভর করে কোনটি কার চেয়ে বেশী প্রাধান্য পাবে। যে ডিভাইসটি বেশী প্রাধান্য পায় তাকে বলা হয় মাস্টার আর যেটি কম প্রাধান্য পায় তাকে বলা হয় স্লেভ। সুতরাং এই চারটি ডিভাইস কম্পিউটার চিনে থাকে যে নাম ধরে এবং যে অনুক্রমে তা হল : প্রাইমারী মাস্টার, প্রাইমারী স্লেভ, সেকেন্ডারী মাস্টার, সেকেন্ডারী স্লেভ। এক্ষেত্রে জাম্পার নামক যন্ত্রাংশটি ঠিক কিভাবে লাগাতে হবে তা ডিভাইসটির গায়ে এঁকে/লিখে দেয়া চিহ্ন দিখে ঠিক করে নিতে হয়। একই ক্যাবলের দুটো সংযোগ স্থলেই যদি একই ধরনের জাম্পার লাগানো থাকে অর্থাৎ দুটোতেই যদি মাস্টার বা স্লেভ জাম্পার সেটিং করে দেয়া থাকে তবে কম্পিউটার কিন্তু কোনটাকেই পাবে না। তাই অবশ্যই একটিকে মাস্টার আর অন্যটিকে স্লেভ করে নেবেন।


চিত্র ১: মাদারবোর্ডে যেখানটায় আইডিই ক্যাবল লাগাতে হয়

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

উইন্ডোজ ফাইল সিস্টেম - ফ্যাট বনাম ফ্যাট থার্টিটু
উইন্ডোজ ৯৫ যখন বেরুল তখন সেটি হার্ডডিস্কে তথ্যাদি রাখার জন্য উইন্ডোজ ৯৫ তার পিতা ডসের ফাইল সিস্টেম ফ্যাট (FAT) ব্যবহার করত। অনেকে একে ফ্যাট সিক্সটিন (FAT16) ও বলে থাকেন। এরও আগে ফ্যাট টুয়েলভ (FAT12) বলে একটি ফাইল সিস্টেম ছিল যার ব্যবহার সময়ের সাথে সাথে বন্ধ হয়ে যায়। যাই হোক, উইন্ডোজ ৯৫ পরবর্তীতে এতটাই জনপ্রিয় হয়ে পড়ে যে সমগ্র কম্পিউটার জগতের বেশীরভাগ কম্পিউটার এই অপারেটিং সিস্টেম সেই সাথে ফ্যাট সিক্সটিন ফাইল সিস্টেম ব্যবহার করতে শুরু করে। এরপরে রিলিজ হয় মাইক্রোসফটের উইন্ডোজ এনটি ফোর (WinNT 4.0) যেটা আগের পুরোনো ফ্যাট সিক্সটিনের পাশাপাশি তার নিজস্ব নতুন ফাইল সিস্টেম এনটিএফএস (NTFS) ব্যবহার করতে পারতো। এরপর মাইক্রোসফট পরীক্ষাজনক ভাবে উইন্ডোজ ৯৫ এর সেকেন্ড রিলিজ প্রকাশ করে যাতে ফ্যাট থার্টিটু ফাইল সিস্টেমটি উপস্থিত থাকলেও তাকে ডিফল্ট হিসেবে ব্যবহার করা হতো না। তবে এর পরবর্তী উইন্ডোজ ৯৮ , উইন্ডোজ ২০০০, উইন্ডোজ এক্সপি প্রতিটি অপারেটিং সিস্টেম ফ্যাট থার্টিটু ব্যবহার করতে সক্ষম। তদুপরি অন্যান্য অপারেটিং সিস্টেম - লিনাক্স, ইউনিক্স ইত্যাদি বর্তমানে ফ্যাট থার্টিটু ব্যবহারে সক্ষম। সুতরাং যদি আপনি উইন্ডোজের এমন একটি ভার্সন ব্যবহার করতে চান যেটি ফ্যাট থার্টিটু ফাইল সিস্টেম ব্যবহার করতে পারে না তাহলে অবশ্যই ফ্যাট সিক্সটিন পদ্ধতিতে পার্টিশনিং করতে হবে। তা নাহলে নিশ্চিন্তে ফ্যাটথার্টিটু ব্যবহার করুন কেননা না এটি ফ্যাটসিক্সটিন এর চেয়ে ঢেরগুনে ভাল।

উইন্ডোজের এফডিস্ক (fdisk)
উইন্ডোজের প্রতিটি ভার্সনের সাথে একটি করে fdisk প্রোগ্রাম থাকে। উইন্ডোজের ভার্সন এর সাথে এই প্রোগ্রামটির ধরনও বদলে যেতে পারে। আমি যদিও এখানে উইন্ডোজ ৯৮ - সেকেন্ড এডিশনের এফডিস্কের বর্ণনা করবো, তথাপি শুধু মাত্র ফ্যাট আর ফ্যাট থার্টিটুর অপশনটি ব্যতীত বাকি সবই পুরোনো যেকোন এফডিস্কের মতো একই রকম। এটির উইন্ডোজের ফোল্ডারে অবস্থিত কমান্ড ফোল্ডারের ভিতরে পাওয়া যাবে (c:\windows\command\fdisk.exe)| যদি বুটেবল ফ্লপি কিংবা সিডি থাকে তাহলে তাতেও এই প্রোগ্রামটি পাওয়া যাবে। সুতরাং আপনি কমান্ড প্রম্পটে, এমএস ডসে রিস্টার্ট করে কিংবা ফ্লপি বা সিডি থেকে বুট করে কমান্ড লাইনে fdisk লিখে এন্টার দিন। যেমন: C:\fdisk ।

এতে করে আপনি এফডিস্ক প্রোগ্রামটি শুরু করতে পারবেন।

শুরুর স্ক্রিন
যদি আপনার হার্ডডিস্কটি ৫১২ মেগাবাইটের চেয়ে বড় হয় এবং আপনি fdisk এর এমন একটি ভার্সন ব্যবহার করে থাকেন যেটি ফ্যাট থার্টিটু সার্পোট করে থাকে থাহলে আপনি এই স্ক্রিনটি দেখতে পাবেন। যেমনটি আগে বল্লাম - যদি আপনি উইন্ডোজের নতুন ভার্সন গুলোর (উইন্ডোজ ৯৫ - সেকেন্ড রিলিজের পরবর্তী যেকোন ভার্সন) একটি ব্যবহার করতে চান যেটি ফ্যাট থার্টিটু ব্যবহার করতে পারে তাহলে কি বোর্ডে 'y' (ইয়েস হিসেবে) প্রেস করুন - নচেৎ 'n' (নো হিসেবে) প্রেস করুন। এরপর এন্টার দিন।

অপশন স্ক্রিন
এই স্ক্রিনে যা দেখতে পাবেন তা নীচে দেখানো হলো।


চিত্র ২: fdisk রান করল যে স্ক্রীন দেখতে পাবেন

যে কম্পিউটারে fdisk প্রোগ্রামটি রান করা হয় সেটাতে উইন্ডোজ ৯৮ চলছে এবং দুটি হার্ডডিস্ক ও একটি সিডি রাইটার রয়েছে। এই ডিভাইস গুলো যে সমস্ত পোর্টে লাগানো রয়েছে তা হলো :

১। প্রাইমারী মাস্টার - হার্ডডিস্ক : ২০ গিগাবাইট কোয়ান্টাম
২। প্রাইমারী স্লেভ - হার্ডডিস্ক : ৪.৩ গিগাবাইট কোয়ান্টাম
৩। সেকেন্ডারী মাস্টার - সিডি রাইটার : সনি
৪। সেকেন্ডারী স্লেভ - খালি (কখনো কখনো অন্য হার্ডডিস্ক ব্যবহার করা হয়)

এই লিস্টের প্রথমে রয়েছে ২০ গিগা বাইটের হার্ডডিস্কটি, তাই এফডিস্ক এটিকে হার্ডডিস্ক ১ এবং পরেরটিকে হার্ডডিস্ক ২ হিসেবে ডিটেক্ট করে। যেহেতু সিডি রম কোন হার্ডডিস্ক নয় তাই এটিকে এফডিস্ক উপেক্ষা করে যায়। সুতরাং সেকেন্ডারী স্লেভে কোন হার্ডডিস্ক লাগালে তাকে এফডিস্ক হার্ডডিস্ক ৩ হিসেবে ডিটেক্ট করবে। এখন অপশন গুলো পিছন দিক থেকে প্রথমের গুলো - এভাবে বর্ণনা করছি।

অপশন ৫
অপশন স্ক্রিনের উপরে একজায়গায় দেখতে পাবেন :
Current fixed disk drive: 1
এর অর্থ হচ্ছে বর্তমানে প্রথম হার্ডডিস্কের উপর কাজ সম্পাদন করা হচ্ছে। যদি আপনার একটিই হার্ডডিস্ক থাকে তাহলে সেটিই আপনার প্রথম ডিস্ক এবং এই অপশনটি পরিবর্তন করার কোন সুযোগই আপনার নেই। এক্ষেত্রে আপনি ৫ নম্বর অপশনটিও দেখতে পাবেননা।

যদি আপনার একাধিক হার্ডডিস্ক থাকে তবে আপনি ৫ নম্বর অপশনটি দেখতে পাবেন :
5. Change current fixed disk drive
এই অপশনটির মাধ্যমে আপনি ঠিক কোন ড্রাইভটির উপর অপারেশন চালাতে চান সেটি ঠিক করা যায়। ধরুন আমি চাই উপরের উদাহরনের দ্বিতীয় ৪.৩ গিগা বাইটের হার্ডডিস্কের পার্টিশন করতে। সুতরাং কিবোর্ডে 5 প্রেস করে এন্টার দিন। এতে করে আপনি একটি স্ক্রিন দেখতে পাবেন যেখানে আপনার কম্পিউটারে রক্ষিত হার্ডডিস্কসমূহের একটি লিস্ট দেখতে পাবেন - ১,২ ... এই ক্রমান্বয়ে সাজানো। আপনি আপনার পছন্দ অনুযায়ী ড্রাইভটি বাছাই করতে 1,2 ... প্রেস করে এন্টার দিন তাহলে আপনি আগের স্ক্রিনটিতে ফিরে যাবেন। উপরের উদাহরন অনুযায়ী যদি 2 প্রেস করে এন্টার দেয়া হয় তবে দেখতে পাবেন :
Current fixed disk drive: 2
এভাবে যে ডিস্কটির উপর অপারেশন করতে চান তাকে সিলেক্ট করুন।

অপশন ৪
এখানে যে অপশনটি দেখতে পাবেন তা হল :
4. Display partition information
আপনার যে হার্ডডিস্কটি অপারেশনের জন্য সিলেক্টেড আছে তার তথ্যাদি দেখতে এটি ব্যবহার করতে পারেন। জাস্ট কিবোর্ডে 4 প্রেস করুন এবং এন্টার দিন।

উইন্ডোজ পার্টিশনিং কনসেপ্ট
অপশন ৩ এ যাবার আগে এই ব্যাপারটা একটু পরিষ্কার করে নিই। মনে করুন আপনার কাছে একটি আনকোরা নতুন ডিস্ক ড্রাইভ আছে যার ধারন ক্ষমতা হচ্ছে ২০ গিগাবাইট। আপনি এটিতে ৫টি পার্টিশন করতে চান - যেগুলোকে আপনি উইন্ডোজে যথাক্রমে C, D, E, F এবং G ড্রাইভ হিসেবে দেখতে পাবেন (এখন ধরে নিন আপনার একটিই মাত্র হার্ডডিস্ক - আগের মতো দুটো নয়)। তাহলে আপনার প্রতিটি ড্রাইভ হবে মোট ডিস্ক সাইজের ২০% করে।


চিত্র ৩: হার্ডডিস্কের বিভিন্ন অবস্থা

উইন্ডোজে তিন ধরনের পার্টিশন আছে। এক, প্রাইমারী পার্টিশন - যা কেবল মাত্র একটিই হয় (সহজ করে বিবেচনা করলে) এবং তাকে আমরা সবাই C ড্রাইভ হিসেবে চিনি। দুই, এক্সটেন্ডেড পার্টিশন - এটিকে সাধারনত কোন ড্রাইভ হিসেবে দেখা যায় না, এটি শুধুমাত্র অন্যান্য ড্রাইভের ধারক হিসেবে কাজ করে - অর্থাৎ D থেকে X পর্যন্ত সমস্ত ড্রাইভ এর উপর অবস্থিত। তিন, লজিক্যাল পার্টিশন - এক্সটেন্ডেড পার্টিশনের উপর অবস্থিত অসংখ্য পার্টিশন, সাধারনত এদের আমরা D, E, ... ইত্যাদি হিসেবে উইন্ডোজে দেখে থাকি। যেমনটি উপরের চারটি ছবিতে দেখান হয়েছে তেমনি ভাবে আমরা পার্টিশনিং তৈরী করার সময় ক্রমাগত একের পর এক ধাপ অনুসরন করব এবং পার্টিশন মুছে ফেলার সময় উল্টোভাবে পেছনের ধাপ থেকে শুরু করে প্রথম পর্যন্ত অনুসরন করে একে একে মুছে ফেলব।

অপশন ৩
এই অপশনটি হচ্ছে :
3. Delete partition or Logical DOS Drive
অর্থাৎ বুঝতেই পারছেন আপনার পার্টিশন মুছে ফেলা যায় এই অপশনটি ব্যবহার করে। আপনাকে আবারও সাবধান করে দিচ্ছি আপনার কম্পিউটারের সমস্ত ডাটা ব্যাকআপ করে নিতে। ধরে নিন উপরের চতুর্থ ছবির মতো আপনার হার্ডডিস্কে পাঁচটি পার্টিশন আছে - C থেকে G পর্যন্ত। আমরা এগুলোর সবগুলো মুছে ফেলে প্রথম ছবিটির মতো করে ফেলতে চাই। কিবোর্ডে 3 প্রেস করুন। এরপর আপনি চারটি অপশন দেখতে পাবেন। সেগুলো হল :
1. Delete Primary DOS Partition
2. Delete Extended DOS Partition
3. Delete Logical DOS Drive(s) in the Extended DOS Partition
4. Delete Non-DOS Partition
শেষ থেকে শুরু করি - চতুর্থ অপশনটি হচ্ছে অন্য কোন অপারেটিং সিস্টেমের - যেমন লিনাক্স, উইন্ডোজ এনটি ইত্যাদির পার্টিশন মুছে ফেলার জন্য। তৃতীয় অপশনটি হচ্ছে লজিক্যাল ড্রাইভগুলো যেগুলোকে আমরা D, E, ... ইত্যাদি হিসেবে উইন্ডোজে দেখতে পাই সেগুলো মুছে ফেলার জন্য। দ্বিতীয় অপশনটি এক্সটেন্ডেড পার্টিশন - উপরের ছবিতে যাকে ডট ব্যবহার করে দেখান হয়েছে, সেটি ডিলিট করার জন্য। প্রথমটি একবারে মূল প্রাইমারী পার্টিশন অর্থাৎ C ড্রাইভ মূছে ফেলার জন্য। যদি আপনার নন ডস পার্টিশন না থাকে তাহলে চতুর্থ অপশনটিতে হাত দেবার কোন দরকার নেই - নইলে এই অপশনটি সবার আগে ব্যবহার করে নন ডস পার্টিশনগুলো মুছে ফেলতে হবে। আমাদের বর্তমান উদাহরন অনুযায়ী কাজ করতে হলে তৃতীয় অপশন দিয়ে শুরু করতে হবে। কিবোর্ডে 3 প্রেস করে এন্টার দিন এরপর আপনি যে স্ক্রিনটি দেখতে পাবেন তাতে সর্বশেষ ড্রাইভ অর্থাৎ উদাহরন অনুযায়ী G প্রেস করুন। তারপর ভলিউম লেবেল যেটা স্ক্রিনের উপরের দিকে দেখতে পাবেন তা টাইপ করুন। শেষে কনফার্ম করার জন্য `y’ প্রেস করুন। এভাবে প্রতিটি লজিক্যাল ড্রাইভ ডিলিট করার জন্য প্রথম থেকে এ পর্যন্ত অনুসরন করুন। এভাবে শেষের দিক থেকে প্রথম লজিক্যাল ড্রাইভ পর্যন্ত অর্থাৎ উদাহরন অনুযায়ী G থেকে D পর্যন্ত একে একে সবগুলো ডিলিট করে ফেলুন। এরপর ডিলিট অপশনের দ্বিতীয়টি (2. Delete Extended DOS Partition) ব্যবহার করে এক্সটেন্ডেড পার্টিশনটিও মুছে ফেলুন। সবশেষে প্রথম অপশন অর্থাৎ 1. Delete Primary DOS Partition ব্যবহার করে প্রাইমারী পার্টিশনটিও (C ড্রাইভ) মুছে ফেলুন। তবে যদি ঈ ড্রাইভে উইন্ডোজ ইনস্টল করা থাকে তবে উইন্ডোজের কমান্ড প্রম্পটে আপনি এটি ডিলিট করতে পারবেন না। এক্ষেত্রে সিডি বা ফ্লপি থেকে বুট করুন অথবা ডসমোডে রিস্টার্ট করুন। এখন আপনার হার্ডডিস্কের অবস্থা প্রথম চিত্রে দেখানো নতুন হার্ডডিস্কের মতো।

অপশন ১
দ্বিতীয় অপশনটি ব্যবহার করার আগে প্রথম অপশনটি খানিকটা দেখে নিই :
1. Create DOS partition or Logical DOS Drive
এই অপশনটি ব্যবহার করে এখন আমরা একটি অপার্টিশনকৃত হার্ডডিস্ককে পার্টিশন করব। ধরুন আগের উদাহরনের পাঁচটি পার্টিশনকৃত হার্ডডিস্কটিতে আমরা প্রতিটি ২৫% করে চারটি পার্টিশন করতে চাই - এবং ইতিমধ্যে আমরা পুরোনো পার্টিশন মুছে একে আনকোরা বানিয়ে ফেলেছি। কিবোর্ডে 1 প্রেস করুন - দেখতে পাবেন :
1. Create Primary DOS Partition
2. Create Extended DOS Partition
3. Create Logical DOS Drive(s) in the Extended DOS Partition
প্রথমে 1 প্রেস করুন। দেখতে পাবেন ড্রাইভের পার্টিশনযোগ্যতা পরীক্ষা করা হচ্ছে। এই কাজটি শেষ হলে জিজ্ঞেস করা হবে আপনি সম্পূর্ণ হার্ডডিস্ক জুড়ে (শুধু ফ্যাট থার্টিটুর ক্ষেত্রে) একটি ড্রাইভ করতে চান কিনা? যেহেতু আমরা একাধিক ড্রাইভ তৈরী করতে চাই তাই `n’ প্রেস করুন। এরপর আবার একটি পার্টিশনযোগ্যতা পরীক্ষা সম্পন্ন হলে নতুন প্রাইমারী পার্টিশনটির সাইজ জানতে চাওয়া হবে। এখানে 25% টাইপ করে এন্টার দিন - এতে নতুন পুরো হার্ডডিস্কের চারভাগের একভাগ জায়গা জুড়ে একটি প্রাইমারী ড্রাইভ (যেটি C ড্রাইভ হিসেবে সনাক্ত হবে) তৈরী হবে এবং আপনি একেবারে প্রথম স্ক্রিনটি আবার দেখতে পাবেন। এখন প্রথম স্ক্রিন যেটি উপরে অপশন স্ক্রিন হিসেবে ইতিমধ্যে দেখে এসেছেন সেটার নীচের দিকে একটি সাবধান বাণী দেখতে পাবেন যেটিতে উল্লেখ করা আছে যে আপনার কোন ড্রাইভই একটিভ নয়। এ ব্যপারটি কি এবং এর সাথে দ্বিতীয় অপশনটি (2. Set active partition) কিভাবে সম্পৃক্ত তা বুঝতে নীচের অংশটি দেখি - ডিস্কের অন্যান্য পার্টিশন তৈরী করার পদ্ধতি পরে আবার দেখা যাবে।

অপশন ২
এটি হচ্ছে :
2. Set active partition
একটিভ পার্টিশন হচ্ছে ডিস্কের বুট করতে সক্ষম প্রাইমারী পার্টিশনের একটি চিহ্ন। যদি আপনার হার্ডডিস্কে একাধিক প্রাইমারী পার্টিশন থাকে তবে তার যে কোন একটি বুট করার কাজে ব্যবহার করা যেতে পারে। কিন্তু সবগুলো তো আর একসাথে ব্যবহার করা যাবে না, তাই ঠিক যেটিতে আমরা বুট করতে করতে চাই তার গায়ে এই বুট সক্ষমতার মার্কা লাগিয়ে দিলে কম্পিউটার সেটি থেকে বুট করবে। উইন্ডোজে পাওয়া এফডিস্ক ব্যবহার করে একাধিক প্রাইমারী ড্রাইভ তৈরী সম্ভব নয়। এটি দিয়ে যে সবেধন নীলমনি প্রাইমারী ড্রাইভ (যাকে আমরা C ড্রাইভ বলে আক্ষায়িত করছি) তৈরী করা যায় শুধুমাত্র সেটি বুট করতে সক্ষম - আর তাই এটিকেই আমাদের একটিভ করে নিতে হবে। আসলে এই অপশনটি সুবিধা জনক যদি আপনার একই সঙ্গে একাধিক অপারেটিং সিস্টেম - যেমন একইসাথে উইন্ডোজ ৯৮, লিনাক্স এবং উইন্ডোজ ২০০০ ব্যবহার করতে হয়। তখন প্রয়োজনমতো দরকারী প্রাইমারী ড্রাইভটিকে একটিভ করে একটির বদলে অন্য অপারেটিং সিস্টেমে বুট করে ফেলা যায়। উল্লেখ্য যে, প্রাইমারী পার্টিশন ব্যতীত আর কোন পার্টিশনকে একটিভ করা যায় না।
এখনকার মতো কিবোর্ডে 2 প্রেস করুন এবং এন্টার দিন। পরবর্তী স্ক্রিনে যে পার্টিশনটিকে একটিভ করতে চান তার নাম্বারটি প্রেস করুন - বর্তমান উদাহরন অনুযায়ী নাম্বারটি হবে 1। হার্ডডিস্ক ইনফরমেশনের একটিভ কলামটিতে আপনি এরপর `A’ লেখা দেখতে পাবেন। তদুপরি আগের সেই ওর্য়ানিং মেসেজটিও দেখতে পাবেন না। আর যদি কোন ড্রাইভকেই একটিভ না করে থাকেন থাহলে কম্পিউটার কোন ভাবেই হার্ডডিস্ক থেকে বুট হবে না - ম্যাসেজ পাবেন BOOT FAILURE ...

অপশন ১ - বাকি যা রইল :
এবার বাকি আরও তিনটে পার্টিশন করার পালা। নিশ্চয়ই মনে আছে আমরা পাঁচটি পার্টিশনের একটি ডিস্ককে চারটে পার্টিশনের একটি ডিস্কে পরিনত করতে চাইছি এবং ইতিমধ্যে প্রথম পার্টিশনটি করে ফেলা হয়েছে। এ অবস্থাটি দ্বিতীয় চিত্রের মতো।
মূল স্ক্রিনে 1 প্রেস করে (1. Create DOS partition or Logical DOS Drive), পরবর্তী স্ক্রিনে 2 প্রেস করুন (2. Create Extended DOS Partition)| আবারও ড্রাইভের পার্টিশনযোগ্যতা পরীক্ষা শেষে আপনার কাছে এর আকৃতি বা ধারণক্ষমতা জানতে চাওয়া হবে। আপনি জাস্ট এন্টার প্রেস করুন। এতে বাকি পুরো অংশটাই এক্সটেন্ডেড পার্টিশনে পরিনত হবে - আর অবস্থাটা দাঁড়াবে তৃতীয় চিত্রের মতো। এক্ষেত্রে কিন্তু আপনার মূল হার্ডডিস্কের বাকি ৭৫% ব্যবহৃত হল।
এরপর অটোম্যাটিক্যালি লজিক্যাল ড্রাইভ তৈরীর স্ক্রিন আসবে অথবা মূল স্ক্রিনে 1 প্রেস করে (1. Create DOS partition or Logical DOS Drive), পরবর্তী স্ক্রিনে 3 প্রেস করুন (3. Create Logical DOS Drive(s) in the Extended DOS Partition)| এবার আমরা যে ড্রাইভগুলো তৈরী করব তার প্রতিটি এক্সটেন্ডেড পার্টিশনের উপর অবস্থিত। এখন ধরে নিন যে জায়টুকু (মূল ডিস্কের ৭৫%) এক্সটেন্ডেড পার্টিশনের আওতাভুক্ত তার পুরোটা ১০০%। যেহেতু এই অংশটুকুতে আমরা আরও তিনটে পার্টিশন তৈরী করতে চাচ্ছি - তাই এদের প্রতিটি হবে এক্সটেন্ডেড পার্টিশনের (১০০/৩=)৩৩% করে। প্রতিবার ড্রাইভের পার্টিশনযোগ্যতা পরীক্ষা শেষে ড্রাইভের ধারনক্ষমতা জানতে চাওয়া হলে 33% টাইপ করুন এবং এন্টার দিন। এভাবে একের পর এক তিনটে ড্রাইভ তৈরী করে ফেলুন। খেয়াল রাখবেন শেষের ড্রাইভটি তৈরীর সময় বাকি জায়গার পুরোটাই ব্যবহার করার জন্য জাস্ট এন্টার দিন।
অন্য উপায় হিসেবে শতকরার হিসেবটা এড়ানোর জন্য আপনি যা করতে পারেন তা হলো : মেগাবাইটে আপনার হার্ডডিস্ক স্পেস কত জেনে নিন। এটি আপনি ৪ নম্বর অপশন - 4. Display partition information ব্যবহার করেই জেনে নিতে পারেন। এরপর হার্ডডিস্ক যত ভাগ করতে চান তা দিয়ে এই সংখ্যাটি ভাগ দিন এবং শতকরা চিহ্নের বদলে এটিকে ব্যবহার করুন।
সবশেষে আপনার হার্ডডিস্কের অবস্থা অনেকটা চর্তুথ চিত্রের মতো দাঁড়াবে। ব্যস আপনার হার্ডডিস্কের পার্টিশনিং শেষ।

ফরম্যাটিং - ব্যবহার উপযোগী করে তোলা
এরপর একবার রিবুট শেষে নতুন তৈরী করা ড্রাইভগুলো একে একে ফরম্যাট করুন। এটি করা জরুরী যাতে করে আপনার নতুন ড্রাইভগুলো ব্যবহার উপযোগী হয়। ফরম্যাট কমান্ড হচ্ছে : A:\format X:

এখানে X হচ্ছে যে ড্রাইভটি আপনি ফরম্যাট করতে চান। আমাদের উদাহরনে X এর বদলে একের পর এক C, D,E এবং F ব্যবহার করুন। এরপর চাইলে আপনি উইন্ডোজ ইনস্টল করতে পারেন বা অন্য কিছু করতে পারেন।

পা ফেলুন সাবধানে
এই লেখা শেষ করেই ধুম করে পার্টিশন করতে বসে যাবেন না যেন। বরং নীচের ধাপ গুলো অনুসরন করুন:
১। ভাল করে জেনে নিন যে আপনার হার্ডডিস্কটিতে কিংবা মাদারবোর্ডে কোন সমস্যা আছে কিনা? এ ব্যাপারে ভাল বলতে পারবে যেখান থেকে আপনি কম্পিউটার কিনেছেন তারা কিংবা যিনি আপনার কম্পিউটারে সমস্যা হলে নিয়মিত ঠিক করে থাকেন তিনি। সমস্যা থাকলে এখানেই ইতি।
২। আপনা সমস্ত ডাটা ঠিক মতো ব্যাকআপ করেছেন কিনা? এ ব্যাপারে উপরে উল্লেখিত সাবধানতা দেখে নিন।
৩। বুটেবল ফ্লপি. অপারেটিং সিস্টেম সিডি এগুলো প্রস্তুত আছে কিনা?
৪। আপনার পরিচিত এ ব্যাপারে দক্ষ কারো সাথে যোগাযোগ আছে কিনা? যাতে করে কোন ভুল করলে সাহায্য পেতে পারেন।
৫। পুরো লেখার প্রতিটি বিষয় পরিষ্কার কিনা? না হলে আমাদের সাথে যোগাযোগ করতে পারেন অথবা ই-মেইল করে জেনে নিতে পারেন এই ঠিকানায় - udvranto@yahoo.com|
৬। একটি নির্ভরযোগ্য বুটেবল সিডি অথবা বুটেবল ফ্লপি আছে কিন? যেহেতু আপনার অপারেটিং সিস্টেম সহ সমস্ত ডাটা মুছে যাবে তাই বুট করার জন্য আপনাকে এগুলো ব্যবহার করতে হতে পারে। এবং আগেই নিশ্চিত হয়ে নিন এগুলো ঠিক মতো কাজ করছে। তদুপরি আপনার কাঙ্ক্ষিত অপারেটিং সিস্টেমের একটি কপিও আপনার জোগাড় করে রাখা বুদ্ধিমানের কাজ হবে।

শেষের কথা
পুরো লেখাটি পড়ার পর আশা করি মনে কোন আঁধার থাকবে এই বিষয়টি নিয়ে। বিষয়টি তেমন জটিলও নয়। উপরের পদ্ধতি মেনে সাহস করে এগিয়ে যান। কেননা বিজয়ের মালা শুধুমাত্র সাহসীরাই পরতে পারে। তবে একটা কথা বিশাল কম্পিউটার জগতের লাখো কম্পিউটারের ঠিক কোনটি কি কারনে ফ্যাঁকড়া বাঁধাবে তা বোঝা মুশকিল। তাই এতকিছুর পরেও যদি কোন সমস্যায় পড়েন - নিজ গুণে আমায় ক্ষমা করে দেবেন।


(প্রথম প্রকাশ সামহোয়্যারইন ব্লগ ২০০৬-১১-০৮)

সহজ ল্যাটেক্স - ১


অনেকের দেখাদেখি আমার খুব ইচ্ছে হলো কিছু টিউটোরিয়াল ধরনের লিখি। তাই এই লেখা। পছন্দ হলে জানাবেন, তাহলে এই বিষয় বা এই ধরনের অন্যান্য বিষয় নিয়ে লিখব।

ল্যাটেক্স কিন্তু ল্যাটেক্স কনডম নয়, (কিমজা) একটি ডকুমেন্ট প্রসেসীং সিস্টেম। সহজ কথায় এটি তাই করে থাকে যেটা মাইক্রোসফট ওয়ার্ড দিয়ে করা হয়। কিন্তু একটু জটিল পনথায়।

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

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

প্রথমে ডাউনলোড এবং ইনস্টল করুন মাইকটেক্স (বা মিকটেক্স) এখান থেকে http://www.miktex.org/Setup.aspx। আপাতত ৩২ মেগাবাইটের বেসিক সিস্টেম দিয়ে শুরু করতে পারেন। ওহ বলা হয়নি, এটি উইন্ডোজ ইউজারদের জন্য। যদি লিনাক্স ইউজার হন তাহলে সম্ভবত এটি ইতিমধ্যে আপনার সিস্টেমে ইনস্টল আছে। লিনাক্স ইউজার হলে আমাকে আপনার ডিস্ট্রিবিউশনের নাম সহ জানান। সেমতে উত্তর দেয়া যাবে।

মাইকটেক্স এর ইনস্টলেশন শেষ হলে পরে একটি এডিটর ডাউনলোড করুন। আপাতত http://www.latexeditor.org/ থেকে ল্যটেক্স এডিটরটি ডাউনলোড এবং ইনস্টল করুন।

এরপর প্রোগ্রাম লিস্ট থেকে LEd রান করুন। File > New ক্লিক করুন। এরপর একটি উইন্ডো দেখতে পাবেন। সেখানে Templates লেখাটিতে ক্লিক করুন এবং Paper সিলেক্ট করুন। তারপর ওকে ক্লিক করুন। বাম দিকের প্যানেলটায় Paper.tex দেখতে পাবেন, ডাবলক্লিক করে ওপেন করুন। \title{...} বদলে \title{Testing latex} লিখুন। অন্যান্য ... গুলোও এভাবে প্রয়োজনমত বদলে নিন। এরপর কিবোডের্ F9 প্রেস করুন। অতঃপর টুলবারে পিডিএফ লেখাটি ক্লিক করুন। এরপর Ctrl + Shift + P একসাখে প্রেস করলে ডকুমেন্টটি দেখা যাবে।

Whew। এত কিছু করে মাত্র কয়েকটি লাইন দেখানো? সুতরাং সাবধান করে দিতেই লিমিটেশন গুলোর ব্যাপারে -
১. এটি মূলত গবেষক বা বিজ্ঞানীদের একটি টুল। সাধারন টুকটাক ব্যবহারের জন্য নয় মোটেই।
২. কিছু ন্যুনতম কম্পিউটার জ্ঞান চাই এটা ব্যবহার করতে।
৩. এটা শেখার রাস্তা কন্টকপূর্ণ।

তো যাই হোক ভাল দিক গুলো আর লিখলাম না। দেখি কার এ পর্যন্ত আগ্রহ থাকে। এর গুনগান পরেও গাওয়া যাবে। উপকারী মনে হলে জানাবেন, নইলে আমিও আগ্রহ হারিয়ে ফেলব পোস্ট করার।

(প্রথম প্রকাশ সামহোয়্যারইন ব্লগ ২০০৬-০৪-০২)

নিজের ঢোল নিজে পিটাই: আমার করা বাংলা কিছু এপ্লিকেশন

লোকালাইজেশন নিয়ে জড়িত বেশ অনেক দিন ধরে। অঙ্কুরের সাথে বেশ কিছুদিন জড়িত ছিলাম। কিন্তু অনুবাদ করা পোষাতো না আমাকে দিয়ে। অল্প স্বল্প কিছু স্ট্রিং অনুবাদ করেছি, কিন্তু এরচেয়ে বেশী কিছু করা হয় নাই।

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

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

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

একটা প্রজেক্টে কাজের অংশ হিসেবে একটা কিবোর্ড ইনপুট আর কনভার্টার বানিয়েছি সম্প্রতি। জাভাস্ক্রিপ্ট ভিত্তিক বলে যে কারো জন্য ব্যবহার করা সহজ হবে। বিভিন্ন ফিচার যুক্ত এপ্লিকেশনটি ব্যবহার করতে ভালই হয়েছে। এটা নিয়ে আরো জানতে এব্যাপারে আমার পোস্টটি পড়ুন।

বাংলা লেখালেখি এবং প্রযুক্তিগত বিষয়ে আগ্রহ থাকা স্বত্তেও খুব বেশী কাজ করা হয়ে ওঠেনি এসব নিয়ে। তারপরও আমার দুই পয়সা আপনাদের সাথে ভাগাভাগি করলাম। কারও কাজে আসলে ভাল লাগবে।

(প্রথম প্রকাশ: সামহোয়্যার ইন ব্লগ ২০০৬-০৯-২০)

Labels:

ওয়েব ভিত্তিক ইউনিকোড বাংলা ইনপুট সিস্টেম


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

১। বাংলা.অর্গের লেখো কিবোর্ড
সাজেদ চৌধুরীর করা এই কির্বোড ইনপুট সিস্টেম মনে হয় সবার আগে এসেছে অনলাইনে। কির্বোড লেআউটটা ওয়েবপেইজেই দেয়া আছে। ফোনেটিক ধরনের এই লেআউটে টাইপ করে আপনি ইমেজ হিসেবেও দেখে নিতে পারবেন আপনার আউটপুট। এস্কেপ চেপে ইংরেজীতেও টোগল করা যায়।

২। হাসিন ভাইয়ের ইউনিজয় কিবোর্ড
৩। হাসিন ভাইয়ের ফোনেটিক কিবোর্ড
এই ব্লগের বাংলা ইনপুট সিস্টেম যিনি তৈরী করেছেন সেই হাসিন ভাইয়ের করা এই দুটো কিবোর্ড। ওয়েবসাইটটিতে প্রয়োজনীয় তথ্য দেয়া আছে।

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


(রাগিব হাসান ভাইয়ের প্রতি কৃতজ্ঞতা, উনার একটি মেইলে এই সামারী দেখে অনুপ্রানিত লেখাটি)

(প্রথম প্রকাশ: সামহোয়্যার ইন ব্লগ ২০০৬-১০-০৬)

Labels:

আমার সর্ম্পকে

  • আমি
  • আমি থাকি
আমার প্রোফাইল

অন্যান্য ব্লগ