ডেবিয়ান লিনাক্সে প্যাকেজ ম্যানেজমেন্ট এর ইতিবৃত্ত

ডেবিয়ান লিনাক্সে প্যাকেজ ইনস্টলের এর জন্য যে ফাইলগুলি ব্যবহৃত হয় তার এক্সটেনশন হচ্ছে .deb। উইন্ডোজে যেমন আমরা .exe ফাইলের উপর ডাবল ক্লিক করে সফটওয়্যার ইনস্টল করি ডেবিয়ান ভিত্তিক লিনাক্সে তেমন পদ্ধতির বদলে apt-get, aptitude অথবা synaptic নামক গ্রাফিক্যাল টুলস ব্যবহার করা হয়। প্রথম দুটি হচ্ছে কমান্ড লাইন ভিত্তিক এবং সিনাপ্টিক মাউস দিয়ে ব্যবহার করা যায়। এ ধরনের টুলস ব্যবহার করতে হলে ডেবিয়ান প্যাকেজগুলি আগে থেকেই নির্দিষ্ট স্থানে যেমন-সিডি, ডিভিডি, ইন্টারনেট এর এফটিপি সার্ভার বা কোন লোকাল ফোল্ডারে থাকতে হবে। তারপর ইনস্টল করা যাবে এ ধরনের টুলসের সাহায্যে।

তবে সরাসরি ডেব প্যাকেজ ইনস্টলের জন্য আরেকটি কমান্ড ব্যবহার করা যায় - dpkg কমান্ড। তবে এর সীমাবদ্ধতা হচ্ছে এটি ডিপেনডেন্সী ফাইলগুলিকে স্বয়ংক্রিয়ভাবে ইনস্টল করতে পারে না। হয় আগে থেকেই ডিপেনডেন্সী ফাইলগুলি মেশিনে ইনস্টল করা থাকতে হবে নতুবা উক্ত ফোল্ডারে সব ডিপেনডেন্সী ফাইল কপি করে সব ডেব ফাইলগুলিকে dpkg –i *.deb কমান্ডের সাহায্যে একসাথে ইনস্টল করতে হবে। এটি বেশ ঝামেলার কাজ হয়ে দাড়ায় যদি ইন্টারনেট কানেকশন না থাকে। এজন্য আমি আগের কয়েকটি পোস্টে অফলাইন ইনস্টলার তৈরীর পদ্ধতি আলোচনা করেছি। এজন্য দেখুন-

১. লিনাক্সে নির্দিষ্ট প্যাকেজের অফলাইন ইনস্টলার তৈরী করা
২. উইন্ডোজ মেশিন থেকে লিনাক্স প্রোগ্রামের অফলাইন ইনস্টলার তৈরী

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

লোকাল রিপোজিটরী তৈরী করতে হলে apt-get/aptitude কমান্ডগুলি কিভাবে কাজ করে থাকে সে সম্বন্ধে একটি স্বচ্ছ ধারনা প্রয়োজন। আসুন প্রথমেই আমরা সে উদ্দেশ্য কে সামনে রেখে এগিয়ে যাই।

নতুন ইনস্টলড মেশিনের সফটওয়্যার লিস্ট

কোন মেশিনে লিনাক্স নতুন ইনস্টল করার পর সিনাপ্টিকে যে সফটওয়্যারগুলির তালিকা থাকে সেগুলি সাধারনতঃ সিডি/ইন্টারনেট থেকে ইনস্টল করা যায়। যদি ইন্টারনেট না থাকে তবে শুধুমাত্র সিডিতে যে সফটওয়্যারগুলি থাকে সেগুলিই ইনস্টল করতে পারবেন। বাকীগুলি ইনস্টল করার সময় নেট কানেকশন না থাকলে এরর দেখাবে। এখন নতুন কোন সিডি যদি সিনাপ্টিকে যোগ করতে চান মেনুর সাহায্যে (Edit --> Add CD ROM) অথবা কমান্ড লাইনের apt-cdrom add এর সাহায্যে তাহলে প্রথমেই উক্ত সিডির একটি বিশেষ ফাইল - Packages.gz যা সাধারনত কোন সিডির \dists\lenny\main\binary-i386\Packages এ ধরনের পাথে থাকে তাকে প্রথমে খুজে বের করবে। তারপর উক্ত ফাইলের সাহায্যে নতুন সফটওয়্যার লিস্ট তালিকায় যুক্ত করবে। এ Packages.gz ফাইলটি সব থেকে গুরুত্বপূর্ন টুলস সিনাপ্টিকের জন্য। এটি আনজিপ করে কোন টেক্সট এডিটরে ওপেন করলে সবকিছু দেখতে পারবেন। এ ফাইলে প্যাকেজসমূহের তালিকা, বর্ননা, ভার্সন নম্বর, কোন পাথ থেকে ইনস্টল করা হবে তার নির্দেশনা, MD5 চেক করা, ডিপেনডেন্সির তালিকাসহ যা প্রয়োজন তার সবই থাকে। আপনি নিজে যদি কোন লোকাল রিপোজিটরী বানাতে চান তাহলে আপনার নিজস্ব ফোল্ডারে যে ডেব ফাইলগুলি থাকবে তার জন্য একটি আলাদা Packages.gz ফাইল তৈরি করে নিতে হবে। এটি শুনে ঘাবড়ানোর কিছু নেই। ডেবিয়ান নির্ভর লিনাক্সে dpkg-scanpackages কমান্ডের সাহায্যে স্বয়ংক্রিয়ভাবে এ ফাইলটি তৈরী করা যায়। এটি তৈরী হয়ে যাওয়ার পর /etc/apt/sources.list ফাইলে আপনার লোকাল রিপোজিটরী ফোল্ডারটিকে যুক্ত করে apt-get update কমান্ড চালালেই উক্ত Packages.gz ফাইলে নতুন সফটওয়্যার তালিকা আপনার মেশিনের সিনাপ্টিকে যুক্ত হয়ে যাবে। তারপর উক্ত সফটওয়্যারগুলিকে ক্লিক এন্ড গো এর মাধ্যমেই লোকাল ফোল্ডার/রিপোজিটরী থেকে ইনস্টল করতে পারবেন।

