Linux - লিনাক্স

Anik Dash Akash - Sep 6 - - Dev Community

Take the control power of your os! Don't give your os to control to you

আমরা সবাই কম বেশি এই শব্দটার সাথে পরিচিত। শব্দটা চোখে পড়লেই ভেসে উঠে কালো একটা স্ক্রিনযেখানে হাজার হাজার লাইনের কোড স্ক্রল হতে থাকে আর একজন হুডি পরা মানুষ বসে কোড করছে! আমরা সবাই কম বেশি হ্যাকিং মুভি বা পরিচিত লোকদের মুখে এটা শুনে এসেছি যে লিনাক্স চালাতে হলে আপনাকে একজন হ্যাকার হতে হবে। কিন্তু এটি একদম ভুল ধারণা। আপনি যখন প্র্রথম কম্পিউটার চালানো শুরু করবেন তখন যদি কেউ আপনাকে Microsoft Windows এর পরিবর্তে লিনাক্স অপারেটিং সিস্টেম এর একটা কম্পিউটার ধরিয়ে দিত তবে আপনি ঠিকই সেটিতে অভ্যস্ত হয়ে উঠতেন।

a computer is like air conditioning

লিনাক্স কি?

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

kernal diagram

আমাদের সবার ব্যাবহৃত Windows এরও কার্নেল আছে, এর নাম NT এবং Mac OS এর কার্নেল এর নাম XNUI. কিন্তু আপনি চাইলে কিংবা লাখ লাখ টাকা খরচ করেও এদের কার্নেল এর সোর্স কোড দেখতে পারবেন না। এদের সোর্স কোড ওপেন নয়।কিন্তুলিনাক্স এর কার্নেল কোড ওপেন সোর্স । আপনি চাইলে সম্পূর্ণ নিজের মতো করে লিনাক্স কার্নেল এর উপর ভিত্তি করে একটি অপারের্টিং সিস্টেম ডিজাইন করতে পারবেন।যার কারণে বর্তমানে লিনাক্স ভিত্তিক প্রায় এক হাজার এর মতো ডিস্ট্রো এবং সেগুলোর আবার কয়েক রকমের ফ্লেভারে ডেস্কটপ এনভায়রনমেন্ট আপনি দেখতে পাবেন। শুরুর দিকে এসব জিনিসের নাম আর পার্থক্য বুঝতে গিয়ে হয়তো আপনার মাথার চুল ছিঁড়তে হতে পারে তবে ভয়ের কিছু নেই, ধীরে ধীরে শিখে যাবেন। তাহলে এবার কার্নেল নিয়ে আরো একটু জানা যাক - কার্নেল হচ্ছে অপারেটিং সিস্টেম এর সেইঅংশটি যা হার্ডওয়্যারের সাথে সংযোগ স্থাপন করে। এটি একটি কম্পিউটারের CPU, RAM এগুলোর সাথে সরাসরি সংযোগ স্থাপন করে। কার্নেল ২ প্রকার মনোলিথিক কার্নেল আর মাইক্রো কার্নেললিনাক্স হচ্ছে একটি মনোলিথিক কার্নেল । লিনাক্স কার্নেল এর রিপোজিটরি GITHub Repo

লিনাক্স নামকরণ -

লিনাসের খুব শখ ছিল তার অপারেটিং সিস্টেমের নাম হবে “ফ্রিক্স” (FREAKS) যেটা কিনা “Free”, “Freak” আর “Unix” শব্দ তিনটার মিলিত একটা রূপ। কিন্তু নামটা পছন্দ হয়নি এ্যারি লেম্কের। এ্যারি লেম্কে ছিল লিনাসের বন্ধু ও সহকর্মী এবং হেলসিংকি ইউনিভার্সিটির এফটিপি সার্ভারের এডমিনিস্ট্রেটর। এফটিপি সার্ভার দিয়ে খুব সহজেই যেকোন ফাইল সবার সাথে শেয়ার করা যায়। এ্যারিই লিনাসকে বুদ্ধি দিল যে নতুন OS এর সোর্সকোডকে এফটিপি সার্ভারে শেয়ার করতে, যাতে করে পৃথিবীর সবার জন্যই এর কোডটা উন্মুক্ত থাকে আর যে কেউ সেটা ব্যবহার করতে পারে। তবে এজন্য “ফ্রিক্স” নামটা পছন্দ হলনা এ্যারির। সে “লিনাক্স” নামের এক ফোল্ডারে এফটিপি সার্ভারে সেই কোডগুলো রেখে দিলেন। সেই থেকে নাম হয়ে গেল “লিনাক্স”। ওহ, বলতে তো ভুলেই গেলাম কেন এর নাম লিনাক্স হল, সহজ ব্যাপার “Linus’s Unix” থেকেই এ্যারির মাথায় লিনাক্স নামটা চলে আসে। আসল নাম হারিয়ে লিনাক্স এখন যে নামে পরিচিত সেটা আসলে তার ডাউনলোড করার জন্য রাখা ফোল্ডারের নাম।কিন্তু লিনাস এই নামটা মানতে পারেন নি। কারণ লিনাক্স নামটা তার নামের সাথে মিলে যায় এবং তিনি ভাবেন যে এতে তার অহংকারী মনোভাব প্রকাশ পেতে পারে। কিন্তু তত সময়ে অনেক মানুষ সেটা ডাউনলোড করে নেয়। ফলে বাধ্য হয়ে নামটা মেনে নিতে হয় তাকে। এরপর থেকে লিনাক্সের যাত্রা শুরু হয়।

