লিনাক্স – অপারেটিং সিস্টেম হিসেবে একটি পর্যালোচনা-২

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

উইকি থেকে -

RAID combines two or more physical hard disks into a single logical unit using special hardware or software.
অর্থাৎ রেইড দুটি বা তার অধিক হার্ডডিস্ককে বিশেষ সফটওয়্যার বা হার্ডওয়্যার এর সাহায্যে একটি লজিক্যাল ইউনিটে রূপান্তরিত করে থাকে।

বলতে পারেন - কেন রেইড দরকার?

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

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

রেইড ডিভাইস ৫/১০/১৫ মিনিট পরপর স্বয়ংক্রিয়ভাবে মূল হার্ডডিস্কের কপি অন্যান্য হার্ডডিস্কে হুবহু লিখতে থাকে। ফলে মূল হার্ডডিস্ক ফেইল করলে সাথে সাথে অন্য হার্ডডিস্ককে সচল করে কাজ অব্যাহত রাখা সম্ভব। এটি কিন্তু ব্যাকআপের মত নয়। বরং লো-লেভেলে বাইট বাই বাইট তথ্য রেপ্লিকা/কপি করতে থাকে অন্যান্য হার্ডডিস্কগুলিতে। তাই ডাটা হারানোর ঝুকি এখানে অনেক কম।

বেশ কয়েক ধরনের রেইড আছে- যেগুলিকে রেইড ০ , রেইড ১, রেইড২ - রেইড ৬ পর্যন্ত গননা করা হয়। আপনি যে ডেস্কটপ ও.এস. (এক্সপি/সেভেন) ব্যবহার করেন তাতে মাত্র একটি রেইড সাপোর্ট করে (রেইড ০)। আর উইন্ডোজ সার্ভার সাপোর্ট করে RAID 0, RAID 1, and RAID 5। তবে এজন্য আপনাকে পয়সা গুনতে হবে ভাই। আলাদা ও.এস. কেনার ঝক্কি বলে কথা।

আর ফ্রি লিনাক্সের কথা শুনবেন। ফ্রি তো এজন্য মান খুব খারাপ ;):: - তাই এতে সাপোর্ট করে RAID 0, RAID 1, RAID 4, RAID 5, RAID 6। :ttt:

উইকি থেকে-
# Linux supports RAID 0, RAID 1, RAID 4, RAID 5, RAID 6 and all layerings
# Microsoft's server operating systems support 3 RAID levels; RAID 0, RAID 1, and RAID 5.


সব শেষে বলা যায়- লিনাক্স মানে শুধু গেম খেলা বা গান/মুভি চালানো নয় বরং এটি কম্পিউটার জগতের অনেক অজানা দুয়ার সবার সামনে উম্মুক্ত করে দেয়। সবাইকে হ্যাপি লিনাক্সিং...

লিনাক্স – অপারেটিং সিস্টেম হিসেবে একটি পর্যালোচনা-১

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

প্রথমেই আসুন একজন সাধারন ব্যবহারকারী কি কি কাজে কম্পিউটার ব্যবহার করেন তার একটি লিস্ট তৈরী করি।

১. সাধারন এপ্লিকেশন চালানো- যেমনঃ এম.এস.ওয়ার্ড, এক্সেল, পাওয়ার পয়েন্ট
২. মাল্টিমিডিয়া সংক্রান্ত বিনোদন উপভোগ করা - যেমনঃ গান শোনা, মুভি দেখা, গেম খেলা
৩. নেটওয়ার্কিং ও ইন্টারনেট সংক্রান্ত কাজ করা- ফাইল ও ফোল্ডার শেয়ারিং করা, ব্রাউজ করা, ডাউনলোড করা, ইমেইল করা ইত্যাদি।

একটু অগ্রসর ব্যবহারকারীদের তালিকায় থাকে আরো কিছু সফটওয়্যার যেমনঃ এডোবি ফটোশপ, ইলাস্ট্রেটর, মায়া, এডোবি প্রিমিয়ার, অটোক্যাড ইত্যাদি বিশেষায়িত সফটওয়্যার সমূহ।

উপরে যে তালিকাটি দিয়েছি তা মূলত একজন সাধারন ব্যবহারকারীর কথা মাথায় রেখেই দেয়া হয়েছে।

অপারেটিং সিস্টেম মূলতঃ পুরো কম্পিউটারকে নিয়ন্ত্রন করে থাকে। তাই শুধুমাত্র উপরের তালিকাটি যে এটির জন্য যথেষ্ট নয় সেটি বোঝা যে কারো পক্ষেই সহজ।

পৃথিবীতে যাবতীয় টেকনোলজির দুটি দিকের ব্যবহারকারী রয়েছে-
১. একদল উক্ত টেকনোলজি থেকে সুবিধা গ্রহন করে থাকে
২. আরেকদল উক্ত টেকনোলজিকে উত্তরোত্তর সমৃদ্ধ করতে থাকে- অর্থাৎ উদ্ভাবন, গবেষনা, পরিবর্তন, পরিবর্ধন এ ধরনের কাজ করে থাকে এ দলটি।

উদাহরনস্বরূপ- ওষুধের কথাই ধরুন। ওষুধ কোন গবেষক তৈরীর পর তা মানুষের ব্যবহার উপযোগী হলে সবার জন্য বাজারে ছাড়া হয়ে থাকে। তারপর রোগাক্রান্ত মানুষ তার সুস্থতার জন্য সেটি কিনে তার প্রয়োজন মিটিয়ে থাকে।

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

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

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

এবার বলা যাক অপারেটিং সিস্টেমের বহুমাত্রিক ব্যবহার নিয়ে। উপরে বর্নিত সাধারন ব্যবহারকারীদের কাজ ছাড়াও কম্পিউটার বহু ক্ষেত্রে ব্যবহার করা হয়ে থাকে। যেমনঃ

১. প্রোগ্রামিং করা- বিভিন্ন টুলস যেমন- সি++, ডেলফি, জাভা, পাইথন ইত্যাদে ল্যাঙ্গুয়েজ দিয়ে প্রোগ্রামিং সমস্যা সমাধান।
২. ওয়েব সার্ভার সেট আপ করা
৩. নেটওয়ার্ক সেবা প্রদান
৪. সিকিউরড রিমোট এ্যাডমিনিস্ট্রেশন
৫. শক্তিশালী রাউটার ও গেটওয়ে তৈরী
৬. ডাটাবেজ সার্ভার সেটআপকরন
৭. এফটিপি সার্ভার সেটআপ
৮. ইমেইল সার্ভার সেটআপ
৯. মেইল ফিল্টারিং বা স্প্যাম নিয়ন্ত্রন
১০. ব্যাকআপ সার্ভার সিস্টেম
১১. ভার্চ্যুয়ালাইজেশন
১২. সুপার কম্পিউটার সিস্টেম তৈরী বা ক্লাস্টারিং
১৩. ডেটা সুরক্ষায় একাধিক হার্ডডিস্কের সমন্বয়ে রেইড ডিভাইস তৈরী

