Category Archives: Debian Linux Tips and Tricks

>ডেবিয়ান লিনাক্স ডাউনলোডে ব্যবহার করুন jigdo

>

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

তবে আমাদের দেশের মত সীমিত গতির ইন্টারনেট দিয়ে ডেবিয়ান লিনাক্সের সিডি/ডিভিডি ডাউনলোড করা বেশ কষ্টসাধ্য একটি ব্যাপার । ডেবিয়ান লিনাক্স একটি বৃহৎ ডিস্ট্রিবিউশন। প্রায় ২৯,০০০ এর ও বেশী প্যাকেজ নিয়ে ডেবিয়ান রিলিজ হয়ে থাকে। ডেবিয়ান ডাউনলোড করার বেশ কয়েকটি উপায় রয়েছে যেমন-

১. সরাসরি এফটিপি সাইট থেকে সিডি/ডিভিডি/ব্লুরে আইএসও ফাইল ডাউনলোড করা

২. বিটটরেন্ট প্রটোকল ব্যবহার করে সিডি/ডিভিডি/ব্লুরে আইএসও ফাইল ডাউনলোড করা

৩. jigdo ব্যবহার করে ডাউনলোড করা

এফটিপি/বিটটরেন্ট ব্যবহার করে ডাউনলোডের জন্য অবশ্যই Free Download Manager/Kget/Uget এর মত ডাউনলোড ম্যানেজার ব্যবহার করুন। এগুলি কোন বড় ফাইলকে ডাউনলোড করার জন্য পজ/রিজিউম সাপোর্ট দিয়ে থাকে ফলে ডাউনলোড হওয়ার মাঝে লাইন কেটে গেলেও আবার রিজিউম করতে পারবেন। এভাবে ডাউনলোডের জন্য আপনাকে ডেবিয়ান এর নিজস্ব সাইট http://www.debian.org/distrib/ এ যেতে হবে। তারপর HTTP/FTP, লিংকে ক্লিক করে পরবর্তী লিংকে গিয়ে Official CD/DVD images of the stable release এ ক্লিক করুন। এবার সিডি/ডিভিডি উভয় অপশনে নীচের মত লিংক দেখতে পাবেন-

• amd64
• armel
• kfreebsd-i386
• kfreebsd-amd64
• i386
• ia64
• mips
• mipsel
• powerpc
• sparc
• s390
• source
• multi-arch
এগুলি হল আপনার প্রসেসর আর্কিটেকচার এর নির্দেশক। আমরা যদি সেলেরন/পেন্টিয়াম-৪ ইত্যাদি সিংগেল কোরের প্রসেসর ব্যবহার করি তাহলে আমাদেরকে i386 লিংকে ক্লিক করে ডাউনলোড করতে হবে। আর যদি ডুয়াল কোর/কোর-টু-ডু/কোর-আই-৫/কোর-আই-সেভেন ইত্যাদি ব্যবহার করেন তবে amd64 লিংকে ক্লিক করতে হবে। অবাক হচ্ছেন কি? এ.এম.ডি কেন? আমার প্রসেসর তো ইন্টেলের। তাহলে শুনুন কাহিনী- বাজারে প্রথম ডুয়াল কোরের প্রসেসরটি আনার কৃতিত্ব হচ্ছে এ.এম.ডি (এডভান্স মাইক্রো ডিভাইস) কোম্পানির। এজন্য লিনাক্স কার্নেল ডেভেলপারগন এএমডির নামেই মাল্টিকোর প্রসেসর এর কার্নেলকে চিহ্নিত করেন। একইভাবে লিনাক্স বাদে আরেকটি কার্নেল এর সাপোর্ট ডেবিয়ান দেয়া শুরু করেছে যেটি হচ্ছে – ফ্রিবিএসডি অপারেটিং সিস্টেম এর কার্নেল(kfreebsd)। এটি ও এখন i386 এবং amd64 দুটি প্রসেসর আর্কিটেকচারের জন্য পাওয়া যাচ্ছে। বাকি আর্কিটেকচার গুলি অন্য ধরনের প্রসেসর এর জন্য যেগুলি আমাদের দেশে তেমন প্রচলিত নয়। যেমন- ম্যাক এর জন্য powerpc, সান প্রসেসর এর জন্য sparc ইত্যাদি।

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

এখন চিন্তা করে দেখুন- ১২ টি আর্কিটেকচারের জন্য আলাদা ভাবে ২৯০০০ প্যাকেজ কম্পাইল করে তাদের সিডি/ডিভিডি ফরম্যাটে আই.এস.ও তৈরী করা এবং আপলোড করা – কি বিশাল ব্যাপার তাই না? এজন্যই ডেবিয়ানকে ইউনিভার্স্যাল ও.এস বলা হয়ে থাকে। হাতের মোবাইল ডিভাইসটি থেকে শুরু করে পামটপ, ল্যাপটপ, ট্যাবলেট, মেইনফ্রেম, নেটবুক, সুপার কম্পিউটার কোথায় চলে না ডেবিয়ান। নাসার মত প্রতিষ্ঠানও ডেবিয়ান ব্যবহার করে থাকে।

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

