লিনাক্স অপারেটিং সিস্টেম এর প্রাথমিক ধারনা-৫

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

প্যাকেজ এবং টারবল কি?

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

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

যে ফাইলগুলি ডাউনলোড করবেন তা একটি আর্কাইভ বা সংকুচিত আকারে পাওয়া যায় যেটি উইন্ডোজে আমরা সাধারন উইনজিপ এর মত সফটওয়্যার এর সাহায্যে করে থাকি। লিনাক্সেরও নিজস্ব এরকম একটি জিপ প্রোগ্রাম পাওয়া যায় যার নাম gzip (GNU Zip)। বেশীরভাগ লিনাক্স ডিস্ট্রোতেই gzip/gunzip ইউটিলিটি ডিফল্টভাবে দেয়া থাকে। এ প্রোগ্রামের সাহায্যে সংকুচিত ফাইলগুলি সাধারনত.gz এক্সটেনশনের হয়ে থাকে। লিনাক্সে একটি কমপ্রেশড ফাইলকে আনজিপ করার কমান্ড হচ্ছে নিচের মতঃ

gunzip file-name.tar.gz

PKZip এবং WinZip দুটি কাজ করে থাকে। তারা একাধিক ফাইলকে প্রথমে একটি আর্কাইভে রূপান্তরিত করে এবং তারপর এটিকে কমপ্রেস করে থাকে। লিনাক্স/ইউনিক্সে এ দুটি ধাপ আলাদাভাবে সংঘটিত হয়। gzip কমপ্রেশনের কাজ করে থাকে এবং tar একাধিক ফাইলকে আর্কাইভে রূপান্তরিত করার কাজটি করে থাকে। tar ইউটিলিটি একাধিক ফাইলকে একত্রিত/এক্সট্রাক্ট করার কাজটি করে কিন্তু কোন কমপ্রেশন/সংকোচনের কাজ করে না। যে ফাইলগুলি বড় নয় সেগুলি সাধারনত কমপ্রেস অবস্থায় থাকে না। যদি আপনার ডাউনলোডকৃত ফাইলটি একাধিক ফাইলের আনকমপ্রেসড আর্কাইভ হয় তবে এটিতে .tar এক্সটেনশন থাকবে। এ ফাইলগুলিকে টারবল বলা হয়। এ টারবল থেকে আসল ফাইল ফিরে পাওয়ার জন্য নিচের কমান্ডটি দিতে হয়ঃ

tar -xvf file-name.tar

এখানে লক্ষ্যনীয় যে, যদি কমপ্রেস করার সময় tar বিভিন্ন সাবডিরেক্টরীকে অর্ন্তভুক্ত করে থাকে তবে এটি ডিরেক্টরী স্ট্রাকচার-কে আসলের মত হুবহু ফিরে পেতে সাহায্য করে।

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

tar এর নতুন ভার্সনে আনকমপ্রেস এবং এক্সট্রাক্ট করার কাজ একইসাথে করা যায়ঃ

tar -zxvf file-name.tar.gz

এখানে অতিরিক্ত z সুইচটি আনকমপ্রেসের কাজ করবে যদি আপনার tar টি নতুন ভার্সনের হয়।

লিনাক্স/ইউনিক্স এর ভুবনে tar এর সাহায্যে ফাইল কমপ্রেস/এক্সট্রাক্ট করা একটি গুরুত্বপূর্ন দক্ষতা হিসেবে বিবেচিত হয় কেননা অনেক ডিভাইস ড্রাইভার শুধুমাত্র সোর্স কোডে দেয়া হয়ে থাকে।

লিনাক্স কার্নেল পরিচিতি

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