এখন কেউ যদি বলেন উপরোক্ত কাজগুলি গান শোনা আর গেম খেলা থেকেও কম গুরুত্বপূর্ন তাহলে আসুন তাদের জন্য কিছু উদাহরন দেয়া যাক।

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

একটি দামী সিসকো রাউটার নিজের জন্য ফ্রিতে পেতে চান- তাহলে লিনাক্স ইনস্টল করে ফেলুন আর নিজের জন্য রাউটার কনফিগার করে নিন।

আরেকটি কথা- এগুলি লিনাক্সে ফ্রি পাওয়া যায় যা আপনাকে টাকা দিয়ে কিনতে হতো। :v

মেইল তো সারাজীবন ইয়াহু/জিমেইল দিয়ে করেছেন। নিজের কোম্পানির জন্য এরকম সার্ভার তৈরী করতে হলে কি করবেন? আপনার ভিস্তা/সেভেন এগুলি কিন্তু পারে না। এজন্য মাইক্রোসফট আপনার কাছ থেকে আলাদা পয়সা নেবে ভাই। তার চেয়ে লিনাক্স দিয়ে করে ফেলুন। কোন খরচ হওয়ার ভয় নেই। :C

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

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

অফলাইনে কেরাইক্স দিয়ে ডেবিয়ান নির্ভর ডিস্ট্রোর জন্য প্যাকেজ ইনস্টলার তৈরী করা

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


প্রথমেই সফটওয়্যারটি এখান থেকে নামিয়ে নিন।  পেনড্রাইভে আনজিপ করে নিন। তারপর বাসার পিসিতে পেনড্রাইভ থেকে সফটওয়্যারটি চালিয়ে প্যাকেজ লিস্ট আপডেট করে নিতে হবে।


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


যদি বাসায় গিয়ে প্যাকেজ লিস্ট আপডেট না করতে পারেন তবে প্রজেক্টের জন্য কিছু প্যাকেজ লিস্ট তৈরী করে দেয়া আছে মূল সাইটে-সেগুলি ডাউনলোড করে লিস্ট আপডেটের কাজটি উইন্ডোজ মেশিনেই করতে পারবেন। এগুলি ডাউনলোড করার জন্য এখানে ক্লিক করুন।


 ধারাবাহিক কাজঃ


আমরা নিচের পদ্ধতিটি কোন লিনাক্স মেশিনের সাহায্য ছাড়াই করবো প্রজেক্ট ফোল্ডার ডাউনলোড করে।



১। সফটওয়্যার ডাউনলোড করুন ও পেনড্রাইভে আনজিপ করে নিন।
২। এখান থেকে প্রজেক্ট ফাইলটি ডাউনলোড করে আনজিপ করতে হবে Keryx\ ফোল্ডারে।


৩। উইন্ডোজ মেশিন থেকে পেনড্রাইভের keryx/win32 ফোল্ডারে যান এবং ‘keryx’ আইকনে ডাবলক্লিক করুন।



৪। কিরাইক্স চালু হওয়ার পর  Open Project এর সামনে ক্লিক করে আপনার ডিস্ট্রোর ভার্সনের উপর ক্লিক করুন।



৫। এবার Open Project বাটনে ক্লিক করার পর Download Latest? ডায়ালগ বক্স আসলে Yes বাটনে ক্লিক করুন। এবার নেট থেকে সরাসরি প্যাকেজ লিস্ট আপডেট করা শুরু করবে। ধৈর্য ধরে অপেক্ষা করুন। ৮/১০ মিনিট লাগতে পারে।





৬।প্যাকেজ লিস্ট আপডেট হয়ে গেলে যে প্যাকেজটি ডাউনলোড করতে চান তার উপর রাইট মাউস ক্লিক করে ডাউনলোড বাটনে ক্লিক করুন। ডিপেনডেন্সীসহ ডাউনলোড শেষ হলে আপনার প্রজেক্ট ফোল্ডারের ভিতর packages নামক ফোল্ডারে ডেব ফাইলগুলি জমা হবে। সব প্যাকেজ ডাউনলোড শেষ হলে পেনড্রাইভটি আপনার লিনাক্স মেশিনে নিয়ে ডেব ফাইলগুলি একটি ফোল্ডারে কপি করে তারপর ইনস্টল করে নিন। এজন্য কমান্ড মোডে উক্ত ফোল্ডারে গিয়ে কমান্ড দিতে পারেন- dpkg -i *.deb। 


বিঃদ্র অনেক সময় পাইথনের সাপোর্ট না থাকার কারনে কিরাইক্স কোন কোন ডিস্ট্রোতে কাজ করে না। এমনকি উবুন্তুতেও কাজ করে না মাঝে মাঝে। এজন্য আমি উক্ত পদ্ধতি আলোচনা করিনি। লিনাক্সে চালানোর জন্য Keryx\linux ফোল্ডারে গিয়ে keryx আইকনের উপর ডাবল ক্লিক করতে পারেন। তখন এখান থেকেই প্যাকেজ লিস্ট আপডেট ও ডাউনলোড করতে পারবেন।


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

এবার উক্ত ফোল্ডারে প্রবেশ করুন। debian.conf ফাইলটিতে ঢুকে নিচের মত পরিবর্তন করুন-
Computer Name: default
OS Name: mepis
OS Version: 8.5
Architecture: 64bit
Kernel: 2.6.32-1-mepis64-smp

যেমন ওএস হিসেবে মেপিস, ভার্সন-৮.৫, আর্কিটেকচার ৩২ না ৬৪, কার্নেল ভার্সন। সেভ করে বের হয়ে আসুন।
এবার lucid-32-bit.keryx ফাইলটিকে রিনেম করুন mepis-64-bit.keryx হিসেবে। তারপর ডাবল ক্লিক করে খুলুন ফাইলটি। এখানে নিচের মত পরিবর্তন করুন-

Mepis 64-bit
Debian

প্রথম লাইনে ওএস এবং আর্কিটেকচার পরিবর্তনই যথেষ্ট।
তারপর সেভ করে বের হয়ে আসুন।

lists ফোল্ডারে আপনার অফলাইনের লিনাক্স মেশিনের /var/lib/dpkg/status ফোল্ডারটি কপি করে দিন।

