Showing posts with label Debian Linux Tips and Tricks. Show all posts
Showing posts with label Debian Linux Tips and Tricks. Show all posts

লিনাক্সে মেশিনকে বিভিন্ন মোডে শাডডাউন করা

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

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

Suspend মোডে মেশিনকে ল্যাপটপ ব্যাটারী দিয়ে ১-৩ দিন বা ৫ দিন ও রেখে দেয়া যায় ব্যাটারী ক্ষমতা উপর নির্ভর করে। যেমন আমি নিজেও পরীক্ষা করে দেখেছি Suspend মোডে রেখে ঘন্টাখানেক পর এসেও চার্জ ১০০% পেয়েছি ল্যাপটপে যদিও সে সময় পাওয়ার সাপ্লাই বন্ধ রেখেছিলাম।

এবার আসুন জেনে নিই কোন মোডে কি কাজ হয় ।

Suspend মোডে মেশিনের পুরো স্টেট Ram এ সেভ হয় এবং মেশিনের প্রায় সকল হার্ডওয়্যার এ মোডে বন্ধ থাকে তাই পাওয়ার খুব কম লাগে । Suspend মোডে খুব সামান্য পরিমান ব্যাটারী চার্জ নষ্ট হয় তাই ১//৩ এমনকি ৫ দিন পরও মেশিন চালু করা সম্ভব।

Hibernate মোডে মেশিনের পুরো স্টেট হার্ডডিস্কে সেভ হয় এবং এ অবস্থায় যতদিন পরই মেশিন ওপেন করুন না কেন সে অবস্থায় ফিরে পাবেন । Hibernate অবস্থায় ব্যাটারী চার্জ নষ্ট হয় না।

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

আসুন ডেবিয়ান জিএনইউ/লিনাক্সে কিভাবে এগুলি ব্যবহার করবেন তা দেখি-

এ কমান্ডগুলির জন্য অবশ্যই pm-utils নামক প্যাকেজটি লাগবে । এটি ইনস্টলের কমান্ডঃ
aptitude install pm-utils

ইনস্টল হয়ে গেলে কয়েকটি প্রোগ্রাম চালু করুন একই সাথে। তারপর টার্মিনাল খুলে রুট ইউজার হিসেবে কমান্ড দিনঃ

pm-suspend

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

অন্য দুটি মোডের কমান্ড হচ্ছে-
pm-hibernate
এবং
pm-suspend-hybrid

এগুলিও পরীক্ষা করে দেখতে পারেন এক এক করে। আশা করি এগুলির কাজ বুঝতে পারবেন।

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

রিলিজ হল বহু প্রতিক্ষীত ডেবিয়ান জিএনইউ/লিনাক্স ৭.০ (কোড নেম wheezy)