If you can’t apt-get something, it isn’t useful or doesn’t exist

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

অনেক কথা বলে ফেললাম। এবার কাজের কথায় আসি।

উপরের লিংক থেকে আপনার কাঙ্খিত আর্কিটেকচার যেমন – i386 এ ক্লিক করুন। তারপর সিডি হলে দেখবেন ৫২ টি সিডির লিংক দেয়া আছে এবং ডিভিডি তে ক্লিক করলে দেখবেন ৮টি ডিভিডির লিংক। এত সিডি/ডিভিডি দেখে ঘাবড়ানোর কিছু নেই। আপনার জন্য প্রথম সিডি/ডিভিডি যথেষ্ট। এটি থেকেই পুরো ও.এস ইনস্টল করতে পারবেন। বাকি প্যাকেজগুলি প্রয়োজন মত নেটে কানেকশন নিয়ে নামিয়ে নিলেই হল। প্রথম সিডিকে উবুন্টু এর সিডি মনে করতে পারেন। উবুন্টু ইনস্টলের পর যেমন বাকী প্যাকেজ নেট থেকে নামিয়ে নিতে হয় সফটওয়্যার সেন্টার থেকে তেমনই ডেবিয়ানে সিনাপ্টিক প্যাকেজ ম্যানেজার দিয়ে নামাতে হয় অতিরিক্ত প্রয়োজনীয় প্যাকেজ যেমন- এপাচি, মাইএসকিউএল, ভিএলসি প্লেয়ার ইত্যাদি।

সরাসরি সিডি/ডিভিডি নামানোর আলোচনা এখানেই আপাতত শেষ। বিটটরেন্ট প্রটোকল দিয়ে নামানোর পদ্ধতিও একটু ভিন্ন হলেও পদ্ধতি উপরের মতই। বিটটরেন্ট এর ফাইলটি টরেন্ট ক্লায়েন্টকে (ktorrent, utorrent) দেখিয়ে দিলেই নামাতে শুরু করবে।

এজন্য http://www.debian.org/distrib/ লিংকে গিয়ে BitTorrent, এ ক্লিক করে আগের মতই কাজ করুন।

এবার শেষ পদ্ধতি অর্থাৎ Jigdo নিয়ে আলোচনা করতে চাই। যেটি এ প্রবন্ধের মূল উদ্দেশ্য। এজন্য আগে কিছু কথা আলোচনা করে নিই।

উপরের দুটি পদ্ধতিতে আই.এস.ও নামানোর পর ডেবিয়ান যখন ছোট ছোট প্যাচ দিয়ে নতুন ভার্সনের আই.এস.ও ছাড়ে তখন উক্ত ভার্সন পাওয়ার জন্য আপনাকে পুরো আই.এস.ও টি ডাউনলোড করতে হয়। যেমন এখন ডেবিয়ানের ভার্সন নম্বর হচ্ছে ৬.০। যদি দু’সপ্তাহ পরে ৬.০.১ ছাড়া হয় এবং আপনার ডিভিডির ডাউনলোড শেষ না হলে মাথায় হাত। আবার প্রথম থেকে ডাউনলোড দিতে হবে।

এছাড়াও ধরুন আপনি ডিভিডি নামিয়েছেন এখন তা থেকে একটি সিডি তৈরী করতে চান আপনার বন্ধুর জন্য। যেহেতু তার ডিভিডি রম নেই। এখানেও আবার পুরো আই.এস.ও টি নামাতে হবে।

উপরের সমস্যাগুলি থেকে পরিত্রান পাওয়ার জন্য Jigdo এর আবির্ভাব। Jigdo আপনার ফাইলগুলিকে আলাদাভাবে ডাউনলোড করে একটি টেম্পরারি আই.এস.ও ফাইল তৈরী করে। পুরো ডাউনলোড শেষ হলে এটি পরিপূর্ন আই.এস.ও তে রূপান্তরিত হয়। কোন কারনে নতুন ভার্সন আসলেও সমস্যা নেই। পুরনো আই.এস.ও ফাইলটি/টেম্পরারি আই.এস.ও ফাইলটিকে Magic Disk এর মত সফটওয়্যার দিয়ে মাউন্ট করে নিন যদি উইন্ডোজ ব্যবহার করে থাকেন। আর লিনাক্সে মাউন্ট করা তো অনেক সোজা।

কমান্ড দিনঃ

$ mount /cdrom
# mount -o loop woody-i386-1.iso /mnt