sources ফোল্ডারে /etc/apt/sources.list ফাইলটি কপি করে দিন। ব্যস আপনার প্রজেক্ট তৈরী শেষ। এবার পেনড্রাইভ উইন্ডোজ মেশিনে নিয়ে কিরাইক্স চালু করলেই নতুন ডিস্ট্রো লিস্টে পেয়ে যাবেন।

অভ্রনীলের পদ্ধতি দেখার জন্য ক্লিক করুন এখানে

অভ্রতে নতুন কি-বোর্ড ইনস্টল করা


আপনারা অনেকে ইতিমধ্যে জেনে গেছেন অভ্র থেকে ইউনিজয় কি-বোর্ড বাদ দেয়া হচ্ছে অচিরেই। তাই আসুন অভ্রতে কিভাবে নিজের পছন্দমত কি-বোর্ড ইনস্টল করে নেয়া যায় তা জেনে নেই। মাত্র কয়েকটি ধাপ। যে কেউ খুব সহজে এটি করতে পারবেন।
এটি করার জন্য অভ্রর সাম্প্রতিক ভার্সন ৪.৫.১ ব্যবহার করাই ভাল। আমি পুরনো ভার্সনে এটি করে দেখিনি।
তাহলে এবার শুরু করা যাক।

প্রথমেই নিচের তালিকা থেকে আপনার পছন্দের ফাইলটি ডাউনলোড করুন-

১. ইউনিজয় কি-বোর্ড এর জন্য ডাউনলোড করুন - Unijoy Keyboard
২. মুনীর কি-বোর্ড এর জন্য ডাউনলোড করুন- Munir Keyboard
৩. প্রভাত কি-বোর্ড এর জন্য ডাউনলোড করুন- Probhat Keyboard
৪. ন্যাশনাল কি-বোর্ড এর জন্য ডাউনলোড করুন- National Keyboard

এবার অভ্র ইনস্টল করেছেন যে ফোল্ডারে সেখানে যান। যেমনঃ C:\Program File\Avro Keyboard
অথবা E:\Soft\BANGLA SOFT\Avro Keyboard।

নিচের ছবির মতঃ
ছবি

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

ছবি

লিনাক্সের তিন বৃহৎ শক্তি

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

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

শুরুর কথা

অবশ্যই ব্যাপারটি শুরুতে এমন ছিল না। গানূহ এর যেমন একটি সূচনা রয়েছে, তেমনি রয়েছে লিনাক্সের এবং রয়েছে প্রথম ডিস্ট্রিবিউশনের ও একটি সূচনাকাল।

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

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


জন্মলাভ করা


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

ডিস্ট্রোওয়াচের দেয়া তথ্য অনুযায়ী স্ল্যাকওয়ার থেকে ৬৬টি ডিস্ট্রিবিউশন তৈরী হয়েছে। রেড হ্যাট থেকে সরাসরি বিকশিত হয়েছে ৪০টির মত (অন্যদের উপর অথবা ফেডোরা থেকে হয়েছে ৮০টির কাছাকাছি), যেখানে মহিমান্বিত প্রপিতামহ ডেবিয়ান এর ক্ষেত্রে সংখ্যাটি ২৫০! চূড়ান্তভাবে ধরা যায় যে, আজকের দিনে প্রচলিত বেশীরভাগ লিনাক্স ডিস্ট্রিবিউশন কোন না কোনভাবে এ মূল তিনটির উপর ভিত্তি করে তৈরী।

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

স্ল্যাকওয়্যার - একক নেতৃত্ব

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

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

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

সম্প্রতি এটি ৬৪-বিট এবং ARM আর্কিটেকচারের জন্যও সাপোর্ট দিতে শুরু করেছে, কিন্তু এর পূর্বে এটি শুধুমাত্র ৩২-বিট এর প্রতিই বেশী মনোযোগী ছিল। এটি শুধুমাত্র একটি গুরুত্বপূর্ন ডেস্কটপ এনভারোনমেন্ট সাপোর্ট করে আর তা হল, কেডিই, যদিও অন্যান্য ডেস্কটপ যেমনঃ গানোম কমিউনিটি দ্বারা সাপোর্টেড।

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


ডেবিয়ান- গর্বিত কমিউনিটি

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

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

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

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

এছাড়াও স্ল্যাকওয়ার এর মত কেবল এক/দুটি আর্কিটেকচার নয় বরং ১১টি ভিন্ন ভিন্ন আর্কিটেকচার সাপোর্ট করে ডেবিয়ান, যার সাথে আরো ৫টি নতুন আর্কিটেকচার অচিরেই যুক্ত হতে যাচ্ছে। এটি ২৫০০০ এর ও বেশী প্যাকেজসহ ছাড়া হয়েছে যা প্যাকেজ ব্যবস্থাপনা সিস্টেমের সহায়তায় সর্বদা ইনস্টলের জন্য প্রস্তুত। নির্ভরযোগ্য বৈশিষ্ট্য এবং বহু সংখ্যক আর্কিটেকচার সাপোর্টের জন্য ডেবিয়ান ব্যাপকভাবে ডেস্কটপ, সার্ভার এবং এম্বডেড সিস্টেমে ব্যবহৃত হয়ে থাকে।

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

রেড হ্যাট- বানিজ্যিক উপস্থিতি

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

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

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

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

উপসংহারে


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

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

এ তিনটি ডিস্ট্রিবিউশনের প্রতি কৃতজ্ঞতাসহ শেষ করছি যাদের জন্য আমাদের রয়েছে বহু বছর ধরে গড়ে ওঠা এক সমৃদ্ধ সংস্কৃতি এবং ইতিহাস।

অনলাইন ব্যাংকিং নিরাপত্তায় উবুন্তু লিনাক্স

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

সিএনএল নামের আরেকটি ব্যাংক ও বলছে - যেহেতু কোন কাস্টোমারই অনলাইন ব্যাংকিংয়ের জন্য পৃথক একটি কম্পিউটার রাখতে চায় না তাই উবুন্তু লাইভ সিডিই হতে পারে সর্বোত্তম সমাধান। তাদের ভাষায়- The discs would boot up Linux, run Firefox and be configured to go directly to CNL Bank's Web site. "Everything you need to do will be sandboxed within that CD," অর্থাৎ ডিস্কটি বুট হয়ে ফায়ারফক্স চালু হয়ে যাবে এবং সরাসরি ব্যাংক সাইটে নিয়ে যাবে। আপনার যা কিছুই করার প্রয়োজন হবে সবই হবে সিডির পরীক্ষামূলক পরিবেশে।

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

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

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

লিনাক্সে ভাইরাসের ইতিকথা

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

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

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

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

ভাইরাস কি?

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

"A computer virus is a program that can copy itself and infect a computer. The term "virus" is also commonly but erroneously used to refer to other types of malware, adware, and spyware programs that do not have the reproductive ability. A true virus can only spread from one computer to another (in some form of executable code) when its host is taken to the target computer"

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