তাহলে উপরের আলোচনা থেকে লোকাল রিপোজিটরী তৈরীর যে পদ্ধতি আমরা শিখলাম তা হলঃ

১. প্রথমেই একটি ফোল্ডারে আপনার প্রয়োজনীয় সব ডেব ফাইলগুলিকে কপি করে নিন। এটি হোম ফোল্ডারের আন্ডারে যেকোন একটি ফোল্ডার তৈরী করেও করা যেতে পারেন। যেমনঃ /home/username/local_repo

২. এবার dpkg-scanpackages কমান্ড দিয়ে Packages.gz ফাইলটি উক্ত ফোল্ডারেই তৈরী করে নিন।

৩. Packages.gz তৈরী হয়ে যাওয়ার পর /etc/apt/sources.list ফাইলে /home/username/local_repo ফাইলটির পাথ যুক্ত করুন।

৪. সবার শেষে তালিকা আপডেট করার জন্য কমান্ড দিনঃ apt-get update

ব্যস আপনার লোকাল সফটওয়্যার লিস্ট যুক্ত হয়ে যাবে সিনাপ্টিকে।

আসুন আমরা উপরের বর্নিত পদ্ধতিতে একটি ছোট্ট রিপো তৈরি করে ফেলি।

কমান্ডঃ
mkdir /home/your_name/my_repo
cp /source_path/*.deb /home/your_name/my_repo
cd /home/your_name/my_repo
dpkg-scanpackages /home/your_name/my_repo /dev/null | gzip -9c > Packages.gz
echo "deb file:/home/your_name/my_repo ./" >> /etc/apt/sources.list
apt-get update


(যদি dpkg-scanpackages কমান্ড না দিতে পারেন তবে কয়েকটি প্যাকেজ ইনস্টল করে নিন

apt-get install dpkg-dev build-essential

কমান্ডের সাহায্যে)

এ ধরনের রিপো তৈরী করে তা বিতরন করা বেশী সুবিধাজনক। কারন সে ক্ষেত্রে যিনি এ রিপো ব্যবহার করবেন তাকে সব প্যাকেজ ইনস্টল করতে হবে না। শুধুমাত্র যেটি প্রয়োজন সেটিই ইনস্টল করতে পারবেন। অন্যান্য অফলাইন ইনস্টলার এর ক্ষেত্রে dpkg –i *.deb কমান্ডের সাহায্যে সব ধরনের সফটওয়্যার ইনস্টল করতে হয় যা অনেক সময় প্রয়োজন হয় না। এছাড়াও এ ধরনের ডেব প্যাকেজগুলি এক সাথে কপি করে একটি সিডির সাহায্যেও বিতরন করা যেতে পারে। সিডিতে পছন্দের প্যাকেজগুলি একসাথে রাখা এবং ব্যবহার করা সম্ভব। কিন্তু ডিস্ট্রোর নিজস্ব রিপো সিডি ব্যবহার করলে তা সম্ভব হয়ে ওঠে না।

ল্যান নেটওয়ার্কে লোকাল রিপোজিটরী তৈরী ও ব্যবহার করা

উপরে বর্নিত পদ্ধতিতে এবার আমরা ল্যান নেটওয়ার্কের একটি মেশিনকে সবার জন্য রিপোজিটরী হিসেবে কিভাবে ব্যবহার করবো তা দেখবো। কমান্ড আগের মতই তবে apache web server ইনস্টল করা থাকতে হবে মূল সার্ভারে।

কমান্ডঃ
cd /var/www
mkdir debian
mkdir /debian/binary
cp /source_path/*.deb /var/www/debian/binary
cd debian
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz

echo "deb http://192.168.0.1/debian/binary ./" >> /etc/apt/sources.list
apt-get update
শেষ দু’লাইন ল্যানের যেকোন ক্লায়েন্ট মেশিনে প্রয়োগ করতে হবে। তাহলে উক্ত মেশিনে আপনার রিপোজিটরী কাজ করতে পারবে।

উইন্ডোজ ভিত্তিক নেটওয়ার্কে লিনাক্স প্রবর্তন -(সাম্বা)

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

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

আধুনিক কাস্টোমাইজড ডিস্ট্রোগুলিতে সাম্বা সাধারনত ইনস্টল করা থাকে। এটি ইনস্টল করা আছে কিনা তা জানার জন্য কমান্ড দিনঃ

apt-cache search samba

এ কমান্ডটি দিলে একটি লম্বা লিস্ট দেখতে পাবেন। তবে ঘাবড়ানোর কিছু নেই। apt যেহেতু ডিপেনডেন্সী নিজেই মেইনটেইন করে থাকে তাই সাম্বা ইনস্টলের জন্য শুধুমাত্র samba প্যাকেজটি ইনস্টল করাই যথেষ্ট। অন্যান্য প্যাকেজ যেমন samba-common নিজে থেকেই ইনস্টল হয়ে যাবে। তাহলে সাম্বা ইনস্টলের জন্য কমান্ডটি হবে নিম্নরূপঃ

apt-get install samba

সাম্বাকে ডেমন হিসেবে ব্যাকগ্রাউন্ডে রান করাতে চাইলে সেটির স্ক্রিপ্ট পাওয়া যাবে /etc/init.d/samba- এখানে। সাম্বার জন্য কনফিগারেশন ফাইল পাওয়া যাবে নিচের ডিরেক্টরীতেঃ

/etc/samba

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

smb.conf টিতে মোট ছয়টি সেকশন আছে। প্রতিটি সেকশনের কাজই ভিন্ন ভিন্ন। আসুন এগুলি প্রথমে দেখে নেই।

1. [global] - এ সেকশনে অনেকগুলি সাব-সেকশন আছে যা বিভিন্ন নেটওয়ার্ক রিলেটেড কাজ যেমন- domain/workgroup নাম, WINS, প্রিন্ট শেয়ারিং সেটিংস, অথেনটিকেশন, লগিং এন্ড একাউন্টিং ইত্যাদি করা হয়ে থাকে।
2. [homes] - ব্যবহারকারীর নিজস্ব হোম ডিরেক্টরী/ফোল্ডার শেয়ারিং করে থাকে অন্য মেশিনের সাথে।
3. [netlogon] - এটি সাধারনতঃ কমেন্ট চিহ্নের সাহায্যে বন্ধ করা থাকে যা সাম্বা সার্ভারকে ডোমেইন কন্ট্রোলার হিসেবে সেটআপ করে থাকে।
4. [printers] - লোকাল প্রিন্টার সমূহকে অন্য মেশিনের সাথে শেয়ারিং করার জন্য
5. [print$] - to set up a share for Windows printer drivers
6. [cdrom] - commented out by default, to optionally share the server's CD-ROM drive

প্রত্যেকটি সেকশন কিছু স্টেটমেন্টের সমষ্টি যার ফরম্যাট নিম্নরূপঃ
option = value

একটি সাধারন ফাইল ও প্রিন্ট শেয়ারিং

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


[global]
panic action = /usr/share/samba/panic-action %d
workgroup = BANK
server string = %h server (Samba %v)
hosts allow = 192.168.0. 192.168.1. 192.168.2. 192.168.79. 127. 10.0.0. 10.1.1.
security = share
map to guest = Bad User

;For Printer Sharing
printing = cups
printcap name = cups
printer name = hp_zahid
use client driver = no
;*******************section Homes*****************
[Shared]
path = /home/zahid/Shared
guest ok = yes
read only = no

[Music]
path = /home/zahid/Music
guest ok = yes
read only = no

[homes]
path = /home/zahid
guest ok = yes
comment = Home Directories
read only = no
;*******************section printers*****************
[printers]
comment = All Printers
path = /tmp
printable = yes
guest ok = yes
create mask = 0777
browseable = No

[hp_zahid]
printable = yes
path = /tmp
guest ok = yes
comment = hp_zahid

;************************section other folders****************
[My Documents]
guest ok = yes
path = /mnt/hda5/My Documents/

[Soft]
guest ok = yes
path = /mnt/hda6/Soft
আসুন উপরোক্ত ফাইলটির বিভিন্ন অপশনগুলির কোনটি কি ধরনের কাজ করে থাকে তা আলোচনা করি। এ অপশগুলি ছাড়াও অনেক অপশন রয়েছে যা সবসময় কাজে লাগে না। এজন্য সাম্বার অফিসিয়াল ম্যানুয়াল দেখে নিতে পারেন।

প্রথমেই global সেকশন-

workgroup = BANK - আপনার কম্পিউটার যে নেটওয়ার্কের অধীনে আছে তার ওয়ার্কগ্রুপের (BANK) নাম।
hosts allow - এ অপশনে নেটওয়ার্কের যে সব মেশিন সাম্বা ব্যবহার করতে পারবে তাদের আই.পি নাম্বার এর তালিকা। কোন নির্দিষ্ট মেশিনকে অনুমতি দিতে চাইলে তার আই.পি নম্বর (১৯২.১৬৮.২.৩) দিতে হবে। আর যদি ওয়ার্কগ্রুপের সবাইকে পারমিশন দিতে চান তাহলে উক্ত ওয়ার্কগ্রুপের প্রথম তিনটি অক্টেট নম্বর দিতে হবে (১৯২.১৬৮.২.)। প্রতিটি এন্ট্রির পর একটি স্পেস দিতে হবে।

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

map to guest = bad user সাম্বা যখন পাসওয়ার্ড প্রদান/ অথেনটিকেশন ছাড়া ব্যবহার করা হবে তখন গেস্ট হিসেবে কোন একাউন্ট সিস্টেম ব্যবহার করবে তা এখানে দিয়ে দেয়া হয়।

printing = cups এ অপশনটির সাহায্যে প্রিন্টার হিসেবে সাম্বা কি ব্যবহার করবে তা বলে দেয়া হয়। cups (common unix printing system)বেশীরভাগ লিনাক্সের ক্ষেত্রে প্রিন্টিং এর কাজে ব্যবহৃত হয়।cups ইনস্টল আছে কিনা তা দেখার জন্য ব্রাউজার খুলে এ্যাড্রেস বারে লিখুন- http://localhost:631। যদি সফলভাবে কাপস এর পেজ দেখা যায় তবে এখানে বিভিন্ন কাজ গ্রাফিক্যালি করতে পারবেন। এছাড়াও এখানে bsd ব্যবহার করা যায়।

printcap name = cups এ অপশনটিও প্রিন্টার এর জন্য ব্যবহৃত হয়।

printer name = hp_zahid এখানে যে প্রিন্টার এর নাম থাকবে তা শেয়ারিং এর সময় দেখা যাবে।এ অপশনটি Add Printer Wizard থেকে কোন প্রিন্টার সেটআপ করা হলে তবেই পাওয়া যাবে।

use client driver = no প্রিন্টার ইনস্টলের সময় কোন ড্রাইভার ব্যবহার করবে তা বলে দেয়া হয়। যদি no এর বদলে Yes থাকে তবে প্রিন্টার শেয়ারিং এর সময় প্রিন্টার মেশিন ছাড়া ও অন্য লোকেশন থেকে ড্রাইভার ইনস্টল করা যায়।

এবার আমরা [shared], [music], [home], [My Documents] & [Soft] সেকশনগুলি আলোচনা করবো। এগুলি একেকটি ফোল্ডার শেয়ার এর জন্য ব্যবহৃত হবে।

[home] - ব্রাকেটের মধ্যে যে নাম থাকবে শেয়ারিং এর সময় ফোল্ডার হিসেবে সে নামই দেখা যাবে।
path = /home/zahid - এখানে যে ফোল্ডার শেয়ারিং করবেন তার পাথ/লোকেশন দেয়া থাকে।
guest ok = yes - এ অপশনের সাহায্যে কোন গেস্ট একাউন্ট দিয়ে উক্ত সাম্বা সেট আপের ফাইল, ফোল্ডার ব্যবহার করা যাবে কিনা তা বলে দেয়া হয়।

এবার প্রিন্টার এর জন্য আরো দুটি সাব-সেকশন [printers] এবং [hp_zahid] নিয়ে আলোচনা করবো। প্রিন্টার এর জন্য কয়েকটি অপশন আমরা আগেই [global] সেকশনে দিয়ে এসেছি। বাকীগুলি এ দুটি সেকশনে দেয়া আছে।

Comment = All Printers - শেয়ারিং হিসেবে প্রিন্টার এর লিংকে এ নাম দেখা যাবে।
Path = /tmp - এখানে প্রিন্টার তার টেম্পরারি ফাইল হিসেবে যে ফোল্ডার ব্যবহার করবে তার লোকেশন দেয়া হয়।
Printable = yes - এটি যদি no দেয়া হয় তবে প্রিন্টার দেখা গেলেও তা দিয়ে প্রিন্ট করা যাবে না। তাই শেয়ারিং এর জন্য এটি অবশ্যই yes রাখতে হবে।

Guest ok = yes - এর কাজ আগের ফোল্ডারের বিবরনের মতই।

Browseable = no - এটি no দেয়া থাকলে এক্সপ্লোরারের সাহায্যে প্রিন্টার দেখা যাবে না। তবে শেয়ার করা যাবে।

[hp_zahid] - এ ধরনের আলাদা সেকশন থাকে যদি লোকাল কোন প্রিন্টারকে সুনির্দিষ্টভাবে শেয়ার করার প্রয়োজন হয়। এর কাজও আগের মতই। এ সেকশনটি সাধারনতঃ কোন প্রিন্টার লোকালি ইনস্টল করা হলে স্বয়ংক্রিয়ভাবে কনফিগারেশন ফাইলে যুক্ত হয়ে থাকে। যেমনঃ কেডিইতে Add Printer Wizard এর সাহায্যে কোন প্রিন্টার লিনাক্সে ইনস্টল করা হলে এরকম আলাদা একটি সেকশন যুক্ত হবে।

উপরে আমরা যে কনফিগারেশন ফাইলটি দেখলাম সেটি এডিট করার জন্য ভি-এডিটর বা এ জাতীয় কোন টেক্সট এডিটর ব্যবহার করুন। এর জন্য কমান্ড হবেঃ vi /etc/samba/smb.conf । যদি অন্য কোন এডিটর ব্যবহার করতে চান তবে vi এর স্থলে তার নাম দিন যেমনঃ gedit, kedit etc.। এভাবে একটি লিনাক্স মেশিন থেকে উইন্ডোজ মেশিনে ফোল্ডার ও প্রিন্টার শেয়ারিং করা যায়। উপরের কনফিগারেশন ফাইলটিতে বেশ কয়েকটি ফোল্ডার শেয়ারিং এর জন্য এন্ট্রি আছে। এখানে আপনার প্রয়োজনমত যে কয়টি ফোল্ডার শেয়ার করা দরকার শুধুমাত্র সে কয়টি ফোল্ডার শেয়ার করুন।
সবার শেষে কনফিগারেশন ফাইল এডিট করার পর সাম্বা রি-স্টার্ট করতে হবে যাতে পরিবর্তনসমূহ কার্যকরী হয়। এজন্য কমান্ড দিনঃ /etc/init.d/samba restart

উইন্ডোজ মেশিন থেকে লিনাক্স মেশিনের ফোল্ডার ও প্রিন্টার শেয়ারিং

সাম্বা ইনস্টল ও কনফিগারেশন করার পর আমরা এখন উইন্ডোজ মেশিন থেকে কিভাবে লিনাক্স মেশিনকে শেয়ার করা যায় তা দেখব।এটি করার পর লিনাক্স মেশিন থেকে কিভাবে উইন্ডোজ মেশিনের রিসোর্স শেয়ার করা যায় তা দেখব।
প্রথমে উইন্ডোজ মেশিন থেকে লিনাক্স মেশিনে প্রবেশ করার জন্য উইন্ডোজের স্টার্ট মেনু থেকে রান মেনুতে ক্লিক করুন। তারপর লিনাক্স মেশিনের আইপি (যেমনঃ //১৯২.১৬৮.২.৩) টাইপ করুন অথবা //hostname। তারপর লিনাক্সের প্রিন্টারটিতে রাইট মাউস ক্লিক করে Connect ক্লিক করুন। ড্রাইভার ইনস্টলের জন্য ডায়ালগ বক্স অনুসরন করুন।
শেয়ারড ফোল্ডারগুলি হোস্ট নেম/মেশিনের আইপি প্রবেশ করালেই উইন্ডোজ এক্সপ্লোরারে দেখা যাবে।

লিনাক্স মেশিন থেকে উইন্ডোজ মেশিনের ফোল্ডার ও প্রিন্টার শেয়ারিং

লিনাক্স মেশিন থেকে কোন উইন্ডোজ মেশিনে শেয়ার করা ফোল্ডার দেখার জন্য ডিফল্ট ফাইল ব্রাউজার যেমনঃ konqueror, nautilus খুলুন। তারপর এ্যাড্রেস বারে লিখুনঃ smb://hostname যেখানে হোস্টনেম এর জায়গায় মেশিনের আইপি নম্বর (192.168.2.3)অথবা হোস্টনেম (mepis1, pc1 etc)ইত্যাদি দিতে হবে। তারপর এন্টার কি প্রেস করলেই ফোল্ডার সমূহ দেখতে পাবেন।

লিনাক্স মেশিন থেকে উইন্ডোজ মেশিনে ইনস্টলকৃত প্রিন্টার শেয়ারিং এর জন্য লিনাক্স এর নিজস্ব Add Printer Wizard ব্যবহার করুন।

ছবি

যেমন উপরের চিত্রে কেডিই ইন্টারফেসের Add Printer Wizard ডায়ালগ বক্স দেখা যাচ্ছে। এখানে SMB shared printer (Windows) সিলেক্ট করে Next বাটনে ক্লিক করি। তারপর ইউজার আইডেন্টিফিকেশন বক্স আসলে Anonymous সিলেক্ট করি। তারপর নেক্সট বাটনে ক্লিক করলে নিচের চিত্রের মত সবকিছু বসিয়ে আবার নেক্সট ক্লিক করি।
ছবি

তবে স্ক্যান বাটনে ক্লিক করেও লোকাল প্রিন্টার খুজে বের করা যায় উইন্ডোজ মেশিনের মত। কিন্তু মাঝে মাঝে সমস্যা হয় ডিটেক্ট করতে এজন্য উপরের মত নিজ হাতে কনফিগার করে দিলেই ভাল। পরের ডায়ালগ বক্সে প্রিন্টার মডেল (Manufacturer, Model) নির্বাচন করে আবার নেক্সট বাটনে ক্লিক করি। ড্রাইভার সিলেকশন বক্সে রিকমেন্ডেড ড্রাইভার সিলেক্ট করে পরবর্তী ধাপে যাই। পরবর্তীতে একইভাবে ব্যানার, কোটা, ইউজার একসেস কন্ট্রোল ইত্যাদি সিলেক্ট করে কাজ শেষ করি। সর্বশেষ ধাপে প্রিন্টার এর একটি নাম যেমন- hp_bank ইত্যাদি দিয়ে দেই। তারপর Finish বাটনে ক্লিক করে কাজ শেষ করি।

ট্রাবলশুটিং

সাম্বার সাহায্যে লিনাক্স ও উইন্ডোজ মেশিনের মধ্যে নেটওয়ার্কিং করার সময় বেশ কিছু সমস্যার সম্মুখীন হতে হয়। সেগুলি কিভাবে সমাধান করতে হয় তা এখন দেখব।
১. প্রথমেই দেখুন /etc/samba/smb.conf ফাইলের hosts allow অপশনে আপনার মেশিনের নেটওয়ার্ক/ আইপিকে অনুমতি দেয়া আছে কিনা? দেয়া না থাকলে এখানে মেশিনের আইপি যেমনঃ ১৯২.১৬৮.২.৭৫ অথবা সম্পূর্ন নেটওয়ার্ক (১৯২.১৬৮.২.) কে যুক্ত করুন।

২. অনেক সময় ফায়ারওয়্যাল এনাবল করা থাকলে সাম্বা কাজ করতে পারে না। এজন্য লিনাক্স মেশিনের ফায়ারওয়্যাল (গার্ডডগ, ফায়ারস্টার্টার) বন্ধ করে নিন। প্রয়োজনে উইন্ডোজ মেশিনের ফায়ারওয়্যাল ও বন্ধ করে নিন। ফায়ারওয়্যাল চালু রাখতে চাইলে সাম্বার জন্য ১৩৭, ১৩৮, ১৩৯ নম্বর পোর্ট খুলে রাখুন। এজন্য কোন গ্র্যাফিক্যাল টুলস যেমনঃ ওয়েবমিন, গার্ডডগ, ফায়ারস্টার্টার ইত্যাদি ব্যবহার করতে পারেন।

৩. ifconfig -a কমান্ড দিয়ে দেখুন সাম্বার ব্রডকাস্ট এ্যাড্রেস এবং অন্য ক্লায়েন্টদের ব্রডকাস্ট এ্যাড্রেস একই আছে কিনা?

৪. smbclient -L localhost কমান্ড দিয়ে দেখুন সাম্বা সার্ভিস চালু আছে কিনা?

৫. testparm – সাম্বা রিস্টার্টের আগে এ কমান্ড দিয়ে দেখুন সাম্বার কনফিগারেশন ফাইল ঠিক আছে কিনা?

৬. smbstatus – কমান্ড দিয়ে দেখুন সাম্বার স্ট্যাটাস

৭. http://localhost:631 পাথ ব্রাউজারে লিখে এন্টার দিন। তারপর কাপসের জন্য পারমিশন দিয়ে দিন যাতে অন্য মেশিন থেকেও কাপসকে সাম্বার সাহায্যে শেয়ার করা যায়।

৮. যেকোন প্রিন্টার সেকশনের জন্য /etc/samba/smb.conf ফাইলে দেখুন path = /tmp অথবা path = /var/spool/samba এর মত কোন ভ্যালিড পাথ আছে কিনা?

৯. যদি আপনার মেশিনে দুটি নেটওয়ার্ক কার্ড থাকে তাহলে [global] সেকশনে interfaces = 127.0.0.1, 192.168.2.75/24 এবং bind interfaces = yes লাইন দুটি যোগ করে নিন।

১০. প্রিন্টার শেয়ারিং এ সমস্যা হলে [global] সেকশনে দেখুন printing = cups এবং printcap = cups লাইন দুটি আছে কিনা? যদি না থাকে তাহলে যোগ করে নিন।

সিস্টেম রেসকিউ টুলস-এক পেনড্রাইভে একাধিক অপারেটিং সিস্টেম

ছোট্ট একটি গল্প দিয়ে শুরু করি।

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

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

উপরের ঘটনাটি সাধারন ব্যবহারকারীদের মনে হয়ত নাও আসতে পারে - তবে যারা প্রতিনিয়ত এ ধরনের কাজ করে থাকেন তারা এরকম একটি টুলস এর প্রয়োজনীয়তা প্রায়ই অনুভব করে থাকেন। তাহলে আসুন কিভাবে এ ধরনের একটি টুলস তৈরী করে নিতে পারি তা দেখা যাক। এ টুলসটি উইন্ডোজ মেশিনের জন্য খুব দরকারী এবং লিনাক্স মেশিনেও ডাটা রিকভারী করার জন্য ব্যবহার করা যেতে পারে।


কি কি লাগবেঃ


১. একটি ১ গিগা পেনড্রাইভ (তবে ৪ গিগার উপরে না হওয়াই ভাল) - কারন আমরা যে টুলসটি (syslinux) ব্যবহার করব তা শুধুমাত্র ফ্যাট সিস্টেম সাপোর্ট করবে। অবশ্য ৪ গিগার উপরে পেনড্রাইভ হলে তার জন্য আলাদা টুলস (extlinux)ব্যবহার করতে হবে।

২. পেনড্রাইভ বুটেবল করার সফটওয়্যার - syslinux ডাউনলোড করুন এখান থেকে - লেটেস্ট ভার্সন। তবে এ জিপ ফাইলে অনেক ধরনের টুলস থাকায় কোনটি দিয়ে কাজ করতে হবে তা খুজে বের করা অনেকের জন্যই কঠিন হবে।

তাই আমি আরেকটি জিপ ফাইল আপনাদের ডাউনলোডের জন্য আপলোড করে দিলাম। ডাউনলোড করুন এখান থেকে। আমার জিপ ফাইলটিতে শুধুমাত্র পেনড্রাইভ মাল্টি-বুটেবল করার জন্য যেটুকু দরকার সেটুকুই আছে - সাথে দিয়েছি কিছু কনফিগারেশন ফাইল (syslinux.cfg, syslinuxmenu.cfg) ও কয়েকটি ব্যাচ ফাইল (bootinst.bat, bootinst.sh - এ ফাইলগুলির সাহায্যে ডস/শেল মোডে কমান্ড না দিয়ে এর উপর ডাবল ক্লিক করেই পেনড্রাইভ বুটেবল করা যায়)।

তবে ঘাটাঘাটি করার জন্য প্রথম জিপ ফাইলটি ডাউনলোড করতে পারেন অভিজ্ঞ যারা। কারন এখানে সিডি, পিএক্সই, হার্ডডিস্ক ইত্যাদি বুটেবল করার জন্যও বিভিন্ন টুলস দেয়া আছে যেমনঃ isolinux, pxelinux, lilo/grub।

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

৪. আই.এস.ও ফাইল থেকে ফাইল এক্সট্রাক্ট করার জন্য লেটেস্ট 7zip 4.65 ভার্সন। এটি ডাউনলোড করুন এখান থেকে। তবে সেভেনজিপ এর নিজস্ব সাইট থেকেও ডাউনলোড করে নিতে পারেন। কিন্তু অনেকেই ডাউনলোড করতে গিয়ে লিংক খুজে পান না বা সার্ভার ডাউন থাকে মাঝে মধ্যে এজন্য আমি আপলোড করে দিলাম। তবে এ কাজে অন্যান্য আই.এস.ও. এক্সট্রাক্ট করার সফটওয়্যার ও ব্যবহার করতে পারেন। এছাড়া ২ নং এ বর্নিত জিপ ফাইলটিও সেভেন জিপ ফরম্যাটে দিয়েছি যা আনজিপ করার জন্যও সেভেন জিপ সফটওয়্যার লাগবে।

কার্যপ্রনালীঃ

প্রয়োজনীয় টুলসগুলী জোগাড় তো হল। আসুন এবার মূল কাজ শুরু করা যাক।

১. প্রথমেই পেনড্রাইভটিকে FAT16/FAT32 সিস্টেমে ফরম্যাট করে নিন। এজন্য এ ইউএসবি ফরম্যাট টুলসটিও ব্যবহার করতে পারেন।

২. boot.7z ফাইলটিকে পেনড্রাইভে এক্সট্রাক্ট করে নিন। সরাসরি এক্সট্রাক্ট করুন। কোন ফোল্ডারে করলে কাজ নাও করতে পারে।

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

যেমনঃ পাপ্পি লিনাক্সের জন্য পেন ড্রাইভে puppy নামে একটি ফোল্ডার তৈরী করি। তারপর পাপ্পির ISO ফাইলটি এ ফোল্ডারে এক্সট্রাক্ট করে নিই। ফলে এ ফোল্ডারে নিচের মত ফাইল গুলি দেখতে পাবেন।

ছবি

এ ফোল্ডারে isolinux.cfg ফাইলটিকে wordpad এ খুলুন। তাহলে নিচের মত কয়েকটি লাইন পাবেনঃ
label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=cd

এ ফাইলটি বিভিন্ন অপারেটিং সিস্টেমে বিভিন্ন ফোল্ডারে থাকে। যেমনঃ পাপ্পিতে রুট ফোল্ডারে থাকে, স্লিটাজে থাকে \boot\isolinux\ ফোল্ডারে। কিছু কিছু লিনাক্সে আবার এ ফাইলে থাকে অন্য কোন cfg ফাইলকে লোড করার বিবরন। সে ক্ষেত্রে অন্যান্য cfg ফাইলগুলিকে ওপেন করে দেখুন এক এক করে এ জাতীয় এন্ট্রি পাওয়ার জন্য। অবশ্য লিনাক্সে অভিজ্ঞরা দেখলেই বুঝতে পারবেন কোনটি কার্নেল ফাইল ও কোনটি র‌্যামডিস্ক ফাইল।

এ লাইনগুলি আমাদের বুট লোডারের ফাইল syslinux.cfg অথবা আরেকটি কাস্টোমাইজড ফাইল syslinuxmenu.cfg এর যেকোন একটিতে লিখতে হবে যেটি পাবেন আপনার পেনড্রাইভের \boot\syslinux পাথে অর্থাৎ যেখানে boot.7zip ফাইলকে আনজিপ করেছেন । এগুলির সাহায্যেই syslinux বুট লোডার অপারেটিং সিস্টেমটিকে বুট করবে পেন ড্রাইভ থেকে।

syslinux.cfg ফাইলে সরাসরি না লিখে আরেকটু ফ্লেক্সিবল করার জন্য এগুলিকে আমি syslinuxmenu.cfg ফাইলে লিখেছি এবং syslinux.cfg ফাইলে লেখা আছে INCLUDE /boot/syslinuxmenu.cfg এ লাইনটি - যার সাহায্যে syslinuxmenu.cfg ফাইলটি লোড হবে। এভাবে না লিখে সরাসরি ও syslinux.cfg ফাইলে লেখা যেত। কিন্তু আমরা এখানে লিনাক্স থেকে ও যাতে পেন ড্রাইভ বুটেবল করা যায় সেজন্য একটি কমন ফাইলে অপশনগুলি রেখেছি।

এ ধরনের cfg ফাইল বেশীরভাগ ডিস্ট্রোর সাথেই পাবেন। যা সিডি থেকে / ISO ফাইল থেকে দেখে নেয়া যায়। ISO ফাইল খুলে দেখার জন্য সেভেন জিপ ব্যবহার করুন।

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

প্রথমে TIME OUT, BACKGROUND, MENU WIDTH, COLOR ইত্যাদি দেয়া আছে। তারপর অপারেটিং সিস্টেমের এন্ট্রি শুরু হয়েছে।

পাপ্পির জন্য এন্ট্রিঃ

LABEL Puppy
MENU LABEL Linux Puppy
KERNEL /puppy/vmlinuz
APPEND initrd=/puppy/initrd.gz PMEDIA=usbflash
প্রথম লাইনটি হচ্ছে LABEL ভেরিয়েববল - তারপর মেনুর নাম - এখানে PUPPY। এটি SYSLINUX ব্যবহার করে থাকে।

২য় লাইনে MENU LABEL এর সামনে যা লিখবেন তাই পর্দায় দেখা যাবে বুটের সময়। যা সিলেক্ট করে এন্টার চাপতে হয়।

৩য় লাইনটি অপারেটিং সিস্টেমের কার্নেল লোড করবে। /puppy দিয়ে পেনড্রাইভের puppy ফোল্ডার এর পাথকে নির্দেশ করে।

৪র্থ লাইনটি RAMDISK যোগ করার জন্য। APPEND initrd= এর সামনে Ramdisk এর জিপ ফাইল পাথ দিতে হবে এবং PMEDIA অপশনে usbflash অপশন দিয়ে দিয়েছি কারন এটি ইউএসবি থেকে বুট করবে।

এগুলির বিস্তারিত বর্ননা আর এখানে দিলাম না। নতুনদের অসুবিধা হতে পারে। আর যারা অভিজ্ঞ তারা তো বুঝেই গেছেন।

এভাবে অন্যান্য অপারেটিং সিস্টেম যোগ করে নিতে হবে। আমার ফাইলে পাপ্পি ছাড়াও SLITAZ, HIREN, MINI XP কিভাবে এন্ট্রি দিতে হবে তা দেয়া আছে। যেমনঃ হিরেন বুট সিডির জন্যঃ
LABEL Hiren
MENU LABEL Start Hiren Boot CD
KERNEL /HBCD/memdisk
APPEND initrd=/HBCD/boot.gz root=/HBCD/boot.gz

উপরোক্ত এন্ট্রিগুলি হিরেন বুট সিডির ভিতর HBCD ফোল্ডারের isolinux.cfg ফাইলে পাওয়া যাবে।

এছাড়া উইন্ডোজ বেজড অপারেটিং সিস্টেম লোড করার জন্য আমি grab4dos কে দিয়ে দিয়েছি জিপ ফাইলের সাথে যেটি লোড করার কমান্ড হচ্ছে নিম্নরূপঃ
LABEL Grub4DOS
MENU LABEL Grub4DOS
KERNEL /boot/grub/grub.exe
অর্থাৎ এখানে syslinux অন্য আরেকটি লোডার গ্রাবকে লোড করবে যেটি উইন্ডোজ বেজড অপারেটিং সিস্টেমকে chainloader এর মাধ্যমে লোড করতে পারে। এজন্য গ্রাব লোডারের ফাইল menu.lst পরিবর্তন করে দিতে হবে যেটি পাবেন আপনার পেনড্রাইভের /boo/grub পাথে। এটিও আমাদের আগের ফাইল syslinuxmenu.cfg এর মত। যেমনঃ হিরেন বুট সিডির সাথে দেয়া মিনি এক্সপিকে লোড করার কমান্ড হচ্ছে-
title Mini Windows Xp
find --set-root /HBCD/XPLOADER.BIN
chainloader /HBCD/XPLOADER.BIN
প্রথম লাইনে যথারীতি পর্দায় প্রদর্শনের টাইটেল দিতে হবে title এর সামনে।

২য় এবং ৩য় লাইনের মাধ্যমে এক্সপিকে chainloader এর সাহায্যে বুট করবে।

ইচ্ছা করলে আপনি অন্যান্য লিনাক্সকে ও এ ফাইলের মাধ্যমে বুট করতে পারেন। সেক্ষেত্রে syslinux এর কাজ হবে শুধুমাত্র Grub কে লোড করা। বাকী সব কাজ হবে গ্রাবের মাধ্যমে যা এ ফাইল ডিফাইন করে দিতে হবে।
যেমন menu.lst ফাইলে পাপ্পি এর জন্য কমান্ড হবেঃ
title Linux Puppy
kernel /puppy/vmlinuz PMEDIA=usbflash
initrd /puppy/initrd.gz
syslinuxmenu.cfg এবং menu.lst এর কমান্ড প্রায় কাছাকাছি। একটু খেয়াল করলেই বুঝতে পারবেন আশা করি। তবে যাদের লিনাক্সে গ্রাব এবং লিলো বুট লোডার নিজে হাতে এডিট করার অভিজ্ঞতা আছে তাদের জন্য এটা ডালভাত।

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

৪. উপরে পয়েন্টে আমরা ধাপে ধাপে LIVE OS সমূহ পেন ড্রাইভে কপি করা, তারপর বুট লোডার এর ফাইলে এন্ট্রি দেয়া ইত্যাদি কাজগুলি করেছি।

এবার সর্বশেষ কাজ - পেন ড্রাইভ বুটেবল করতে হবে।

উইন্ডোজ মেশিন থেকে

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


লিনাক্স মেশিন থেকেঃ
/boot/ ফোল্ডারে bootinst.sh ফাইলে ডাবল ক্লিক করে একইভাবে কাজ করুন।

সতর্কতাঃ এটি খুব সাবধানে করবেন এবং হার্ডডিস্কের কোন ফোল্ডার থেকে এ ফাইলে ভুলেও ক্লিক করতে যাবেন না। তাতে পরের বার আপনার অপারেটিং সিস্টেম লোড নাও হতে পারে। এটি অবশ্যই পেনড্রাইভের ফোল্ডারে (boot) থাকা অবস্থায় করবেন। আর বুট ফোল্ডারের নাম পরিবর্তন করবেন না।

আমার পেন ড্রাইভের চিত্র নিম্নরূপঃ

ছবি

এখানে puppy ফোল্ডারে পাপ্পি লিনাক্স, slitaz ফোল্ডারে স্লিটাজ লিনাক্স, HBCD ফোল্ডারে হিরেন বুট সিডি এবং AVAST BART CD ফোল্ডারে এভাস্ট বার্ট সিডি ইনস্টলড রয়েছে।