দীর্ঘ প্রতীক্ষার অবসান ঘটিয়ে গত ৪ মে, ২০১৩ তারিখ ডেবিয়ান জিএনইউ/লিনাক্সের ৭.০ ভার্সন (কোড নেম wheezy) রিলিজ হয়েছে।
এটি একটি স্ট্যাবল ভার্সন এবং কমপক্ষে ২ বছর ধরে এটি সারাবিশ্বে ব্যবহৃত হতে থাকবে আশা করা যায়। কারন ডেবিয়ান নির্দিষ্ট মেয়াদ পর পর ভার্সন রিলিজ দেয় না বরং যখন কমিউনিটি মনে করে একটি স্ট্যাবল ভার্সন প্রস্তুত তখনই তারা রিলিজ দিয়ে থাকে ।
আর এটিই মূলত ডেবিয়ান লিনাক্সের মূল শক্তি যা একে প্রকৃত পক্ষে একটি ইউনিভার্সাল অপারেটিং সিস্টেমে পরিনত করেছে। কোথায় নেই ডেবিয়ান- ডেস্কটপ থেকে নেটবুক, ডেভেলপমেন্ট সার্ভার থেকে ক্লাস্টার সিস্টেম, ডাটা সার্ভার, ওয়েব সার্ভার, স্টোরেজ সার্ভার ইত্যাদি ইত্যাদি। অসম্ভব রিলায়েবল এবং বাগ ফিক্সড হয়ে থাকে এদের একেকটি ভার্সন।
ডেবিয়ান ৭.০ ভার্সনে একটি ইউনিক ফিচার যুক্ত হয়েছে- মাল্টি আর্কিটেকচার সাপোর্ট। ফলে একটি পিসিতে একই সাথে ৩২বিট এবং ৬৪বিটের সফটওয়্যার ইনস্টল করা যাবে এবং ডিপেনডেন্সী সমস্যাগুলি নিজেই সমাধান করে নেবে।
এ ভার্সনে বেশ কিছু সফটওয়্যারের আপডেট ভার্সন দেয়া হয়েছে। উল্লেখযোগ্য কয়েকটি হলঃ
Apache 2.2.22
Asterisk 1.8.13.1
GIMP 2.8.2
an updated version of the GNOME desktop environment 3.4
GNU Compiler Collection 4.7.2
Icedove 10 (an unbranded version of Mozilla Thunderbird)
Iceweasel 10 (an unbranded version of Mozilla Firefox)
KDE Plasma Workspaces and KDE Applications 4.8.4
kFreeBSD kernel 8.3 and 9.0
LibreOffice 3.5.4
Linux 3.2
MySQL 5.5.30
Nagios 3.4.1
OpenJDK 6b27 and 7u3
Perl 5.14.2
PHP 5.4.4
PostgreSQL 9.1
Python 2.7.3 and 3.2.3
Samba 3.6.6
Tomcat 6.0.35 and 7.0.28
Xen Hypervisor 4.1.4
the Xfce 4.8 desktop environment
X.Org 7.7
মোট নয়টি প্রসেসর আর্কিটেকচার সাপোর্ট রয়েছে ডেবিয়ান ৭.০ তে। এগুলি হল-
32-bit PC / Intel IA-32 (i386)
64-bit PC / Intel EM64T / x86-64 (amd64)
Motorola/IBM PowerPC (powerpc)
Sun/Oracle SPARC (sparc)
MIPS (mips (big-endian)
mipsel (little-endian)),
Intel Itanium (ia64),
IBM S/390 (31-bit s390 and 64-bit s390x),
এবং ARM EABI
যা যেকোন ডিস্ট্রিবিউশনের চাইতে বেশী।
বেশ কয়েকটি ডেস্কটপ এনভারোনমেন্ট ডেবিয়ান সাপোর্ট দিয়ে থাকে- কেডিই, গ্নোম, এক্সএফসিই, এলএক্সডিই ইত্যাদি। ডিফল্ট ডেস্কটপ হিসেবে বরাবরের মতই গ্নোম দেয়া হয়েছে ডেবিয়ানের সাথে যা প্রথম সিডি/ডিভিডি ডাউনলোড করলেই পাবেন।
লিনাক্স মিন্ট, উবুন্টু, কুবুন্ট, জুবুন্টু, লুবুন্টু, নপিক্স, পেপারমিন্ট, মেপিস, পারদুস, জোরিন, স্নোলিনাক্স, সোলাস ওএস, ইলাইভ, বোধি লিনাক্স, এপটুসিড সহ প্রায় ২৫০ এর ও বেশী ডিস্ট্রো-র ভিত্তি হিসেবে ডেবিয়ান কাজ করে থাকে । ডেবিয়ান এর মূল চালিকা শক্তি এর শক্তিশালী কমিউনিটি । ডেবিয়ান প্রজেক্ট লিডার এর সদস্যদের ভোটের মাধ্যমে নির্দিষ্ট সময়ের জন্য নির্বাচিত হন। তাই ডেবিয়ান সত্যিকারের ওপেন সোর্সের স্বাদ দিয়ে থাকে। এটি উবুন্টু বা রেড হ্যাটের মত কমার্শিয়াল হওয়ার সম্ভাবনাও নেই। তাই যত বেশী ডেবিয়ানকে আমরা ছড়িয়ে দিতে পারবো ততই আমাদের দেশের জন্য তা সম্ভাবনা বয়ে নিয়ে আসবে। এছাড়া ডেবিয়ানকে ভিত্তি করে আমরা নিজেদের জন্য কাস্টম কোন ডিস্ট্রো বানিয়ে নিতে পারি যা লিনাক্সের ভিত্তিকে আরো মজবুত করবে আমাদের দেশে।
বর্তমানে ডেবিয়ান লিনাক্সের লাইভ সিডি প্রজেক্ট রয়েছে যা উবুন্টু বা মিন্টের মতই ব্যবহার করা যায় এবং তা থেকে মেশিনে ইনস্টল ও করা যায়। এর জন্য দেখুন http://live.debian.net/cdimage/release/ … so-hybrid/
প্রথম ডিভিডিটি ডাউনলোড করা যথেষ্ট । এতে মোটামুটি সব ধরনের ব্যবহারিক প্রয়োজনীয় সফট দেয়া আছে। আর অতিরিক্ত সফট এর জন্য প্যাকেজ ম্যানেজার তো আছেই।
মূল ইনস্টলেশন ডিভিডি ডাউনলোডের জন্য দেখুন - http://cdimage.debian.org/debian-cd/7.0.0/i386/iso-dvd/
যদিও এ লিংকে অনেকগুলি ইমেজ দেয়া আছে তবে ইনস্টল/চালিয়ে দেখার জন্য প্রথম সিডি/ডিভিডি যথেষ্ট। বাকিগুলি রিপোজিটরী সিডি হিসেবে দেয়া হয়।
চালিয়ে দেখুন । ভাল লাগলে ইনস্টল করে দেখতে পারেন । আর সমস্যায় পড়লে এ থ্রেডে জানান । আশা করি ফোরামের অনেকেই সাহায্য করতে পারবেন ।