এ সংজ্ঞাটি আগেই বেশ কিছু ধারনাকে স্পষ্ট করেছে। তার মধ্যে গুরুত্বপূর্ন ধারনা গুলি হলঃ

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

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

ভাইরাসের মৌলিক বিষয়সমূহ এবং লিনাক্সের গঠনকাঠামো

এই মাত্র আমরা যা শিখলাম এবং এর সংজ্ঞায় যেটি সব থেকে গুরুত্বপূর্ন, একটি ভাইরাসকে নিজে নিজেই তার কাজ সম্পাদনে সমর্থ হতে হবে। অন্য কথায়, ব্যবহারকারীর হস্তক্ষেপ প্রয়োজন নেই এবং ভাইরাসের কার্যকলাপ অদৃশ্য থাকে। দু’পদ্ধতিতে ভাইরাস নিজেকে কপি করতে পারেঃ

১নং পদ্ধতি: সিস্টেম এক্সিকিউটেবল ফাইলসমূহে নিজস্ব কোড যুক্ত করে

ইউনিক্সের একটি সফল উত্তরাধিকার হিসেবে লিনাক্স এমন একটি ফাইল ব্যবস্থাপনা সমর্থন করে যেটি মৌলিকভাবে কোন ফাইলের মালিকানা এবং অধিকার সংরক্ষন করে। আরো সহজে বলা যায় যে, বাস্তবে এটি এভাবে কাজ করে থাকে-

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

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

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

তাই, অনুগ্রহপূর্বক রুট একাউন্ট ব্যবহার করবেন না যতক্ষন না প্রয়োজন হয়।

২নং পদ্ধতি: এক্সিকিউশন এর সময়ে অন্য কোন প্রসেসের মেমোরীর সাথে সংযুক্ত করা

লিনাক্স ইনটেল এর এক্স'৮৬ স্থাপত্যের উপর চলে (এএমডি ৬৪-বিট প্রকৃতপক্ষে ইনটেল এক্স'৮৬ এর একটি এক্সটেনশত মাত্র), তাই লিনাক্স কিভাবে এটিকে ব্যবহার করে থাকে তা বোঝাটা বেশ গুরুত্বপূর্ন। এক্স'৮৬ স্থাপত্য মূলতঃ চারটি রিং ব্যবহার করে থাকে, যেগুলিকে ০ থেকে ৩ দ্বারা চিহ্নিত করা হয়ে থাকে। লিনাক্স এ রিং-গুলির দুটি ব্যবহার করে থাকে, যথাঃ রিং-০ কার্নেল সিস্টেম কোড এর জন্য এবং রিং-৩ বিভিন্ন ব্যবহারকারীর প্রসেস, এ্যাপ্লিকেশন ইত্যাদির জন্য ব্যবহৃত হয়। এ দু'ধরনের কোডের মিশ্রন লিনাক্সে কখনই ঘটে না, তারা ভিন্ন ধরনের রিং ব্যবহার করে এবং এদের যোগাযোগের জন্য মাত্র একটিই দরজা/গেট রয়েছে। এখানে মূল ব্যাপারটি হচ্ছে একমাত্র কার্নেলই পারে কোন কিছুর পরিবর্তন করতে যাতে ভাইরাস সে সুযোগের সদ্ব্যবহার করতে পারে।

তাই প্রসেসের কোন কোড কার্নেলের কোন কোডকে আক্রান্ত করতে পারে না। এখানে প্রশ্ন আসতে পারে- তাহলে কিভাবে এক প্রসেস অন্য কোন প্রসেসকে আক্রান্ত করে থাকে? হ্যাঁ এখানেও সে একই বাধা পাবে। লিনাক্স কার্নেল প্রতিটি প্রসেসের জন্য পৃথক মেমোরী বরাদ্দ রাখে, যেটি অন্য কোন প্রসেস শেয়ার করতে পারে না। এর ফলে, যদি কোন প্রসেস তার সমস্ত বরাদ্দকৃত মেমোরী স্ক্যান করেও ফেলে, তারপরও সে অন্য কোন প্রসেসের মেমোরী আক্রান্ত করতে পারবে না, এটি হবে তার আওতা বহির্ভূত কাজ। তাই বলা যায় যে, এ পদ্ধতিও কাজ করবে না।

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

অন্যান্য ধরনের ম্যালওয়্যার

ভাইরাস নিয়ে আলোচনা তো অনেক হল, আসুন এবার অন্যান্য এ জাতীয় ক্ষতিকর কোড নিয়ন্ত্রিত প্রোগ্রামসমূহ নিয়ে কথা বলা যাক।

রুটকিটস্

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

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

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

ট্রোজানসমূহ

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

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

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

উপসংহার

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

সূত্রঃ ইন্টারনেট

ডেবিয়ান লিনাক্সে প্যাকেজ ম্যানেজমেন্ট এর ইতিবৃত্ত

ডেবিয়ান লিনাক্সে প্যাকেজ ইনস্টলের এর জন্য যে ফাইলগুলি ব্যবহৃত হয় তার এক্সটেনশন হচ্ছে .deb। উইন্ডোজে যেমন আমরা .exe ফাইলের উপর ডাবল ক্লিক করে সফটওয়্যার ইনস্টল করি ডেবিয়ান ভিত্তিক লিনাক্সে তেমন পদ্ধতির বদলে apt-get, aptitude অথবা synaptic নামক গ্রাফিক্যাল টুলস ব্যবহার করা হয়। প্রথম দুটি হচ্ছে কমান্ড লাইন ভিত্তিক এবং সিনাপ্টিক মাউস দিয়ে ব্যবহার করা যায়। এ ধরনের টুলস ব্যবহার করতে হলে ডেবিয়ান প্যাকেজগুলি আগে থেকেই নির্দিষ্ট স্থানে যেমন-সিডি, ডিভিডি, ইন্টারনেট এর এফটিপি সার্ভার বা কোন লোকাল ফোল্ডারে থাকতে হবে। তারপর ইনস্টল করা যাবে এ ধরনের টুলসের সাহায্যে।

তবে সরাসরি ডেব প্যাকেজ ইনস্টলের জন্য আরেকটি কমান্ড ব্যবহার করা যায় - dpkg কমান্ড। তবে এর সীমাবদ্ধতা হচ্ছে এটি ডিপেনডেন্সী ফাইলগুলিকে স্বয়ংক্রিয়ভাবে ইনস্টল করতে পারে না। হয় আগে থেকেই ডিপেনডেন্সী ফাইলগুলি মেশিনে ইনস্টল করা থাকতে হবে নতুবা উক্ত ফোল্ডারে সব ডিপেনডেন্সী ফাইল কপি করে সব ডেব ফাইলগুলিকে dpkg –i *.deb কমান্ডের সাহায্যে একসাথে ইনস্টল করতে হবে। এটি বেশ ঝামেলার কাজ হয়ে দাড়ায় যদি ইন্টারনেট কানেকশন না থাকে। এজন্য আমি আগের কয়েকটি পোস্টে অফলাইন ইনস্টলার তৈরীর পদ্ধতি আলোচনা করেছি। এজন্য দেখুন-