তারপর Jigdo চালু করে উক্ত পাথ দেখিয়ে দিন। ব্যস বাকী কাজ Jigdo নিজে থেকেই করে নেবে।

এখন আসুন Jigdo দিয়ে শুরু করি। প্রথমেই http://www.debian.org/distrib/ লিংক থেকে Jigdo এর উপর ক্লিক করুন। তারপর প্রসেসর আর্কিটেকচারের উপর ক্লিক করুন। এবার উক্ত পেজ থেকে নিচের লিংকের মত ফাইল দুটি ডাউনলোড করুন।

debian-6.0.0-i386-DVD-1.jigdo
debian-6.0.0-i386-DVD-1.template

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

Jigdo লিনাক্স থেকে ইনস্টলের জন্য কমান্ড দিনঃ

apt-get install jigdo-file

http://atterer.org/jigdo/ লিংক থেকে উইন্ডোজের জন্য জিপ ফাইলটি নামিয়ে আনজিপ করে নিন। তারপর উক্ত ফোল্ডারে debian-6.0.0-i386-DVD-1.jigdo ও debian-6.0.0-i386-DVD-1.template ফাইল দুটি রাখুন।

লিনাক্সে কমান্ড দিন উক্ত ফোল্ডারে ঢুকে-
jigdo-lite debian-6.0.0-i386-DVD-1.jigdo

আর উইন্ডোজে উক্ত ফোল্ডারের jigdo-lite ব্যাচ ফাইলটিতে ডাবল ক্লিক করুন।

এবার আগের কোন সিডি/ডিভিডি থাকলে তা মাউন্ট করে তার পাথ (/mnt) দেখিয়ে দিন। তারপর এন্টার চাপুন।

Jigdo আপনার /etc/apt/sources.list ফাইল থেকে সার্ভার খুজে নেয়। যদি ম্যানুয়ালি সার্ভার দেখিয়ে দিতে চান তবে উইন্ডোজে jigdo-lite-settings ফাইলটি খুলুন। আর লিনাক্সে ~/.jigdo-lite এ ফাইলটি খুলুন।

এবার উক্ত ফাইলে নিচের দুটি লাইন মডিফাই করুন।
debianMirror=’http://ftp.us.debian.org/debian/’
nonusMirror=’http://mirrors.ispros.com.bd/debian/’

এখানে আমার ব্যবহৃত মিরর দুটির ঠিকানা দিলাম। একটি ইউ.এস এর এবং আরেকটি বাংলাদেশের।

তারপর আবার ডাউনলোড শুরুর জন্য আগের মত কমান্ড দিন বা ব্যাচ ফাইলের উপর ডাবল ক্লিক করুন। উইন্ডোজে প্রথমবার ব্যাচ ফাইলে ক্লিক করলে আপনার debian-6.0.0-i386-DVD-1.jigdo ফাইলের পাথ যেমনঃ g:\jigdo\debian-6.0.0-i386-DVD-1.jigdo দিতে হবে। একবার দিলেই সেটি jigdo-lite-settings ফাইলে সেভ হয়ে যাবে। ভুল হলে jigdo-lite-settings/ ~/.jigdo-lite ফাইলে ঢুকে পাথ পরিবর্তন করুন এবং jigdo পূনরায় চালু করুন।

jigdo=’G:\jigdo\debian-6.0.0-i386-DVD-1.jigdo’

প্রক্সি দিয়ে ডাউনলোড করতে চাইলে jigdo-lite-settings/ ~/.jigdo-lite ফাইলে ঢুকে নিচের লাইনের মত পরিবর্তন করুন।

wgetOpts=’–passive-ftp –dot-style=mega –continue –timeout=30 -e ftp_proxy=http://192.168.2.3:8080/ -e http_proxy=http://192.168.2.3:8080′

এখানে আমি এফটিপি প্রক্সি ও এইচটিটিপি প্রক্সি এর এড্রেস এবং পোর্ট নম্বর দিয়েছি।

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

debian-6.0.0-i386-CD-1.jigdo
debian-6.0.0-i386-CD-1.template

তাহলে jigdo নিজেই ডিভিডি-র আইএসও থেকে প্রয়োজনীয় ফাইল নিয়ে সিডির আই.এস.ও তৈরী করে ফেলবে। :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 ফাইলটি কপি করে দিন। ব্যস আপনার প্রজেক্ট তৈরী শেষ। এবার পেনড্রাইভ উইন্ডোজ মেশিনে নিয়ে কিরাইক্স চালু করলেই নতুন ডিস্ট্রো লিস্টে পেয়ে যাবেন।

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

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

  • এ্যাপ্লিকেশন বা প্রোগ্রামসমূহের স্টার্ট আপ স্পিড বাড়ানো

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

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