GNU linux icon

লিনাক্সের ম্যাস্কট-

কর্পোরেটরা যখন লিনাক্স ব্যাবহার শুরু করলেন তখন এর জন্য ম্যাস্কট এর প্রয়োজন দেখা দিল। ম্যাস্কট এর খোজ শুরু পড়লে লিনাস নিজেই পেঙ্গুইন এর কথা বলেন। তবে সাধারণ কোন পেঙ্গুইন নয়, নাদুসনুদুস পেঙ্গুইন। যেটা কিনা আবার অলস ভঙ্গিতে খাবার খাওয়ার পর ছোটখাট ভুড়ি উঁচিয়ে দু’পা ছড়িয়ে মাটিতে বসে আছে ! আসলে লিনাস অস্ট্রেলিয়ার ক্যানবেরার National Zoo & Aquarium এ অবকাশ যাপন এ গিয়ে তিনি একটা পেঙ্গুইন এর কামড় খেয়েছিলেন । তারজন্যই তার মাথায় ম্যাস্কট হিসাবে পেঙ্গুইন এর কথা আসে। তাই অফিসিয়াল মাসকট হিসেবে পেঙ্গুইনকেই পছন্দ করা হল, এর নাম দেয়া হল TUX ।এই সেই নাদুসনুদুস পেঙ্গুইন। টার্কিডো আর লিনাক্স মিলে হল টাক্স। পেঙ্গুইন লিনাসকে কামড় দিলেও একে ভয়ের কিছু নেই। যেখানেই এর ছবি দেখবেন বুঝে নিবেন সেখানেই লিনাক্স রয়েছে।

Linux TUX

লিনাক্স নিয়ে কিছু মিথ-

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

Fuck you nvidia
ছবি: লিনাস টরভল্ডস (Linus Torvalds)

চাইলে এই ভিড়িওটা দেখে নিতে পারেন https://youtu.be/i2lhwb_OckQ

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

লিনাক্স ভিত্তিক অপারেটিং সিস্টেম -

লিনাক্স কার্নেল এর উপর ভিত্তি করে প্রায় ৭০০ এর বেশি ডিস্ট্র্রো তৈরী হয়েছে। বর্তমানে ২০০ এর বেশি সক্রিয় আছে। তবে যেগুলো বন্ধ হয়ে গেছে ঐগুলো অবশ্য বিভিন্ন কারনে বন্ধ হয়েছে। লিনাক্স কার্নেলের উপর ভিত্তি করে বাননো অপারটিং সিস্টেম গুলো কে বলা হয় Linux Distribution বা সংক্ষেপে Distro.একটা ডিস্ট্রো মূলত বেশ কিছু জিনিস নিয়ে গঠিত । এগুলো হল লিনাক্স কার্নেল, GNU টুলস এবং লাইব্রেরিজ, সিস্টেম সফটওয়্যার , উইন্ডো সিস্টেম, উইন্ডো ম্যানেজার, ডেস্কস্টপ এনভায়রনমেন্ট , প্যাকেজ ম্যানেজার, ফ্রি এবং ওপনে র্সোস সফটওয়্যার । এসব নিয়েই তৈরী একটা ডিস্ট্রে।

তাহলে এবার এই বিষয় গুলো নিয়ে জানা যাক -

সব লিনাক্স ডিস্ট্র্রো গুলোতে তো লিনাক্স কার্নেল থাকবে সেটা এতক্ষনে আমরা বুঝে গেছি। আর যা আছে সেগুলো সম্পর্কে কিছু জানা যাকঃ-

উইন্ডো সিস্টেম :