১. লিনাক্সে নির্দিষ্ট প্যাকেজের অফলাইন ইনস্টলার তৈরী করা
২. উইন্ডোজ মেশিন থেকে লিনাক্স প্রোগ্রামের অফলাইন ইনস্টলার তৈরী

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

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

নতুন ইনস্টলড মেশিনের সফটওয়্যার লিস্ট

কোন মেশিনে লিনাক্স নতুন ইনস্টল করার পর সিনাপ্টিকে যে সফটওয়্যারগুলির তালিকা থাকে সেগুলি সাধারনতঃ সিডি/ইন্টারনেট থেকে ইনস্টল করা যায়। যদি ইন্টারনেট না থাকে তবে শুধুমাত্র সিডিতে যে সফটওয়্যারগুলি থাকে সেগুলিই ইনস্টল করতে পারবেন। বাকীগুলি ইনস্টল করার সময় নেট কানেকশন না থাকলে এরর দেখাবে। এখন নতুন কোন সিডি যদি সিনাপ্টিকে যোগ করতে চান মেনুর সাহায্যে (Edit --> Add CD ROM) অথবা কমান্ড লাইনের apt-cdrom add এর সাহায্যে তাহলে প্রথমেই উক্ত সিডির একটি বিশেষ ফাইল - Packages.gz যা সাধারনত কোন সিডির \dists\lenny\main\binary-i386\Packages এ ধরনের পাথে থাকে তাকে প্রথমে খুজে বের করবে। তারপর উক্ত ফাইলের সাহায্যে নতুন সফটওয়্যার লিস্ট তালিকায় যুক্ত করবে। এ Packages.gz ফাইলটি সব থেকে গুরুত্বপূর্ন টুলস সিনাপ্টিকের জন্য। এটি আনজিপ করে কোন টেক্সট এডিটরে ওপেন করলে সবকিছু দেখতে পারবেন। এ ফাইলে প্যাকেজসমূহের তালিকা, বর্ননা, ভার্সন নম্বর, কোন পাথ থেকে ইনস্টল করা হবে তার নির্দেশনা, MD5 চেক করা, ডিপেনডেন্সির তালিকাসহ যা প্রয়োজন তার সবই থাকে। আপনি নিজে যদি কোন লোকাল রিপোজিটরী বানাতে চান তাহলে আপনার নিজস্ব ফোল্ডারে যে ডেব ফাইলগুলি থাকবে তার জন্য একটি আলাদা Packages.gz ফাইল তৈরি করে নিতে হবে। এটি শুনে ঘাবড়ানোর কিছু নেই। ডেবিয়ান নির্ভর লিনাক্সে dpkg-scanpackages কমান্ডের সাহায্যে স্বয়ংক্রিয়ভাবে এ ফাইলটি তৈরী করা যায়। এটি তৈরী হয়ে যাওয়ার পর /etc/apt/sources.list ফাইলে আপনার লোকাল রিপোজিটরী ফোল্ডারটিকে যুক্ত করে apt-get update কমান্ড চালালেই উক্ত Packages.gz ফাইলে নতুন সফটওয়্যার তালিকা আপনার মেশিনের সিনাপ্টিকে যুক্ত হয়ে যাবে। তারপর উক্ত সফটওয়্যারগুলিকে ক্লিক এন্ড গো এর মাধ্যমেই লোকাল ফোল্ডার/রিপোজিটরী থেকে ইনস্টল করতে পারবেন।

তাহলে উপরের আলোচনা থেকে লোকাল রিপোজিটরী তৈরীর যে পদ্ধতি আমরা শিখলাম তা হলঃ

১. প্রথমেই একটি ফোল্ডারে আপনার প্রয়োজনীয় সব ডেব ফাইলগুলিকে কপি করে নিন। এটি হোম ফোল্ডারের আন্ডারে যেকোন একটি ফোল্ডার তৈরী করেও করা যেতে পারেন। যেমনঃ /home/username/local_repo

২. এবার dpkg-scanpackages কমান্ড দিয়ে Packages.gz ফাইলটি উক্ত ফোল্ডারেই তৈরী করে নিন।

৩. Packages.gz তৈরী হয়ে যাওয়ার পর /etc/apt/sources.list ফাইলে /home/username/local_repo ফাইলটির পাথ যুক্ত করুন।

৪. সবার শেষে তালিকা আপডেট করার জন্য কমান্ড দিনঃ apt-get update

ব্যস আপনার লোকাল সফটওয়্যার লিস্ট যুক্ত হয়ে যাবে সিনাপ্টিকে।

আসুন আমরা উপরের বর্নিত পদ্ধতিতে একটি ছোট্ট রিপো তৈরি করে ফেলি।