ডেবিয়ান লিনাক্সে কমান্ড লাইনে রিমোট এডমিনিস্ট্রেশন করা

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

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

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

সিকিউরিটিকে ভালনারেবল করে তুলতে পারে। কমান্ড মোড তাই অনেক ক্ষেত্রে বেশী কার্যকর।

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

কমান্ডঃ

apt-get install ssh

ssh হল কোন রিমোট মেশিনে শেল মোডে লগইন করা এবং উক্ত মেশিনে কমান্ড চালানোর জন্য বিশেষ প্রোগ্রাম। এটি সিকিউরড এবং RSA Key নির্ভর। অর্থাৎ প্রথমবার কোন রিমোট মেশিনে লগইন করার সময় আপনার মেশিনে একটি কি-জেনারেট করবে যা রিমোট লগইন সেশনের সময় ডাটা ইনক্রিপ্ট করার জন্য দু'মেশিনের মাঝে যোগসূত্র হিসেবে কাজ করে থাকে। তাই এটি অনেক নিরাপদ।

ssh ইনস্টল শেষ হলে রিমোট মেশিনে লগইন করার জন্য কমান্ড দিনঃ

ssh user@host_machine_name/ip_address

Example: ssh root@192.168.0.1

এরপর RSA Key Fingerprint দেখাবে। এখানে Yes/Y লিখে এন্টার দিন। তারপর পাসওয়ার্ড দিন। এটি রিমোট মেশিনে সেটআপকৃত ব্যবহারকারীর  পাসওয়ার্ড। আপনার নিজের মেশিনের পাসওয়ার্ড নয়।

পাসওয়ার্ড সঠিক হলে প্রম্পট দেখাবে। এখানে লিনাক্সের যে কোন কমান্ড ব্যবহার করতে পারেন।

যদি উইন্ডোজ মেশিন থেকে লিনাক্স মেশিনে লগইন করতে চান তবে Putty নামক সফটওয়্যারটি ডাউনলোড করে ইনস্টল করে নিন। এটি লিনাক্স মেশিনেও ব্যবহার করা যায়। তবে লিনাক্সে শেল প্রোগ্রাম থাকায় তার দরকার নেই।

Putty চালু করে Host Name এর বক্সে Machine_name or IP Address দিন। Port 22 রাখুন। তারপর Open বাটনে ক্লিক করুন।

login as: এর সামনে username লিখে এন্টার দিন।

আগের মতই পাসওয়ার্ড দিন। তারপর লিনাক্সের যে কোন কমান্ড দিন আপনার মেশিন থেকে।

ডেবিয়ান লিনাক্সে রিমোট ডেস্কটপ শেয়ারিং

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

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

এক. সার্ভার প্রোগ্রাম যেমন- vnc server, x11vnc ইত্যাদি
দুই . ক্লায়েন্ট প্রোগ্রাম যেমন – vnc viewer, tightvnc viewer ইত্যাদি

প্রথম প্রোগ্রামটি যে ডেস্কটপ শেয়ার করা হবে তাতে ইনস্টল করে ব্যাকগ্রাউন্ডে চালু রাখতে হবে।

দ্বিতীয় প্রোগ্রামটি যে মেশিন থেকে রিমোট ডেস্কটপটি দেখতে চান সেখানে ইনস্টল করতে হবে।

এবার আসুন দেখি লিনাক্সে কি কি প্রোগ্রাম রয়েছে ডেস্কটপ শেয়ারিং এর জন্য।

প্রতিটি ব্যবহারকারীর আলাদা সেশন প্রদানের সুবিধা দিয়ে থাকে vncserver। এটিতে আপনি সরাসরি কোন ব্যবহারকারীকে সাহায্য করতে পারবেন না। প্রত্যেক ব্যবহারকারী আলাদা ডেস্কটপ এনভারোনমেন্ট পাবেন কাজের জন্য।

আর সরাসরি অন্য মেশিনে লগইন থাকা ব্যবহারকারীর ডেস্কটপ শেয়ারিং এর জন্য প্রয়োজন হবে x11vnc

প্রথমে তাই আমরা x11vnc ব্যবহারের পদ্ধতি দেখবো যাতে অন্যকে রিয়েল টাইমে সাহায্য করা যায়।

x11vnc ইনস্টলের জন্য কমান্ড দিন-

apt-get install x11vnc

