ডেবিয়ান লিনাক্স টিপস এন্ড ট্রিকস-১

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

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

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

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

লিনাক্সে কোন কিছু পরিবর্তনের আগে কনফিগারেশন ফাইলের ব্যাক আপ নিয়ে রাখা ভাল। যদি কোন সমস্যায় পড়েন তাহলে সহজেই আগেই ফাইল দিয়ে মেশিন যাতে ঠিক করতে পারেন সেজন্যই এ পরামর্শ।

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

আরেক বিষয়- যখন ডেবিয়ান বুট হয় তখন কিছু সার্ভিস (যেমন ফায়ারস্টার্টার) পুনরায় স্টার্ট/স্টপ/স্টার্ট হয়। এর কারন হচ্ছে - এ স্ক্রিপ্টগুলি LSB ডিপেনডেন্সির যে ক্রমানুযায়ী চালু হবার কথা তা অনেক সময় মেনে চলে না।

সুতরাং LSB এর ক্রমান্বয় মেনে চলার জন্য স্ক্রিপ্টকে নির্দেশ দান করার পর প্যারালাল স্টার্ট আপের নির্দেশ দিব।

স্ক্রিপ্টগুলির ক্রমান্বয় নতুন করে সাজাবার জন্যঃ

# apt-get install insserv

Read the warning and go ahead if you like.
Allow parallel starts:

# echo 'CONCURRENCY=shell' >> /etc/default/rcS

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

  • Readahead
readahead প্যাকেজটি বুট এর সময়ে চালু হয় এবং বুটের সময়ে যে সমস্ত ফাইল প্রয়োজন হয় সেগুলিকে কার্নেল এর ডিস্ক ক্যাশে জমা করতে থাকে। এটিকে চালু করার জন্য প্রথমে ইনস্টল করুন readahead প্যাকেজ, তারপর touch কমান্ড দিয়ে /etc/readahead/profile-once ফাইলটি তৈরী করুন এবং সবার শেষে মেশিন রিবুট বা রিস্টার্ট করুন।

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

কমান্ডঃ
# apt-get install readahead

# touch /etc/readahead/profile-once
reboot


  • অন্যান্য বিষয় যা বুটিংকে প্রভাবিত করে থাকেঃ

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

আপনি গ্রাফিক্যাল মোড এর সার্ভিস(Administration-->Services) অপশন থেকে এটি করতে পারেন। তবে সব সার্ভিসগুলিকে এখানে পাবেন না। সেজন্য আপনাকে প্রথমেই জেনে নিতে হবে আপনার ডিফল্ট রান লেভেল কত। ডিফল্ট রান লেভেল হচ্ছে আপনার কম্পিউটার যে মোডে লগইন হয়ে থাকে তার নম্বর। এটি লিনাক্সে ০-৬ এ যেকোন একটি হতে পারে। যেমন ডেবিয়ান লিনাক্সের ডিফল্ট রানলেভেল হচ্ছে ২। এটি জানার জন্য /etc/inittab ফাইলটি খুলুন যেকোন টেক্সট এডিটর দিয়ে। তারপর নিচের লাইনে যানঃ

id:2:initdefault:

উপরের লাইনে id এর পর যে নম্বরটি (২) আছে সেটিই হচ্ছে আপনার ডিফল্ট রান লেভেল।

এবার আসুন সার্ভিসগুলি বাদ দেবার পালা। এজন্য প্রথমেই শেল মোডে রুট হিসেবে লগইন করুন। তারপর /etc/rc2.d নামক ফোল্ডারে যান। দেখুন এখানে কি কি ফাইল আছে। এখানে ফাইলগুলি সাধারনত S অক্ষর দিয়ে শুরু হয়েছে। এগুলি দ্বারা সার্ভিস কে বোঝায়। তারপর একটি নম্বর আছে ১০, ২০, ৩০ এরকম। এ নম্বরগুলি অনুযায়ী বুটের সময়ে ধারাবাহিকভাবে সার্ভিসগুলি চালু হয়ে থাকে। এ নম্বরটি বেশ গুরুত্বপূর্ন। এখন আপনি যে সার্ভিসটিকে বন্ধ করতে চান সে নামের ফাইলটিকে রিনেম করে দিন তার আগে একটি আন্ডারস্কোর (_) চিহ্ন দিয়ে। উদাহরনস্বরূপঃ

আপনি যদি S90apache সার্ভিসটিকে বন্ধ করতে চান তাহলে কমান্ড দিনঃ

cd /etc/rc2.d
mv S90apache _S90apache


ব্যস আপনার সার্ভিসটি বন্ধ হয়ে গেল। সার্ভিসটিকে পূনরায় চালু করতে কমান্ড দিনঃ

mv _S90apache S90apache

3 comments:

Salahuddin Pasha said...

Nice article. Thanks.

Abu Zaher Md Faridee said...

I really liked the post. You should, however, give references to the links that you studied while writing this post. In Ubuntu based distros, the system already has readahead installed. 'insserv' should not be used by novice users as it sometimes breaks the system.

Zahidur Rahman said...

@salauddin
You are welcome. This post is a series post. So next is coming within few days. Hope U and all will enjoy this

@Faridee Bhai
Thanks for your comments. I actually write on debian from many sources e.g. debian blogs, debian forums etc. This article is also no exception.

Again thanks for the suggestion regarding insserv package.

Post a Comment