কমান্ডঃ
mkdir /home/your_name/my_repo
cp /source_path/*.deb /home/your_name/my_repo
cd /home/your_name/my_repo
dpkg-scanpackages /home/your_name/my_repo /dev/null | gzip -9c > Packages.gz
echo "deb file:/home/your_name/my_repo ./" >> /etc/apt/sources.list
apt-get update


(যদি dpkg-scanpackages কমান্ড না দিতে পারেন তবে কয়েকটি প্যাকেজ ইনস্টল করে নিন

apt-get install dpkg-dev build-essential

কমান্ডের সাহায্যে)

এ ধরনের রিপো তৈরী করে তা বিতরন করা বেশী সুবিধাজনক। কারন সে ক্ষেত্রে যিনি এ রিপো ব্যবহার করবেন তাকে সব প্যাকেজ ইনস্টল করতে হবে না। শুধুমাত্র যেটি প্রয়োজন সেটিই ইনস্টল করতে পারবেন। অন্যান্য অফলাইন ইনস্টলার এর ক্ষেত্রে dpkg –i *.deb কমান্ডের সাহায্যে সব ধরনের সফটওয়্যার ইনস্টল করতে হয় যা অনেক সময় প্রয়োজন হয় না। এছাড়াও এ ধরনের ডেব প্যাকেজগুলি এক সাথে কপি করে একটি সিডির সাহায্যেও বিতরন করা যেতে পারে। সিডিতে পছন্দের প্যাকেজগুলি একসাথে রাখা এবং ব্যবহার করা সম্ভব। কিন্তু ডিস্ট্রোর নিজস্ব রিপো সিডি ব্যবহার করলে তা সম্ভব হয়ে ওঠে না।

ল্যান নেটওয়ার্কে লোকাল রিপোজিটরী তৈরী ও ব্যবহার করা

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

কমান্ডঃ
cd /var/www
mkdir debian
mkdir /debian/binary
cp /source_path/*.deb /var/www/debian/binary
cd debian
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz

echo "deb http://192.168.0.1/debian/binary ./" >> /etc/apt/sources.list
apt-get update
শেষ দু’লাইন ল্যানের যেকোন ক্লায়েন্ট মেশিনে প্রয়োগ করতে হবে। তাহলে উক্ত মেশিনে আপনার রিপোজিটরী কাজ করতে পারবে।

উইন্ডোজ ভিত্তিক নেটওয়ার্কে লিনাক্স প্রবর্তন -(সাম্বা)

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

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

আধুনিক কাস্টোমাইজড ডিস্ট্রোগুলিতে সাম্বা সাধারনত ইনস্টল করা থাকে। এটি ইনস্টল করা আছে কিনা তা জানার জন্য কমান্ড দিনঃ

apt-cache search samba

এ কমান্ডটি দিলে একটি লম্বা লিস্ট দেখতে পাবেন। তবে ঘাবড়ানোর কিছু নেই। apt যেহেতু ডিপেনডেন্সী নিজেই মেইনটেইন করে থাকে তাই সাম্বা ইনস্টলের জন্য শুধুমাত্র samba প্যাকেজটি ইনস্টল করাই যথেষ্ট। অন্যান্য প্যাকেজ যেমন samba-common নিজে থেকেই ইনস্টল হয়ে যাবে। তাহলে সাম্বা ইনস্টলের জন্য কমান্ডটি হবে নিম্নরূপঃ

apt-get install samba

সাম্বাকে ডেমন হিসেবে ব্যাকগ্রাউন্ডে রান করাতে চাইলে সেটির স্ক্রিপ্ট পাওয়া যাবে /etc/init.d/samba- এখানে। সাম্বার জন্য কনফিগারেশন ফাইল পাওয়া যাবে নিচের ডিরেক্টরীতেঃ

/etc/samba

সাম্বার প্রধান কনফিগারেশন ফাইলটি হচ্ছে smb.conf যেটি উপরোক্ত ডিরেক্টরী বা ফোল্ডারে থাকে। সাম্বা ফাইল-প্রিন্ট শেয়ারিং অথবা ডোমেইন কন্ট্রোলার যেটি হিসেবেই কাজ করুন না কেন তা এ ফাইলের বিভিন্ন অপশনের মাধ্যমেই নির্ধারিত হয়ে থাকে।

smb.conf টিতে মোট ছয়টি সেকশন আছে। প্রতিটি সেকশনের কাজই ভিন্ন ভিন্ন। আসুন এগুলি প্রথমে দেখে নেই।

1. [global] - এ সেকশনে অনেকগুলি সাব-সেকশন আছে যা বিভিন্ন নেটওয়ার্ক রিলেটেড কাজ যেমন- domain/workgroup নাম, WINS, প্রিন্ট শেয়ারিং সেটিংস, অথেনটিকেশন, লগিং এন্ড একাউন্টিং ইত্যাদি করা হয়ে থাকে।
2. [homes] - ব্যবহারকারীর নিজস্ব হোম ডিরেক্টরী/ফোল্ডার শেয়ারিং করে থাকে অন্য মেশিনের সাথে।
3. [netlogon] - এটি সাধারনতঃ কমেন্ট চিহ্নের সাহায্যে বন্ধ করা থাকে যা সাম্বা সার্ভারকে ডোমেইন কন্ট্রোলার হিসেবে সেটআপ করে থাকে।
4. [printers] - লোকাল প্রিন্টার সমূহকে অন্য মেশিনের সাথে শেয়ারিং করার জন্য
5. [print$] - to set up a share for Windows printer drivers
6. [cdrom] - commented out by default, to optionally share the server's CD-ROM drive

প্রত্যেকটি সেকশন কিছু স্টেটমেন্টের সমষ্টি যার ফরম্যাট নিম্নরূপঃ
option = value

একটি সাধারন ফাইল ও প্রিন্ট শেয়ারিং

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


[global]
panic action = /usr/share/samba/panic-action %d
workgroup = BANK
server string = %h server (Samba %v)
hosts allow = 192.168.0. 192.168.1. 192.168.2. 192.168.79. 127. 10.0.0. 10.1.1.
security = share
map to guest = Bad User

;For Printer Sharing
printing = cups
printcap name = cups
printer name = hp_zahid
use client driver = no
;*******************section Homes*****************
[Shared]
path = /home/zahid/Shared
guest ok = yes
read only = no

[Music]
path = /home/zahid/Music
guest ok = yes
read only = no

[homes]
path = /home/zahid
guest ok = yes
comment = Home Directories
read only = no
;*******************section printers*****************
[printers]
comment = All Printers
path = /tmp
printable = yes
guest ok = yes
create mask = 0777
browseable = No

[hp_zahid]
printable = yes
path = /tmp
guest ok = yes
comment = hp_zahid

;************************section other folders****************
[My Documents]
guest ok = yes
path = /mnt/hda5/My Documents/

[Soft]
guest ok = yes
path = /mnt/hda6/Soft
আসুন উপরোক্ত ফাইলটির বিভিন্ন অপশনগুলির কোনটি কি ধরনের কাজ করে থাকে তা আলোচনা করি। এ অপশগুলি ছাড়াও অনেক অপশন রয়েছে যা সবসময় কাজে লাগে না। এজন্য সাম্বার অফিসিয়াল ম্যানুয়াল দেখে নিতে পারেন।

প্রথমেই global সেকশন-

workgroup = BANK - আপনার কম্পিউটার যে নেটওয়ার্কের অধীনে আছে তার ওয়ার্কগ্রুপের (BANK) নাম।
hosts allow - এ অপশনে নেটওয়ার্কের যে সব মেশিন সাম্বা ব্যবহার করতে পারবে তাদের আই.পি নাম্বার এর তালিকা। কোন নির্দিষ্ট মেশিনকে অনুমতি দিতে চাইলে তার আই.পি নম্বর (১৯২.১৬৮.২.৩) দিতে হবে। আর যদি ওয়ার্কগ্রুপের সবাইকে পারমিশন দিতে চান তাহলে উক্ত ওয়ার্কগ্রুপের প্রথম তিনটি অক্টেট নম্বর দিতে হবে (১৯২.১৬৮.২.)। প্রতিটি এন্ট্রির পর একটি স্পেস দিতে হবে।

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

map to guest = bad user সাম্বা যখন পাসওয়ার্ড প্রদান/ অথেনটিকেশন ছাড়া ব্যবহার করা হবে তখন গেস্ট হিসেবে কোন একাউন্ট সিস্টেম ব্যবহার করবে তা এখানে দিয়ে দেয়া হয়।

printing = cups এ অপশনটির সাহায্যে প্রিন্টার হিসেবে সাম্বা কি ব্যবহার করবে তা বলে দেয়া হয়। cups (common unix printing system)বেশীরভাগ লিনাক্সের ক্ষেত্রে প্রিন্টিং এর কাজে ব্যবহৃত হয়।cups ইনস্টল আছে কিনা তা দেখার জন্য ব্রাউজার খুলে এ্যাড্রেস বারে লিখুন- http://localhost:631। যদি সফলভাবে কাপস এর পেজ দেখা যায় তবে এখানে বিভিন্ন কাজ গ্রাফিক্যালি করতে পারবেন। এছাড়াও এখানে bsd ব্যবহার করা যায়।

printcap name = cups এ অপশনটিও প্রিন্টার এর জন্য ব্যবহৃত হয়।

printer name = hp_zahid এখানে যে প্রিন্টার এর নাম থাকবে তা শেয়ারিং এর সময় দেখা যাবে।এ অপশনটি Add Printer Wizard থেকে কোন প্রিন্টার সেটআপ করা হলে তবেই পাওয়া যাবে।

use client driver = no প্রিন্টার ইনস্টলের সময় কোন ড্রাইভার ব্যবহার করবে তা বলে দেয়া হয়। যদি no এর বদলে Yes থাকে তবে প্রিন্টার শেয়ারিং এর সময় প্রিন্টার মেশিন ছাড়া ও অন্য লোকেশন থেকে ড্রাইভার ইনস্টল করা যায়।

এবার আমরা [shared], [music], [home], [My Documents] & [Soft] সেকশনগুলি আলোচনা করবো। এগুলি একেকটি ফোল্ডার শেয়ার এর জন্য ব্যবহৃত হবে।

[home] - ব্রাকেটের মধ্যে যে নাম থাকবে শেয়ারিং এর সময় ফোল্ডার হিসেবে সে নামই দেখা যাবে।
path = /home/zahid - এখানে যে ফোল্ডার শেয়ারিং করবেন তার পাথ/লোকেশন দেয়া থাকে।
guest ok = yes - এ অপশনের সাহায্যে কোন গেস্ট একাউন্ট দিয়ে উক্ত সাম্বা সেট আপের ফাইল, ফোল্ডার ব্যবহার করা যাবে কিনা তা বলে দেয়া হয়।

এবার প্রিন্টার এর জন্য আরো দুটি সাব-সেকশন [printers] এবং [hp_zahid] নিয়ে আলোচনা করবো। প্রিন্টার এর জন্য কয়েকটি অপশন আমরা আগেই [global] সেকশনে দিয়ে এসেছি। বাকীগুলি এ দুটি সেকশনে দেয়া আছে।

Comment = All Printers - শেয়ারিং হিসেবে প্রিন্টার এর লিংকে এ নাম দেখা যাবে।
Path = /tmp - এখানে প্রিন্টার তার টেম্পরারি ফাইল হিসেবে যে ফোল্ডার ব্যবহার করবে তার লোকেশন দেয়া হয়।
Printable = yes - এটি যদি no দেয়া হয় তবে প্রিন্টার দেখা গেলেও তা দিয়ে প্রিন্ট করা যাবে না। তাই শেয়ারিং এর জন্য এটি অবশ্যই yes রাখতে হবে।

Guest ok = yes - এর কাজ আগের ফোল্ডারের বিবরনের মতই।

Browseable = no - এটি no দেয়া থাকলে এক্সপ্লোরারের সাহায্যে প্রিন্টার দেখা যাবে না। তবে শেয়ার করা যাবে।

[hp_zahid] - এ ধরনের আলাদা সেকশন থাকে যদি লোকাল কোন প্রিন্টারকে সুনির্দিষ্টভাবে শেয়ার করার প্রয়োজন হয়। এর কাজও আগের মতই। এ সেকশনটি সাধারনতঃ কোন প্রিন্টার লোকালি ইনস্টল করা হলে স্বয়ংক্রিয়ভাবে কনফিগারেশন ফাইলে যুক্ত হয়ে থাকে। যেমনঃ কেডিইতে Add Printer Wizard এর সাহায্যে কোন প্রিন্টার লিনাক্সে ইনস্টল করা হলে এরকম আলাদা একটি সেকশন যুক্ত হবে।

উপরে আমরা যে কনফিগারেশন ফাইলটি দেখলাম সেটি এডিট করার জন্য ভি-এডিটর বা এ জাতীয় কোন টেক্সট এডিটর ব্যবহার করুন। এর জন্য কমান্ড হবেঃ vi /etc/samba/smb.conf । যদি অন্য কোন এডিটর ব্যবহার করতে চান তবে vi এর স্থলে তার নাম দিন যেমনঃ gedit, kedit etc.। এভাবে একটি লিনাক্স মেশিন থেকে উইন্ডোজ মেশিনে ফোল্ডার ও প্রিন্টার শেয়ারিং করা যায়। উপরের কনফিগারেশন ফাইলটিতে বেশ কয়েকটি ফোল্ডার শেয়ারিং এর জন্য এন্ট্রি আছে। এখানে আপনার প্রয়োজনমত যে কয়টি ফোল্ডার শেয়ার করা দরকার শুধুমাত্র সে কয়টি ফোল্ডার শেয়ার করুন।
সবার শেষে কনফিগারেশন ফাইল এডিট করার পর সাম্বা রি-স্টার্ট করতে হবে যাতে পরিবর্তনসমূহ কার্যকরী হয়। এজন্য কমান্ড দিনঃ /etc/init.d/samba restart

উইন্ডোজ মেশিন থেকে লিনাক্স মেশিনের ফোল্ডার ও প্রিন্টার শেয়ারিং

সাম্বা ইনস্টল ও কনফিগারেশন করার পর আমরা এখন উইন্ডোজ মেশিন থেকে কিভাবে লিনাক্স মেশিনকে শেয়ার করা যায় তা দেখব।এটি করার পর লিনাক্স মেশিন থেকে কিভাবে উইন্ডোজ মেশিনের রিসোর্স শেয়ার করা যায় তা দেখব।
প্রথমে উইন্ডোজ মেশিন থেকে লিনাক্স মেশিনে প্রবেশ করার জন্য উইন্ডোজের স্টার্ট মেনু থেকে রান মেনুতে ক্লিক করুন। তারপর লিনাক্স মেশিনের আইপি (যেমনঃ //১৯২.১৬৮.২.৩) টাইপ করুন অথবা //hostname। তারপর লিনাক্সের প্রিন্টারটিতে রাইট মাউস ক্লিক করে Connect ক্লিক করুন। ড্রাইভার ইনস্টলের জন্য ডায়ালগ বক্স অনুসরন করুন।
শেয়ারড ফোল্ডারগুলি হোস্ট নেম/মেশিনের আইপি প্রবেশ করালেই উইন্ডোজ এক্সপ্লোরারে দেখা যাবে।

লিনাক্স মেশিন থেকে উইন্ডোজ মেশিনের ফোল্ডার ও প্রিন্টার শেয়ারিং

লিনাক্স মেশিন থেকে কোন উইন্ডোজ মেশিনে শেয়ার করা ফোল্ডার দেখার জন্য ডিফল্ট ফাইল ব্রাউজার যেমনঃ konqueror, nautilus খুলুন। তারপর এ্যাড্রেস বারে লিখুনঃ smb://hostname যেখানে হোস্টনেম এর জায়গায় মেশিনের আইপি নম্বর (192.168.2.3)অথবা হোস্টনেম (mepis1, pc1 etc)ইত্যাদি দিতে হবে। তারপর এন্টার কি প্রেস করলেই ফোল্ডার সমূহ দেখতে পাবেন।

লিনাক্স মেশিন থেকে উইন্ডোজ মেশিনে ইনস্টলকৃত প্রিন্টার শেয়ারিং এর জন্য লিনাক্স এর নিজস্ব Add Printer Wizard ব্যবহার করুন।

ছবি

যেমন উপরের চিত্রে কেডিই ইন্টারফেসের Add Printer Wizard ডায়ালগ বক্স দেখা যাচ্ছে। এখানে SMB shared printer (Windows) সিলেক্ট করে Next বাটনে ক্লিক করি। তারপর ইউজার আইডেন্টিফিকেশন বক্স আসলে Anonymous সিলেক্ট করি। তারপর নেক্সট বাটনে ক্লিক করলে নিচের চিত্রের মত সবকিছু বসিয়ে আবার নেক্সট ক্লিক করি।
ছবি

তবে স্ক্যান বাটনে ক্লিক করেও লোকাল প্রিন্টার খুজে বের করা যায় উইন্ডোজ মেশিনের মত। কিন্তু মাঝে মাঝে সমস্যা হয় ডিটেক্ট করতে এজন্য উপরের মত নিজ হাতে কনফিগার করে দিলেই ভাল। পরের ডায়ালগ বক্সে প্রিন্টার মডেল (Manufacturer, Model) নির্বাচন করে আবার নেক্সট বাটনে ক্লিক করি। ড্রাইভার সিলেকশন বক্সে রিকমেন্ডেড ড্রাইভার সিলেক্ট করে পরবর্তী ধাপে যাই। পরবর্তীতে একইভাবে ব্যানার, কোটা, ইউজার একসেস কন্ট্রোল ইত্যাদি সিলেক্ট করে কাজ শেষ করি। সর্বশেষ ধাপে প্রিন্টার এর একটি নাম যেমন- hp_bank ইত্যাদি দিয়ে দেই। তারপর Finish বাটনে ক্লিক করে কাজ শেষ করি।

ট্রাবলশুটিং

সাম্বার সাহায্যে লিনাক্স ও উইন্ডোজ মেশিনের মধ্যে নেটওয়ার্কিং করার সময় বেশ কিছু সমস্যার সম্মুখীন হতে হয়। সেগুলি কিভাবে সমাধান করতে হয় তা এখন দেখব।
১. প্রথমেই দেখুন /etc/samba/smb.conf ফাইলের hosts allow অপশনে আপনার মেশিনের নেটওয়ার্ক/ আইপিকে অনুমতি দেয়া আছে কিনা? দেয়া না থাকলে এখানে মেশিনের আইপি যেমনঃ ১৯২.১৬৮.২.৭৫ অথবা সম্পূর্ন নেটওয়ার্ক (১৯২.১৬৮.২.) কে যুক্ত করুন।

২. অনেক সময় ফায়ারওয়্যাল এনাবল করা থাকলে সাম্বা কাজ করতে পারে না। এজন্য লিনাক্স মেশিনের ফায়ারওয়্যাল (গার্ডডগ, ফায়ারস্টার্টার) বন্ধ করে নিন। প্রয়োজনে উইন্ডোজ মেশিনের ফায়ারওয়্যাল ও বন্ধ করে নিন। ফায়ারওয়্যাল চালু রাখতে চাইলে সাম্বার জন্য ১৩৭, ১৩৮, ১৩৯ নম্বর পোর্ট খুলে রাখুন। এজন্য কোন গ্র্যাফিক্যাল টুলস যেমনঃ ওয়েবমিন, গার্ডডগ, ফায়ারস্টার্টার ইত্যাদি ব্যবহার করতে পারেন।

৩. ifconfig -a কমান্ড দিয়ে দেখুন সাম্বার ব্রডকাস্ট এ্যাড্রেস এবং অন্য ক্লায়েন্টদের ব্রডকাস্ট এ্যাড্রেস একই আছে কিনা?

৪. smbclient -L localhost কমান্ড দিয়ে দেখুন সাম্বা সার্ভিস চালু আছে কিনা?

৫. testparm – সাম্বা রিস্টার্টের আগে এ কমান্ড দিয়ে দেখুন সাম্বার কনফিগারেশন ফাইল ঠিক আছে কিনা?

৬. smbstatus – কমান্ড দিয়ে দেখুন সাম্বার স্ট্যাটাস

৭. http://localhost:631 পাথ ব্রাউজারে লিখে এন্টার দিন। তারপর কাপসের জন্য পারমিশন দিয়ে দিন যাতে অন্য মেশিন থেকেও কাপসকে সাম্বার সাহায্যে শেয়ার করা যায়।

৮. যেকোন প্রিন্টার সেকশনের জন্য /etc/samba/smb.conf ফাইলে দেখুন path = /tmp অথবা path = /var/spool/samba এর মত কোন ভ্যালিড পাথ আছে কিনা?

৯. যদি আপনার মেশিনে দুটি নেটওয়ার্ক কার্ড থাকে তাহলে [global] সেকশনে interfaces = 127.0.0.1, 192.168.2.75/24 এবং bind interfaces = yes লাইন দুটি যোগ করে নিন।

১০. প্রিন্টার শেয়ারিং এ সমস্যা হলে [global] সেকশনে দেখুন printing = cups এবং printcap = cups লাইন দুটি আছে কিনা? যদি না থাকে তাহলে যোগ করে নিন।