ইনস্টল করার জন্য কমান্ড:
# apt-get install preload

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

  • অ্যাপ্লিকেশনসহ মেশিনের সামগ্রিক পারফর্ম্যান্স বাড়ানো

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

“আমি জোর দিয়ে বলতে পারি না যে, এটি বাস্তবে ঠিক কতটা প্রয়োজনীয়। atime (access time) আপডেট করার ব্যাপারটি লিনাক্স অপারেটিং সিস্টেমের পারফর্ম্যান্সে বর্তমান সময়ে সবচেয়ে বেশী ঘাটতি তৈরী করে থাকে। atime আপডেট বন্ধ করে দিয়ে আমরা লিনাক্সের পারফর্ম্যান্স গত ১০ বছরে সব ধরনের পেজক্যাশ স্পিড বাড়ানোর ফলে যে স্পিড বেড়েছে তার থেকেও বেশী বাড়াতে পারি।

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

তবে এ সমস্যার সমাধান আমরা খুব সহজেই করতে পারি ছোট একটি টিপস ব্যবহার করে। এজন্য /etc/fstab ফাইলে সামান্য একটু এডিট করে আপনাকে noatime অথবা relatime ফ্ল্যাগ যুক্ত করে দিলেই চলবে। যদি আপনি noatime ব্যবহার করেন তাহলে nodiratime ব্যবহারের কোন প্রয়োজন নেই। অবশ্য অনেকেই এটি করে থাকেন এবং পরামর্শ ও দিয়ে থাকেন কিন্তু nodiratime আদতেই noatime এর একটি সাবসেট অর্থাৎ noatime কমান্ডের ভিতর nodiratime এর সকল ফিচার বিদ্যমান।

উদাহরনঃ

/etc/fstab ফাইলে নিচের কোডটি পরিবর্তন করে

/dev/sda1 / ext3 defaults,errors=remount-ro 0 1
/dev/sda3 /home ext3 defaults 0 2

তার বদলে দিন নিচের কোডটি

/dev/sda1 / ext3 defaults,noatime,errors=remount-ro 0 1
/dev/sda3 /home ext3 defaults,noatime 0 2

তারপর ফাইলটি সেভ করুন ও সবার শেষে রিস্টার্ট দিন। এবার হার্ডডিস্কের ফোল্ডারগুলিতে একসেস করুন ও পরিবর্তন লক্ষ্য করুন।

  • মেশিনের পারফর্ম্যান্স বাড়ানোর আরো কিছু টিপস

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

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

এ সমস্যার সমাধান দু’ভাবে করা যেতে পারে।

প্রথমতঃ কার্নেলের পেজিং বিহেভিয়ার পরিবর্তনের মাধ্যমে। এটি /etc/sysctl.conf এ সামান্য পরিবর্তনের মাধ্যমে এবং vm.swappiness এর জন্য একটি ভ্যালু বাড়িয়ে করা হয়ে থাকে। আমরা ০(শূন্য) এবং ১০০(একশত) এর মধ্যে যে কোন একটি মান বেছে নিতে পারি যেখানে ০(শূন্য) বলতে বোঝায় কার্নেল সবকিছুকে RAM এ রাখতে চেষ্টা করে থাকে এবং ডিস্কে ক্যাশ করবে না। ১০০(একশত) বলতে বোঝায় কার্নেল RAM বা মেমোরী ফ্রি করে ডিস্কে ক্যাশ করতে চেষ্টা করবে অব্যাহতভাবে। ডেবিয়ানে ডিফল্ট মান হচ্ছে 60, এটি মোটামুটি ঠিকই আছে কিন্তু কিছুটা রক্ষনশীল। ল্যাপটপ ব্যবহারকারীদেরকে অবশ্যই এখানে কম মান ব্যবহার করা উচিত কারন তাতে কার্নেল সবকিছুকে RAM এ সংরক্ষন করার চেষ্টা করবে যা ব্যাটারীর কর্মক্ষমতা বাড়িয়ে দেয়।

এটি করার জন্য কমান্ড দিনঃ
# echo ‘vm.swappiness=20’ >> /etc/sysctl.conf

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

এটির মান দেয়ার জন্য নিচের কমান্ডটি দিনঃ
# echo ‘vm.vfs_cache_pressure=50’ >> /etc/sysctl.conf

সবশেষে মেশিন রিস্টার্ট দিন। আজ এ পর্যন্তই। ধন্যবাদ সবাইকে।

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

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

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

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

  • প্রয়োজনীয় সফটওয়্যার

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

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

  • বুট স্পিড বাড়ানো

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

আরেক বিষয়- যখন ডেবিয়ান বুট হয় তখন কিছু সার্ভিস (যেমন ফায়ারস্টার্টার) পুনরায় স্টার্ট/স্টপ/স্টার্ট হয়। এর কারন হচ্ছে – এ স্ক্রিপ্টগুলি 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