নতুন এবং উন্নত সংস্করনে প্রোগ্রামসমূহ একটু বেশী ভার্সন নম্বর দিয়ে প্রকাশ করা হয় (যেমন নেটস্কেপ ৩, নেটস্কেপ ৪) অথবা সামান্য পরিবর্তনের জন্য একটু ছোট ভার্সন নম্বর দিয়ে প্রকাশ করা হয় (যেমন নেটস্কেপ ৪.০, ৪.৫, ৪.৭৬)। একইভাবে লিনাক্স কার্নেল এর নতুন এবং উন্নত ভার্সনসমূহ এ রকম ভার্সন নম্বর দিয়ে প্রকাশ করা হয়। ডেবিয়ান ৩.১(সার্জ) লিনাক্স কার্নেল এর ২.৪ ভার্সন ব্যবহার করে থাকে যেখানে ডেবিয়ান ৪.০ ডিফল্ট হিসেবে (কোড নেম এচ্‌) ব্যবহার করে ভার্সন ২.৬।

ডিস্ট্রোর ভার্সন জানার সাথে সাথে এই কার্নেল ভার্সনটিও জানতে হবে কারন কার্নেল ভার্সন পরিবর্তনের সাথে সাথে বিভিন্ন সিস্টেম ফাংশন সেটিংস এর প্রক্রিয়া পরিবর্তিত হয়ে থাকে। উদাহরনস্বরূপ বলা যায়, ফায়ারওয়াল এর জন্য যে IPTABLES ইউটিলিটি ব্যবহার করা হয় সেটি শুধুমাত্র ২.৪ অথবা তার পরের কার্নেল এর জন্য প্রযোজ্য ( ২.২ ভার্সন কার্নেলে এর বদলে IPCHAINS ব্যবহার করা হত।)

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

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

cd /proc
ls -laF | more

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

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

আরো জানার উপায়

ইউনিক্স এবং লিনাক্স এর জন্য নিজস্ব অনলাইন হেল্প রয়েছে। তাদের বলা হয় "man pages"। এজন্য প্রথমে man টাইপ করুন তারপর কমান্ডের নাম টাইপ করুন। উদাহরনস্বরূপঃ

man mount

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

man পেজ ছাড়াও HOWTOs নামে একটি বিশাল ডকুমেন্টেশন প্রোজেক্ট আছে লিনাক্সের জন্য যেটি স্বেচ্ছাসেবীদের দ্বারা পরিচালিত হয়ে থাকে। যত ধরনের বিষয় আছে প্রায় প্রত্যেকের উপরই HOWTO নামক টপিক রয়েছে। কিছু HOWTOs আছে যা ততটা স্পষ্ট নয় কিন্তু বাকিগুলি যথেষ্ট মানসম্পন্ন ও সুলিখিত। HOWTO ডকুমেন্টসমূহ কেন্দ্রীয়ভাবে লিনাক্স ডকুমেন্টেশন প্রজেক্ট ওয়েব সাইটে(http://tldp.org/) দেখভাল করা হয়।

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

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

উইন্ডোজ ভুবনে জড়িয়ে আছেন?

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

আপনি যদি এ ধরনের পরিবেশে নেটওয়ার্ক বা সিস্টেম এডমিনিস্ট্রেটর এর দায়িত্বে থাকেন তবে পুরনো একটি বা দুটি পিসিতে লিনাক্স সেট আপ করে নিচের কাজসমূহ করতে পারেনঃ

  • নেটওয়ার্ক মনিটরিং এবং ট্রাবলশুটিং টুলস হিসেবে ব্যবহার
  • সিকিউরিটি মনিটরিং এবং টেস্টিং টুলস হিসেবে ব্যবহার (বিশেষতঃ যদি ইন্টারনেট কানেক্টড সিস্টেম হয়)

এ কাজগুলি করার জন্য লিনাক্সে অসংখ্য ফ্রি নেটওয়ার্ক মনিটরিং টুলস (যেমন ntop network traffic probe) এবং সিকিউরিটি ইউটিলিটিজ (যেমন nmap port scanner) পাওয়া যায় এবং আপনার বস নিঃসন্দেহে ‘ফ্রি’ শব্দটি নিয়ে আর শংকিত হবেন না। সিকিউরিটি চেক করার জন্য বিভিন্ন ইউটিলিটি রান করা ছাড়াও আপনার ইন্টারনেট কানেক্টেড সার্ভারে কোন Intrusion Detection System যেমন Snort সবসময় চালু রাখতে পারেন যা আপনার নেটওয়ার্ক-কে করবে আরো সুরক্ষিত।

0 comments:

Post a Comment