ইনস্টল শেষ হওয়ার জন্য টার্মিনালে কমান্ড দিনঃ

x11vnc -many &

উক্ত কমান্ড দিলে x11vnc ব্যাকগ্রাউন্ডে রান করবে এবং অন্য মেশিন থেকে tightvnc viewer দিয়ে বা Real VNC Viewer দিয়ে ডেস্কটপ দেখা যাবে।

vnc viewer ইনস্টলের জন্য কমান্ড দিনঃ
apt-get install xvncviewer or xvnc4viewer

তারপর প্রোগ্রাম মেনু থেকে vnc viewer চালু করুন অথবা শেল প্রম্পটে লিখুন – vncviewer

এবার server: এর সামনে লিখুন যে মেশিনে ঢুকতে চান তার IP Address (192.168.0.1)

উপরের নিয়মে প্রতিবার মেশিন চালুর পর x11vnc -many & কমান্ডটি দিয়ে সার্ভার চালু করতে হবে। যদি মেশিন বুটের সময় x11vnc স্বয়ংক্রিয়ভাবে চালু করতে চান তবে /etc/gdm/Init/Default ফাইলের শেষে (অবশ্যই exit(0) এর আগে) নিচের লাইনটি যোগ করুন ।

কমান্ডঃ
sudo gedit/vi /etc/gdm/Init/Default
/usr/bin/x11vnc -ultrafilexfer -rfbversion 3.7 -bg -reopen -forever

-ultrafilexfer -rfbversion 3.7 – এই দুটি অপশন এনাবল করা হয়েছে যাতে Ultravnc Viewer এর মাধ্যমে ফাইল কপি করা যায় এক মেশিন থেকে অন্য মেশিনে। এ দুটি অপশন বাদ দিতে পারেন যদি ফাইল ট্রান্সফার সুবিধা দরকার না হয়।

etc/gdm/Init/Default ফাইলটি ডিসপ্লে ম্যানেজার (kdm/gdm/xdm/cde) ভেদে পরিবর্তিত হয়। যেমনঃ

GDM (GNOME)     এর ক্ষেত্রে /etc/X11/gdm/Init/Default অথবা /etc/gdm/Init/Default
     KDM (KDE)    এর ক্ষেত্রে /etc/kde*/kdm/Xsetup
     XDM          এর ক্ষেত্রে /etc/X11/xdm/Xsetup (or sometimes xdm/Xsetup_0)
     CDE          এর ক্ষেত্রে /etc/dt/config/Xsetup
x11vnc প্রোগ্রামের পর এবার আমরা VNC Server এর ব্যবহার দেখব। এটি প্রতিটি ব্যবহারকারীকে আলাদা ডেস্কটপ সেশন প্রদান করে থাকে।

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

apt-get install vncserver

প্রথমবার পাসওয়ার্ড সেট করার জন্য রান করুন-
vncpassword
আপনার পাসওয়ার্ড দিন। এটি পাসওয়ার্ডকে ~/.vnc/passwd ফাইলে সেভ করবে।
নতুন সার্ভার চালুর জন্য কমান্ড দিনঃ
vncserver
এর ফলে নতুন সার্ভার চালু হবে এবং এর ডেস্কটপ ১ নম্বর দিয়ে শুরু হবে। যেহেতু একই সময়ে একাধিক vnc সার্ভার থাকতে পারে তাই এ নম্বরটি যথেষ্ট গুরুত্বপূর্ন। যখন আপনি সার্ভারে কানেক্ট করতে চাইবেন তখন এ নম্বরটি জানা থাকতে হবে। ডেস্কটপ নম্বর এরপর বাড়তে থাকবে ১,,.. এরকম । প্রথম সার্ভার চালু করলে সেটি চিহ্নিত হবে machine:1, পরেরটি হবে machine:2 ইত্যাদি।
এবার প্রোগ্রামস মেনু থেকে vnc viewer চালু করে মেশিনের এড্রেস হিসেবে machine:1 দিলে কানেক্ট হতে পারবেন।


নিচের অংশটুকু জেনে রাখার জন্য -
মূল VNC প্রোগ্রামটি একটি ইউনিভার্সিটির ল্যাব প্রজেক্ট ছিল যা পরবর্তীতে কয়েকটি শাখায় বিভক্ত হয়ে যায়।
  • TightVnc – একটি উন্নতমানের কমপ্রেশানযুক্ত সংস্করন
  • TridiaVnc – মূল Vnc এর আরেকটি শাখা
  • RealVNC – এটিই হচ্ছে মূল vnc প্রোগ্রামারের সংস্করন

আজ এ পর্যন্তই। সবাই ভাল থাকুন সে কামনায় শেষ করছি।

ডেবিয়ান লিনাক্স ডাউনলোডে ব্যবহার করুন 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