এটি মূলত কম্পিউটাররে গুই বা গ্রাফিক্যাল ইউজার ইন্টারফেইস। যেখানে আপনি মাউস ব্যাবহার করে বিভিন্ন আইকনে বা মেনুতে ক্লিক করে ব্যবহার উপযোগী পরিবেশ তৈরী করতে পারবেন। লিনাক্স ভিত্তিক অপারেটিং সিস্টেম এ X Window System ব্যাবহৃত হয়। আর Windows এ ব্যাবহৃত হয় Deskstop Window Manager .

উইন্ডো ম্যানেজার:

উইন্ডো সিস্টেম এ কিভাবে সবকিছুৃ শো করবে সেটা মূলত উইন্ডো ম্যানেজার কন্ট্রোল করে। লিনাক্স ডিস্ট্রো গুলোতে X Window Manager ব্যাবহার করা হয়।

প্যাকেজ ম্যানেজার:

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

ডেস্কটপ এনভায়রনমেন্ট

ডেস্কটপ এনভায়রনমেন্ট (DE) বা কম্পিটারের গ্রাফিক্যাল ইউজার ইন্টারফেস। সেখানে একজন ইউজারকে তার কম্পিউটার ব্যাবহার করার একটা সুন্দর এবং সহজবোধ্য পরিবেশ দেয়া হয়। সহজ কথায় বললে আপনি Windows Xp ব্যাবহার করলে যেমন ইন্টার ফেইস পাচ্ছেন সেটা ৮ বা ১০ এ এক হবে না। যদি আপনার ডেস্কটপ এনভায়রনমেন্ট পছন্দ না হয় তবেও সেটা ব্যাবহার করতেই হবে। তবে থিম দিয়ে কিছু পরিবর্তন করা যায় কিন্তু আসলে তেমন পরিবর্তন আসে না। তবে লিনাক্সে বেশ কিছু ডেস্কটপ এনভায়রনমেন্ট আছে এবং সেটা আপনি পছন্দ করে নিতে পারেন। এ রকম কিছু ডেস্কটপ এনভায়রনমেন্ট হল Cinnamon, KDE Plasma, XFCE, MATE, **Gnome **etc. এই প্রতিটা ডেস্কটপ এনভায়রনমেন্ট নিয়ে আরো অনেক শেয়ার করা য়ায় (যেগুলো আমি ব্যাবহার করেছি) আপাতত শুধু ছবি দিয়ে শেষ করলাম। ইন্টারনেট ঘেটে জেনে নিতে পারেন আরো আগ্রহ থাকলে।

Cinnamon DE

Cinnamon DE

KDE Plasma

KDE Plasma

XFCE

XFCE

Gnome

Gnome

ডিস্ট্রো পরিচিতি -

আসলে লিনাক্সে শিফট করার সময় সব থেকে বড় সমস্যা বা কনফিউজিং বিষয় যেটা সেটা ডিস্ট্রো এবং ডেস্কটপ এনভায়রনমেন্ট। তবে উপরে ডেস্কটপ এনভায়রনমেন্ট নিয়ে আলোচনা করা হলো এবার তাহলে ডিস্ট্রোতে ডু মারা যাক। ডিস্ট্রো আসলে কি? এটা দিয়ে কি হ্যাক করে ফেলে নাকি? সহজে বললে ডিস্ট্রো হল একটি অপারেটিং সিস্টেম। কিন্তু এই ডিস্ট্রো এর উপর ভিত্তি করে আরো অনেক ডিস্ট্রো তৈরী করা হয়েছে। এই জিনিস টা এত বড় যে আমি নিজেও এখন সব জানতে পারিনি । আপনি গুগল করে দেখতে পারেন। তবে ছোট করে বলে রাখি ডেবিয়ান হল একটি স্বতন্ত্র অপারেটিং সিস্টেম । এর উপর ভিত্তি করে তৈরী শত শত ডিস্ট্রো আছে তার মাঝে একটি উবুন্টু এটির উপর ভিত্তি করে আরো অনেক অপারেটিং সিস্টেম তৈরী করা হয়েছে। আবার উবন্টুর DE এর উপর ভিত্তি করে উবন্টুর ই আরো কয়েক রকমের ফ্লেভার আছে। আবার Arch (আর্চ) একটি স্বতন্ত্র ডিস্ট্রো। এটা থেকে তৈরী Manjaro, Endeavor OS, Arch Bang ইত্যাদিএগুলোর আবার অনেক গুলো DE আছে। যেমন XFCE, KDE Plasma, GNOME

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

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

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

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

** লিনাক্স জগতে আপনাকে স্বাগতম !**

. . . . .