ডেবিয়ান এ একাধিক সিডি ডাউনলোড করে তা থেকেই সাধারনত সফটওয়্যার ইনস্টল করা হয়ে থাকে। যাদের ইন্টারনেট আছে তারা অবশ্য সিন্যাপ্টিক থেকে সরাসরি ডাউনলোড করতে পারেন। একাধিক সিডি থেকে ডাউনলোড করতে গেলে প্রায়ই সিডি বের করে আবার নতুন সিডি ঢোকাতে হয়। এভাবে একাধিকবার সিডি পরিবর্তন করা বেশ ঝামেলার। এজন্য বারবার সিডি ঢোকানোর হাত থেকে মুক্তি পেতে হলে আপনি ডাউনলোড করা আইএসও ফাইল মাউন্ট করে কাজ সারতে পারেন। ফলে সিডি ঢোকানো এবং বার্ন করা দুটো ঝামেলাই এড়াতে পারবেন। আপনার কোন বন্ধুর কাছ থেকে পেন ড্রাইভে আইএসও ফাইলটি নিয়ে এসে বাসায় কাজ করতে পারবেন। ফলে সিডি’র খরচ ও কিছুটা বাচাতে পারবেন বৈকি।
এ পদ্ধতিতে আপনাকে আইএসও ফাইল এবং তার ফোল্ডারগুলো অবশ্যই চিনিয়ে দিতে হবে যাতে বুট করার সময়ে অটোমেটিক্যালি সেগুলো পেয়ে যান এবং সেখান থেকে যে কোন সময়ে ইনস্টল করতে পারেন।
নিচের লাইনগুলিতে my-user-name এর জায়গায় আপনার নিজের নাম/ফোল্ডার এর নাম হবে।
এজন্য প্রথমেই আপনি হোম এ অবস্থিত আপনার ফোল্ডার এর ভিতরে isos নামে একটি ফোল্ডার তৈরি করুন আইএসও/ইমেজগুলি রাখার জন্য।
এ ফোল্ডারে আইএসও ফাইলগুলি নেট থেকে ডাউনলোড করুন আর কপি করে রাখুন /home/my-user-name/isos/ পাথে যাদের নাম হতে পারে এরকম- debian1.iso debian2.iso debian3.iso
এবার isos ফোল্ডার এর অধীনে আরো তিনটি ফোল্ডার তৈরী করি iso1, iso2, and iso3 নামে।
এবার আপনার পছন্দের টেক্সট এডিটরে (vim, gedit, kedit-যে কোন একটিতে ) /etc/fstab ফাইলটি খুলুন এবং নিচের লাইনগুলি যোগ করুন এ ফাইলের একদম শেষেঃ
কমান্ডঃ sudo gedit /etc/fstab অথবা
sudo vim /etc/fstab
/home/my-user-name/isos/debian1.iso /home/my-user-name/isos/iso1/ udf,iso9660 user,loop 0 0
/home/my-user-name/isos/debian2.iso /home/my-user-name/isos/iso2/ udf,iso9660 user,loop 0 0
/home/my-user-name/isos/debian3.iso /home/my-user-name/isos/iso3/ udf,iso9660 user,loop 0 0
এরপর সিন্যাপ্টিক এর রিপোজিটরীতে নিচের লাইনগুলি যোগ করতে হবেঃ
এটি গ্রাফিক্যালি টুলস দিয়ে করতে পারেন অথবা /etc/apt/sources.list ফাইলে উপরের মতই কোন এডিটর দিয়ে লাইনগুলি যোগ করতে পারেনঃ
file:/home/my-user-name/isos/iso1 lenny main
file:/home/my-user-name/isos/iso2 lenny main
file:/home/my-user-name/isos/iso3 lenny main
(এখানে প্রথম অংশ ফাইলটি কোথায় আছে তার লোকেশন, দ্বিতীয় অংশ এর ডিস্ট্রিবিউশনের নাম-লেনি, তৃতীয় অংশ হচ্ছে উক্ত ডিস্ট্রো এর main অংশকে নির্দেশ করে।
এখন নতুন করে রিবুট করুন তাহলে আইএসও গুলি স্বয়ংক্রিয়ভাবে মাউন্ট হয়ে যাবে এবং সিন্যাপ্টিকে পেয়ে যাবেন। সিন্যাপ্টিকে ও রিলোড বাটনে ক্লিক করে নিতে ভুলবেন না।
ডেবিয়ান লিনাক্সে এক্স-সার্ভার ভিডিও ড্রাইভার সমস্যা/ক্রাশ করার জন্য সমাধান
আমার এই ব্লগ পোস্টে ডেবিয়ান লিনাক্স এক্স সার্ভার এর কিছু সাধারন সমস্যাসমূহ যেমনঃ এক্স-সার্ভার স্টার্ট না হওয়া, ১০২৪ x ৭৬৮ এর মত হাই রেজুলেশন সাপোর্ট না পাওয়া, এক্স সার্ভার ক্রাশ করা ইত্যাদি কিভাবে সমাধান করা যায় তা দেখব। এছাড়া ও যদি আপনি এক্স এর জন্য নিজস্ব ড্রাইভার ব্যবহার না করতে পারেন তবে কিভাবে “Vesa” সাধারন ড্রাইভার ব্যবহার করতে পারেন তাও দেখব। Vesa হচ্ছে এমন একটি গ্রাফিক্স ড্রাইভার যেটি অন্য কোন ড্রাইভার না পাওয়া গেলে তার বিকল্প হিসেবে কাজ করে থাকে লিনাক্সে।
Xorg 7.2 ভার্সন থেকে এক্স সার্ভার এর কনফিগারেশন ফাইল xorg.conf উপর নির্ভর করে না। এর বদলে বর্তমানে লিনাক্সে স্বয়ংক্রিয়ভাবে ভিডিও কার্ড চিহ্নিত করা, উপযুক্ত ড্রাইভার লোড করা এবং রেজুলেশন সেট করার কাজ হয়ে থাকে। অবশ্য স্বয়ংক্রিয় সেটিংস এর বদলে আগের নিয়মে আলাদাভাবে xorg.conf ফাইলে কনফিগারেশন প্যারামিটারগুলি সেট করতে পারেন। সেক্ষেত্রে এক্স সার্ভার নিজস্ব সেটিংস বাদ দিয়ে আপনার সেট করা প্যারামিটার অনুযায়ী কাজ করবে।
# X -configure
এবং আপনি নিচের মেসেজ দেখবেন
Your xorg.conf file is /root/xorg.conf.new
এখন নিচের কমান্ড দিয়ে আপনার নতুন কনফিগারেশন ফাইল পরীক্ষা করুনঃ
# X -config /root/xorg.conf.new
যদি আপনার এক্স-সার্ভার ঠিকমত স্টার্ট নেয় তাহলে Ctrl-Alt-Backspace চাপুন এবং নিচের কমান্ডটি দিন
# mv /root/xorg.conf.new /etc/X11/xorg.conf
এবং আপনার লগইন ম্যানেজার চালু করতে নিচর কমান্ড দিনঃ
# /etc/init.d/gdm restart
যদি উপরের পদ্ধতিতে কাজ না হয় তবে আপনার xserver-xorg প্যাকেজটি নতুন করে কনফিগার করে নিন নিচের কমান্ড এর মাধ্যমেঃ
# dpkg-reconfigure -phigh xserver-xorg
স্ক্রিনের নির্দেশ অনুযায়ী কাজ করুন। বেশীরভাগ ক্ষেত্রেই ডিফল্ট মান দেয়াই ভাল। সবশেষে আপনার এক্স সার্ভার নিচের কমান্ড দিয়ে চেক করুনঃ
# X
যদি এক্স সার্ভার ঠিকমত চালু হয় তবে Ctrl-Alt-Backspace চাপুন এবং লগইন ম্যানেজার স্টার্ট দিন।
# /etc/init.d/gdm restart
নোট: যদি X কমান্ড দেয়ার পর আপনার এক্স সার্ভার ঠিক আছে বলে মনে হয় তবে উপরের কমান্ড দিয়ে পুনরায় গ্রাফিক্যাল মোড চালু করতে পারেন।
Section "InputDevice
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section “Device”
Identifier “Configured Video Device”
EndSection
আপনার xorg.conf ফাইলে নিচের সেকশনগুলি যোগ করে নিন (কপি - পেস্ট করতে পারেন):
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
EndSection
Section “Device”
Identifier “Configured Video Device”
EndSection
Section “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
HorizSync 28-50
VertRefresh 43-75
EndSection
Section “Screen”
Identifier “Default Screen”
Device “Generic Video Card”
Monitor “Generic Monitor”
DefaultDepth 24
SubSection “Display”
Depth 1
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 4
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 8
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 15
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
EndSection
এখন আগের মতই এক্স সার্ভারকে চেক করুনঃ
# X
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section “Device”
Identifier “Configured Video Device”
Driver “vesa”
EndSection
এখন আগের মতই এক্স সার্ভার চেক করুন নিচের কমান্ড দিয়েঃ
# X
যদি আপনার এক্স সার্ভার ঠিকমত কাজ করে কিন্তু মাউস সমস্যা করে তাহলে নিচের কমান্ড দিয়ে মাউস কে কনফিগার করে নিনঃ
# modprobe psmouse
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section “Module”
Load “bitmap”
Load “ddc”
Load “dri”
Load “extmod”
Load “freetype”
Load “glx”
Load “int10″
Load “vbe”
EndSection
Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “CoreKeyboard”
Option “XkbRules” “xorg”
Option “XkbModel” “pc104″
Option “XkbLayout” “us”
EndSection
Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
Option “Device” “/dev/input/mice”
Option “Protocol” “ImPS/2″
Option “Emulate3Buttons” “true”
EndSection
Section “Device”
Identifier “Generic Video Card”
Driver “amd”
BusID “PCI:0:1:1″
EndSection
Section “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
HorizSync 28-50
VertRefresh 43-75
EndSection
Section “Screen”
Identifier “Default Screen”
Device “Generic Video Card”
Monitor “Generic Monitor”
DefaultDepth 24
SubSection “Display”
Depth 1
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 4
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 8
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 15
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
EndSection
Section “ServerLayout”
Identifier “Default Layout”
Screen “Default Screen”
InputDevice “Generic Keyboard”
InputDevice “Configured Mouse”
EndSection
Section “DRI”
Mode 0666
EndSection
উপরে ডিভাইস সেকশনে (Driver “amd” স্থানে) আপনার ডিভাইস ড্রাইভার এর নাম বসিয়ে দিন এবং এক্স সার্ভার চালু করুন।
আশা করি উপরে বর্নিত পদ্ধতির কোন একটি অবলম্বন করে আপনি আপনার এক্স সার্ভার বা গ্র্যাফিক্যাল মোডের সমস্যা ঠিক করতে পারবেন।
Xorg 7.2 ভার্সন থেকে এক্স সার্ভার এর কনফিগারেশন ফাইল xorg.conf উপর নির্ভর করে না। এর বদলে বর্তমানে লিনাক্সে স্বয়ংক্রিয়ভাবে ভিডিও কার্ড চিহ্নিত করা, উপযুক্ত ড্রাইভার লোড করা এবং রেজুলেশন সেট করার কাজ হয়ে থাকে। অবশ্য স্বয়ংক্রিয় সেটিংস এর বদলে আগের নিয়মে আলাদাভাবে xorg.conf ফাইলে কনফিগারেশন প্যারামিটারগুলি সেট করতে পারেন। সেক্ষেত্রে এক্স সার্ভার নিজস্ব সেটিংস বাদ দিয়ে আপনার সেট করা প্যারামিটার অনুযায়ী কাজ করবে।
- প্রথম সমস্যাঃ ধরুন আপনার এক্স সার্ভার হঠাৎ করে কাজ করা বন্ধ করল এবং বার বার রিস্টার্ট দেয়া সত্বেও আর গ্রাফিক্যাল লগইন স্ক্রিন এর বদলে একটি লগইন কনসোল দিল।
# X -configure
এবং আপনি নিচের মেসেজ দেখবেন
Your xorg.conf file is /root/xorg.conf.new
এখন নিচের কমান্ড দিয়ে আপনার নতুন কনফিগারেশন ফাইল পরীক্ষা করুনঃ
# X -config /root/xorg.conf.new
যদি আপনার এক্স-সার্ভার ঠিকমত স্টার্ট নেয় তাহলে Ctrl-Alt-Backspace চাপুন এবং নিচের কমান্ডটি দিন
# mv /root/xorg.conf.new /etc/X11/xorg.conf
এবং আপনার লগইন ম্যানেজার চালু করতে নিচর কমান্ড দিনঃ
# /etc/init.d/gdm restart
যদি উপরের পদ্ধতিতে কাজ না হয় তবে আপনার xserver-xorg প্যাকেজটি নতুন করে কনফিগার করে নিন নিচের কমান্ড এর মাধ্যমেঃ
# dpkg-reconfigure -phigh xserver-xorg
স্ক্রিনের নির্দেশ অনুযায়ী কাজ করুন। বেশীরভাগ ক্ষেত্রেই ডিফল্ট মান দেয়াই ভাল। সবশেষে আপনার এক্স সার্ভার নিচের কমান্ড দিয়ে চেক করুনঃ
# X
যদি এক্স সার্ভার ঠিকমত চালু হয় তবে Ctrl-Alt-Backspace চাপুন এবং লগইন ম্যানেজার স্টার্ট দিন।
# /etc/init.d/gdm restart
নোট: যদি X কমান্ড দেয়ার পর আপনার এক্স সার্ভার ঠিক আছে বলে মনে হয় তবে উপরের কমান্ড দিয়ে পুনরায় গ্রাফিক্যাল মোড চালু করতে পারেন।
- দ্বিতীয় সমস্যাঃ ধরুন আপনার এক্স সার্ভার চালু হয়েছে কিন্তু এটি ৮০০ x ৬০০ এর বেশী রেজুলেশন সাপোর্ট করছে না অর্থাৎ System->Preferences->Screen Resolution এ পাওয়া যাচ্ছে না তখন কি করবেন?
Section "InputDevice
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section “Device”
Identifier “Configured Video Device”
EndSection
আপনার xorg.conf ফাইলে নিচের সেকশনগুলি যোগ করে নিন (কপি - পেস্ট করতে পারেন):
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
EndSection
Section “Device”
Identifier “Configured Video Device”
EndSection
Section “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
HorizSync 28-50
VertRefresh 43-75
EndSection
Section “Screen”
Identifier “Default Screen”
Device “Generic Video Card”
Monitor “Generic Monitor”
DefaultDepth 24
SubSection “Display”
Depth 1
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 4
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 8
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 15
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
EndSection
এখন আগের মতই এক্স সার্ভারকে চেক করুনঃ
# X
- তৃতীয় সমস্যাঃ ধরুন উপরে বর্নিত কনফিগারেশন ফাইল পরিবর্তন করার পরও স্ক্রিন ঠিক হল না বা এক্স সার্ভঅর আগের মতই রইল তখন আপনাকে জেনেরিক “ভেসা” VESA - ড্রাইভার ব্যবহার করতে হবে।
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section “Device”
Identifier “Configured Video Device”
Driver “vesa”
EndSection
এখন আগের মতই এক্স সার্ভার চেক করুন নিচের কমান্ড দিয়েঃ
# X
যদি আপনার এক্স সার্ভার ঠিকমত কাজ করে কিন্তু মাউস সমস্যা করে তাহলে নিচের কমান্ড দিয়ে মাউস কে কনফিগার করে নিনঃ
# modprobe psmouse
- চতুর্থ সমস্যাঃ সবশেষে, যদি উপরের কোন একটি পদ্ধতিতেও কাজ না হয় তবে xorg.conf ফাইল আপনাকে সব প্যারামিটার নিজের হাতে সেট করতে হবে নিচের মত করে।
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section “Module”
Load “bitmap”
Load “ddc”
Load “dri”
Load “extmod”
Load “freetype”
Load “glx”
Load “int10″
Load “vbe”
EndSection
Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “CoreKeyboard”
Option “XkbRules” “xorg”
Option “XkbModel” “pc104″
Option “XkbLayout” “us”
EndSection
Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
Option “Device” “/dev/input/mice”
Option “Protocol” “ImPS/2″
Option “Emulate3Buttons” “true”
EndSection
Section “Device”
Identifier “Generic Video Card”
Driver “amd”
BusID “PCI:0:1:1″
EndSection
Section “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
HorizSync 28-50
VertRefresh 43-75
EndSection
Section “Screen”
Identifier “Default Screen”
Device “Generic Video Card”
Monitor “Generic Monitor”
DefaultDepth 24
SubSection “Display”
Depth 1
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 4
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 8
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 15
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
EndSection
Section “ServerLayout”
Identifier “Default Layout”
Screen “Default Screen”
InputDevice “Generic Keyboard”
InputDevice “Configured Mouse”
EndSection
Section “DRI”
Mode 0666
EndSection
উপরে ডিভাইস সেকশনে (Driver “amd” স্থানে) আপনার ডিভাইস ড্রাইভার এর নাম বসিয়ে দিন এবং এক্স সার্ভার চালু করুন।
আশা করি উপরে বর্নিত পদ্ধতির কোন একটি অবলম্বন করে আপনি আপনার এক্স সার্ভার বা গ্র্যাফিক্যাল মোডের সমস্যা ঠিক করতে পারবেন।
লিনাক্সের সাধারন সমস্যাসমূহ সমাধানের জন্য কয়েকটি দরকারী কমান্ড
লিনাক্স নিয়মিত ব্যবহার করতে শুরু করলে প্রায়ই ব্যবহারকারীগন কিছু সমস্যায় পড়তে পারেন যা সহজেই কিছু কমান্ডের মাধ্যমে সমাধান করা যায়। এ পোস্টে আমি সেরকম কিছু সাধারন সমস্যা ও তার সমাধান উল্লেখ করতে চাই। আশা করি আপনাদের ভাল লাগবে। যদি ও আমি ব্যক্তিগতভাবে ডেবিয়ান লিনাক্স কে ব্যবহার করে থাকি কিন্তু এ কমান্ডগুলি অন্যান্য ডিস্ট্রিবিউশন যেমন উবুন্তু, সুসি বা ফেডোরাতেও কাজ করবে।
# dhclient ethX
এখানে X = ইথারনেট ইন্টারফেস
আপনার সব নেটওয়ার্ক ইন্টারফেস দেখার জন্য কমান্ড দিনঃ
# ifconfig -a
সুতরাং আপনার কমান্ডটি বাস্তবে নিচের মত হতে পারেঃ
# dhclient eth1
# update-grub
# update-initramfs -t -c -v -k
এখানে kernel-version = আপনার লিনাক্স কার্নেল ভার্সন নম্বর যেটির জন্য আপনি একটি initrd ইমেজ তৈরী করতে চান।
আপনার কার্নেলসমূহের ভার্সন নম্বর দেখার জন্য নিচের মত করে কমান্ড দিনঃ
# ls /boot/vmlinuz*
/boot/vmlinuz-2.6.26-1-686 /boot/vmlinuz-2.6.28-2-686
সুতরাং আপনার বাস্তব কমান্ডটি নিচের মত হতে পারেঃ
# update-initramfs -t -c -v -k 2.6.26-1-686
যদি আপনি একটি হ্যাং হয়ে যাওয়া প্রসেসকে/প্রোগ্রামকে বন্ধ না করতে পারেন তবে এটি বন্ধ করার জন্য নিচের মত কমান্ড দিতে পারেনঃ
# kill -9
যেখানে pid-number= প্রসেস আইডি নম্বর
আপনার সমস্ত প্রসেস আইডি নম্বর দেখার জন্য নিচের মত কমান্ড দিনঃ
# ps -ef
ফলাফলঃ
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jun08 ? 00:00:02 init [2]
root 2 0 0 Jun08 ? 00:00:00 [kthreadd]
root 2334 2 0 Jun08 ? 00:00:00 [kondemand/1]
root 2408 1 0 Jun08 ? 00:00:08 /sbin/syslogd
root 2446 1 0 Jun08 ? 00:00:00 /sbin/klogd -x
root 2455 1 0 Jun08 ? 00:00:00 /usr/sbin/acpid
104 2473 1 0 Jun08 ? 00:00:06 /usr/bin/dbus-daemon –system
ধরুন উপরের ফলাফল অনুযায়ী আপনি acpid ডেমনকে বন্ধ করতে চান, তাহলে আপনার কমান্ড হবে নিচের মতঃ
# kill -9 2455
আপনি যদি এক্স সার্ভার স্টার্ট করা নিয়ে সমস্যায় পড়েন তবে নিচের কমান্ড দুটি দিয়ে চেষ্টা করে দেখতে পারেনঃ
# X -configure
# X -config /root/xorg.conf.new
apt-get এবং dpkg সমস্যা বেশীরভাগ ক্ষেত্রেই নিচের দুটি কমান্ডের মাধ্যমে ঠিক করা সম্ভব যেমনঃ ইনস্টল করার সময় ডিপেনডেন্সীর কারনে ইনস্টল না হওয়া, ইনস্টল ফাইল করাপ্ট হয়ে যাওয়া, ইনস্টল করার সময় মেশিন বন্ধ হয়ে যাওয়া ইত্যাদি।
# apt-get -f install
# dpkg --configure -a
স্যান্ডবক্সের মত আপনার বর্তমান সিস্টেমে যদি কোন টেস্ট সিস্টেম তৈরি করতে চান তবে নিচের কমান্ড দিনঃ
# debootstrap --arch i386 lenny /home/yourname/chroots/debian32 http://ftp.us.debian.org/debian
কিছু কিছু সময় জিনোম ডেস্কটপ সঠিকভাবে লোড নেয় না যেমন আইকন দেখা যায় না অথবা প্যানেল লোড হয় না। এ ক্ষেত্রে নিচের কমান্ডটি প্রয়োগ করে আপনি সহজেই আপনার জিনোম ডেস্কটপকে পূনরায় লোড করতে পারেন মেশিন রিস্টার্ট করা ছাড়াই।
# killall gnome-panel nautilus
কিছু সমস্যা শুধুমাত্র সিঙ্গেল ইউজার মোডেই সমাধান করা সম্ভব যেটি অনেকটা উইন্ডোজের সেফ মোডের মত। আপনি এক্ষেত্রে খুব সহজেই সিঙ্গেল ইউজার মোডে সুইচ করতে পারেন যেকোন সময় নিচের কমান্ডটি দিয়েঃ
# init 1
যদি জিনোম এর নিজস্ব সাউন্ড ইভেন্টসমূহ বা শব্দ শুনতে না পান কিন্তু গান বা মিউজিক ঠিকই শুনতে পান তাহলে নিচের কমান্ডটি দিয়ে তা ঠিক করতে পারেনঃ
# modprobe snd_pcm_oss
আপনার কমান্ড প্রদান আরো স্বাচ্ছ্যন্দময় হয়ে উঠুক সেই প্রত্যাশায় শেষ করছি।
- কমান্ড#১: dhclient
# dhclient ethX
এখানে X = ইথারনেট ইন্টারফেস
আপনার সব নেটওয়ার্ক ইন্টারফেস দেখার জন্য কমান্ড দিনঃ
# ifconfig -a
সুতরাং আপনার কমান্ডটি বাস্তবে নিচের মত হতে পারেঃ
# dhclient eth1
- কমান্ড #২ update-grub
# update-grub
- কমান্ড #৩ mkinitramfs
# update-initramfs -t -c -v -k
আপনার কার্নেলসমূহের ভার্সন নম্বর দেখার জন্য নিচের মত করে কমান্ড দিনঃ
# ls /boot/vmlinuz*
/boot/vmlinuz-2.6.26-1-686 /boot/vmlinuz-2.6.28-2-686
সুতরাং আপনার বাস্তব কমান্ডটি নিচের মত হতে পারেঃ
# update-initramfs -t -c -v -k 2.6.26-1-686
কমান্ড #৪: kill
# kill -9
আপনার সমস্ত প্রসেস আইডি নম্বর দেখার জন্য নিচের মত কমান্ড দিনঃ
# ps -ef
ফলাফলঃ
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jun08 ? 00:00:02 init [2]
root 2 0 0 Jun08 ? 00:00:00 [kthreadd]
root 2334 2 0 Jun08 ? 00:00:00 [kondemand/1]
root 2408 1 0 Jun08 ? 00:00:08 /sbin/syslogd
root 2446 1 0 Jun08 ? 00:00:00 /sbin/klogd -x
root 2455 1 0 Jun08 ? 00:00:00 /usr/sbin/acpid
104 2473 1 0 Jun08 ? 00:00:06 /usr/bin/dbus-daemon –system
ধরুন উপরের ফলাফল অনুযায়ী আপনি acpid ডেমনকে বন্ধ করতে চান, তাহলে আপনার কমান্ড হবে নিচের মতঃ
# kill -9 2455
কমান্ড #৫: এক্স(X) সার্ভার সমস্যা
# X -configure
# X -config /root/xorg.conf.new
কমান্ড #৬: apt এবং dpkg সমস্যা
# apt-get -f install
# dpkg --configure -a
কমান্ড #৭: দ্রুত একটি পরীক্ষামূলক সিস্টেম তৈরী করা
# debootstrap --arch i386 lenny /home/yourname/chroots/debian32 http://ftp.us.debian.org/debian
কমান্ড #৮: GNOME পূনরায় চালু করা
# killall gnome-panel nautilus
কমান্ড #৯: একক ব্যবহারকারী মোডে সুইচ করা
# init 1
কমান্ড #১০: GNOME শব্দ
# modprobe snd_pcm_oss
আপনার কমান্ড প্রদান আরো স্বাচ্ছ্যন্দময় হয়ে উঠুক সেই প্রত্যাশায় শেষ করছি।
লিনাক্সে রিমোট এ্যাডমিনিস্ট্রেশন
বড় ধরনের লিনাক্স সিস্টেমে একজন ব্যবহারকারী কোন ইউটিলিটি প্রোগ্রামের সাহায্যে BASHশেলে প্রবেশ/লগইন করে থাকেন যেটি মূলত নেটওয়ার্কে অবস্থিত কোন সার্ভার এ কানেক্ট করে থাকে। এভাবে লগইন করে সার্ভারকে দূরবর্তী স্থান থেকে কন্ট্রোল করা সম্ভব। কারন আপনি যদি একবার শেলে লগইন করতে পারেন তাহলে যেকোন কমান্ড সেখান থেকেই দিতে পারবেন। ফলে কনফিগারেশন পরিবর্তন করা, কোন সার্ভিস রিস্টার্ট করা বা পরিবর্তন করা, এমনকি মেশিন রিস্টার্ট দেয়া পর্যন্ত করতে পারবেন দূর থেকেই। তবে মেশিন রিস্টার্ট করলে আপনার যোগাযোগ বিচ্ছিন্ন হয়ে যাবে এবং রিস্টার্ট হওয়ার পর পূনরায় লগইন করতে হবে।
বেশীরভাগ ক্ষেত্রেই নেটওয়ার্কে অবস্থিত দূরবর্তী কোন লিনাক্স কম্পিউটার এ ব্যাস শেল পাওয়ার জন্য টেলনেট ব্যবহার করা হয়; প্রচলিত প্রায় সব অপারেটিং সিস্টেম (যেমন লিনাক্স, উইন্ডোজ, ইউনিক্স, ম্যাকিনটোশ ইত্যাদি) টেলনেট ইউটিলিটি সহই বের হয়ে থাকে। টেলনেট এ কাজ করা বেশ সহজ। টেলনেট কমান্ডে শুধুমাত্র হোস্ট নেম অথবা আইপি এ্যাড্রেস দিয়ে দিন এবং ব্যবহারকারীর নাম ও পাসওয়ার্ড দিয়ে প্রবেশ করুন। টেলনেট সেশন এর মাধ্যমে যে টার্মিনাল পাওয়া যায় তা কোন লোকাল টার্মিনাল নয় বরং একটি স্যুডো বা অস্থায়ী টার্মিনাল এবং সাধারন শেল এর মতই কাজ করে থাকে; এখানে যেকোন কমান্ড দিতে পারবেন এবং কমান্ড দেয়া শেষ হলে exit কমান্ডের মাধ্যমে সেশন ও BASHথেকে বের হতে হয়।
নিচে appserver হোস্ট নেম এর একটি কম্পিউটারে টেলনেট এর মাধ্যমে লগইন করার একটি সেশন দেখানো হলঃ
[root@server1 root]# telnet appserver
Trying 192.168.0.1...
Connected to appserver (192.168.0.1).
Escape character is '^]'.
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
login: root
Password:
Last login: Tue Aug 10 14:14:27 from server1
You have new mail.
[root@server1 root]# who
root :0 Aug 10 14:13
root pts/8 Aug 10 14:14 (:0.0)
root pts/10 Aug 10 14:17 (server1)
[root@server1 root]# exit
Connection closed by foreign host.
[root@server1 root]# _
যদিও টেলনেট বহুল ব্যবহৃত কিন্তু এটি আপনার কম্পিউটাররের সাথে টেলনেট সার্ভার এর যোগাযোগকে এনক্রিপ্ট করে না। তাই বিভিন্ন প্রতিষ্ঠানে সাধারনত এর বদলে সিকিউর শেল (ssh) ব্যবহার করা হয়ে থাকে।
একটি ssh সেশন নিচে উদাহরনস্বরূপ দেয়া হলঃ
[root@server1 root]# ssh appserver
root@appserver's password:
Last login: Tue Aug 10 14:13:22 2005
root@server1 root]# who
root :0 Aug 10 14:13
root pts/8 Aug 10 14:14 (:0.0)
root pts/9 Aug 10 14:14 (server1)
[root@server1 root]# exit
Connection to appserver closed.
[root@server1 root]# _
উপরের আউটপুট একটু ভাল লক্ষ্য করুন- এখানে appserver কম্পিউটারে রুট পাসওয়ার্ডের মাধ্যমে লগইন করার জন্য প্রম্পট দেয়া হয়েছিল কারন আপনি নিজের কম্পিউটারেই রুট হিসেবে লগইন করা অবস্থায় ছিলেন। যদি ভিন্ন নামে উক্ত appserver কম্পিউটারে লগইন করার প্রয়োজন হয় তবে আপনাকে ssh –l username appserver কমান্ড ব্যবহার করতে হবে। একটি প্রতিষ্ঠানের নেটওয়ার্ক এ্যাডমিনিস্ট্রেটরগন সার্ভার নিয়ন্ত্রনের জন্য টেলনেট এবং এসএসএইচ(SSH) উভয়ই ব্যবহার করে থাকেন। সিসকো রাউটারের মত হার্ডওয়্যার নির্ভর নেটওয়ার্ক ডিভাইস সমূহ একইভাবে টেলনেট এবং SSH ইউটিলিটি ব্যবহার করে কানেক্ট হওয়া যায় এবং নিয়ন্ত্রন করা যায়। তবে বেশীরভাগ প্রতিষ্ঠান সে সমস্ত ইউটিলিটি ব্যবহার করে থাকে যেগুলি এ সমস্ত ডিভাইসগুলি সিম্পল নেটওয়ার্ক ম্যানেজমেন্ট টুল(SNMP) প্রটোকল এর মাধ্যমে মনিটর করে অথবা রিমোট মনিটরিং প্রটোকল এর সাহায্যে (RMON)। লিনাক্সের জন্য বেশ কয়েকটি ওপেন সোর্স SNMP এবং RMON প্যাকেজ পাওয়া যায়। এর যে কোন একটি আপনি ব্যবহার করতে পারেন।
বেশীরভাগ ক্ষেত্রেই নেটওয়ার্কে অবস্থিত দূরবর্তী কোন লিনাক্স কম্পিউটার এ ব্যাস শেল পাওয়ার জন্য টেলনেট ব্যবহার করা হয়; প্রচলিত প্রায় সব অপারেটিং সিস্টেম (যেমন লিনাক্স, উইন্ডোজ, ইউনিক্স, ম্যাকিনটোশ ইত্যাদি) টেলনেট ইউটিলিটি সহই বের হয়ে থাকে। টেলনেট এ কাজ করা বেশ সহজ। টেলনেট কমান্ডে শুধুমাত্র হোস্ট নেম অথবা আইপি এ্যাড্রেস দিয়ে দিন এবং ব্যবহারকারীর নাম ও পাসওয়ার্ড দিয়ে প্রবেশ করুন। টেলনেট সেশন এর মাধ্যমে যে টার্মিনাল পাওয়া যায় তা কোন লোকাল টার্মিনাল নয় বরং একটি স্যুডো বা অস্থায়ী টার্মিনাল এবং সাধারন শেল এর মতই কাজ করে থাকে; এখানে যেকোন কমান্ড দিতে পারবেন এবং কমান্ড দেয়া শেষ হলে exit কমান্ডের মাধ্যমে সেশন ও BASHথেকে বের হতে হয়।
নিচে appserver হোস্ট নেম এর একটি কম্পিউটারে টেলনেট এর মাধ্যমে লগইন করার একটি সেশন দেখানো হলঃ
[root@server1 root]# telnet appserver
Trying 192.168.0.1...
Connected to appserver (192.168.0.1).
Escape character is '^]'.
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
login: root
Password:
Last login: Tue Aug 10 14:14:27 from server1
You have new mail.
[root@server1 root]# who
root :0 Aug 10 14:13
root pts/8 Aug 10 14:14 (:0.0)
root pts/10 Aug 10 14:17 (server1)
[root@server1 root]# exit
Connection closed by foreign host.
[root@server1 root]# _
যদিও টেলনেট বহুল ব্যবহৃত কিন্তু এটি আপনার কম্পিউটাররের সাথে টেলনেট সার্ভার এর যোগাযোগকে এনক্রিপ্ট করে না। তাই বিভিন্ন প্রতিষ্ঠানে সাধারনত এর বদলে সিকিউর শেল (ssh) ব্যবহার করা হয়ে থাকে।
একটি ssh সেশন নিচে উদাহরনস্বরূপ দেয়া হলঃ
[root@server1 root]# ssh appserver
root@appserver's password:
Last login: Tue Aug 10 14:13:22 2005
root@server1 root]# who
root :0 Aug 10 14:13
root pts/8 Aug 10 14:14 (:0.0)
root pts/9 Aug 10 14:14 (server1)
[root@server1 root]# exit
Connection to appserver closed.
[root@server1 root]# _
উপরের আউটপুট একটু ভাল লক্ষ্য করুন- এখানে appserver কম্পিউটারে রুট পাসওয়ার্ডের মাধ্যমে লগইন করার জন্য প্রম্পট দেয়া হয়েছিল কারন আপনি নিজের কম্পিউটারেই রুট হিসেবে লগইন করা অবস্থায় ছিলেন। যদি ভিন্ন নামে উক্ত appserver কম্পিউটারে লগইন করার প্রয়োজন হয় তবে আপনাকে ssh –l username appserver কমান্ড ব্যবহার করতে হবে। একটি প্রতিষ্ঠানের নেটওয়ার্ক এ্যাডমিনিস্ট্রেটরগন সার্ভার নিয়ন্ত্রনের জন্য টেলনেট এবং এসএসএইচ(SSH) উভয়ই ব্যবহার করে থাকেন। সিসকো রাউটারের মত হার্ডওয়্যার নির্ভর নেটওয়ার্ক ডিভাইস সমূহ একইভাবে টেলনেট এবং SSH ইউটিলিটি ব্যবহার করে কানেক্ট হওয়া যায় এবং নিয়ন্ত্রন করা যায়। তবে বেশীরভাগ প্রতিষ্ঠান সে সমস্ত ইউটিলিটি ব্যবহার করে থাকে যেগুলি এ সমস্ত ডিভাইসগুলি সিম্পল নেটওয়ার্ক ম্যানেজমেন্ট টুল(SNMP) প্রটোকল এর মাধ্যমে মনিটর করে অথবা রিমোট মনিটরিং প্রটোকল এর সাহায্যে (RMON)। লিনাক্সের জন্য বেশ কয়েকটি ওপেন সোর্স SNMP এবং RMON প্যাকেজ পাওয়া যায়। এর যে কোন একটি আপনি ব্যবহার করতে পারেন।
ডেবিয়ান লিনাক্সে sudo কনফিগার করা
উবুন্তু লিনাক্স ব্যবহারকারীদের নতুন করে sudo নিয়ে কিছু বলার নেই। কারন উবুন্তুতে sudo আগে থেকেই কনফিগার করা থাকে। ফলে যেকোন এ্যাডমিনিস্ট্রেটিভ কাজ sudo দিয়ে করতে পারেন অনায়াসেই। কিন্তু ডেবিয়ান লিনাক্সে রুট এর কাজ করার জন্য সাধারনত রুট হিসেবে লগইন করে কমান্ড দিতে হয়- যা সবসময় নিরাপদ নয়। তাই ডেবিয়ানে sudo ব্যবহার করার জন্য কনফিগার করে নিতে পারেন যাতে আপনি উবুন্তুর মতই কাজ করতে পারেন। তার আগে আসুন sudo নিয়ে কিছুটা আলোচনা করি।
Sudo প্রোগ্রামটি সিস্টেম এ্যাডমিনকে Root ব্যবহারকারীর ক্ষমতা সীমিত আকারে দেয়ার জন্যই ডিজাইন করা হয়েছে। এ প্রোগ্রামের মূল কনসেপ্ট হচ্ছে যত কম ক্ষমতা দেয়া সম্ভব ততটা কম ক্ষমতা প্রদানের মাধ্যমে ব্যবহারকারীকে কাজ সম্পাদনের সুযোগ করে দেয়া।
ডেবিয়ান sudo প্যাকেজ এর পাসওয়ার্ড ১৫ মিনিট পর্যন্ত কর্মক্ষম থাকে। এটার অর্থ হচ্ছে যখন এ কমান্ডের জন্য প্রথমে পাসওয়ার্ড দিবেন তখন পরবর্তী sudo কমান্ড দেয়ার আগে যদি ১৫ মিনিট অতিক্রান্ত না হয় তাহলে আপনাকে আর পাসওয়ার্ড দিতে হবে না। এ পাসওয়ার্ড এর সময়সীমা সাথে সাথেই বাতিল করা যায় নিচের কমান্ডটি দিয়েঃ
sudo -k
ডেবিয়ান এর সুডো নিচের দুটি অপশন সহ কম্পাইল করা হয়ঃ
--with-exempt=sudo
--with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:
ফলে sudo গ্রুপ এর ব্যবহারকারী ছাড়া অন্য ব্যবহারকারীর পাথটি এখানে ধর্তব্য নয়।
ডেবিয়ানে sudo ইনস্টল করা
# apt-get install sudo
/etc/sudoers ফাইলের মাধ্যমেই সুডোকে কনফিগার করতে হয। এ ফাইলের মাধ্যমেই কারা সুডো ব্যবহার করতে পারবেন তা নিয়ন্ত্রন করা হয়। এটি পরিবর্তনের জন্য কমান্ড দিনঃ
# emacs /etc/sudoers (যদি emacs দিয়ে পরিবর্তন করতে চান)
অথবা vi /etc/sudoers
অথবা gedit /etc/sudoers
এরপর নিচের লাইনটি যোগ করুনঃ
user ALL=(ALL) ALL
(এখানে userএর জায়গায় আপনার ইউজার নেম হবে)
root হিসেবে কোন কমান্ড দেয়ার জন্য টাইপ করুনঃ
sudo command
আরো বেশী কমান্ড দেয়ার জন্য আপনার শেলকে sudo এর সাহায্যে চালু করুনঃ
sudo sh (যদি sh আপনার শেল হয়)
রুট হিসেবে কাজ করার সময় অবশ্যই সতর্ক থাকবেন। যখন কাজ শেষ হবে বের হওয়ার জন্য টাইপ করুনঃ
exit
User_Alias ROOT = user1, user2, user3
User_Alias WEBMASTERS = user4, user5, user6
# commands
Cmnd_Alias APACHE = /usr/local/sbin/kickapache
Cmnd_Alias TAIL = /usr/bin/tail
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias APT = /usr/bin/apt-get, /usr/bin/dpkg
# privileges
ROOT ALL = (ALL) ALL
WEBMASTERS ALL = PASSWD : APACHE, TAIL
admin ALL = NOPASSWD : /etc/init.d/apache
Sudo প্রোগ্রামটি সিস্টেম এ্যাডমিনকে Root ব্যবহারকারীর ক্ষমতা সীমিত আকারে দেয়ার জন্যই ডিজাইন করা হয়েছে। এ প্রোগ্রামের মূল কনসেপ্ট হচ্ছে যত কম ক্ষমতা দেয়া সম্ভব ততটা কম ক্ষমতা প্রদানের মাধ্যমে ব্যবহারকারীকে কাজ সম্পাদনের সুযোগ করে দেয়া।
ডেবিয়ান sudo প্যাকেজ এর পাসওয়ার্ড ১৫ মিনিট পর্যন্ত কর্মক্ষম থাকে। এটার অর্থ হচ্ছে যখন এ কমান্ডের জন্য প্রথমে পাসওয়ার্ড দিবেন তখন পরবর্তী sudo কমান্ড দেয়ার আগে যদি ১৫ মিনিট অতিক্রান্ত না হয় তাহলে আপনাকে আর পাসওয়ার্ড দিতে হবে না। এ পাসওয়ার্ড এর সময়সীমা সাথে সাথেই বাতিল করা যায় নিচের কমান্ডটি দিয়েঃ
sudo -k
ডেবিয়ান এর সুডো নিচের দুটি অপশন সহ কম্পাইল করা হয়ঃ
--with-exempt=sudo
--with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:
ফলে sudo গ্রুপ এর ব্যবহারকারী ছাড়া অন্য ব্যবহারকারীর পাথটি এখানে ধর্তব্য নয়।
ডেবিয়ানে sudo ইনস্টল করা
# apt-get install sudo
/etc/sudoers ফাইলের মাধ্যমেই সুডোকে কনফিগার করতে হয। এ ফাইলের মাধ্যমেই কারা সুডো ব্যবহার করতে পারবেন তা নিয়ন্ত্রন করা হয়। এটি পরিবর্তনের জন্য কমান্ড দিনঃ
# emacs /etc/sudoers (যদি emacs দিয়ে পরিবর্তন করতে চান)
অথবা vi /etc/sudoers
অথবা gedit /etc/sudoers
এরপর নিচের লাইনটি যোগ করুনঃ
user ALL=(ALL) ALL
(এখানে userএর জায়গায় আপনার ইউজার নেম হবে)
root হিসেবে কোন কমান্ড দেয়ার জন্য টাইপ করুনঃ
sudo command
আরো বেশী কমান্ড দেয়ার জন্য আপনার শেলকে sudo এর সাহায্যে চালু করুনঃ
sudo sh (যদি sh আপনার শেল হয়)
রুট হিসেবে কাজ করার সময় অবশ্যই সতর্ক থাকবেন। যখন কাজ শেষ হবে বের হওয়ার জন্য টাইপ করুনঃ
exit
- SUDO এর কিছু উদাহরনঃ
User_Alias ROOT = user1, user2, user3
User_Alias WEBMASTERS = user4, user5, user6
# commands
Cmnd_Alias APACHE = /usr/local/sbin/kickapache
Cmnd_Alias TAIL = /usr/bin/tail
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias APT = /usr/bin/apt-get, /usr/bin/dpkg
# privileges
ROOT ALL = (ALL) ALL
WEBMASTERS ALL = PASSWD : APACHE, TAIL
admin ALL = NOPASSWD : /etc/init.d/apache
লিনাক্সে নির্দিষ্ট প্যাকেজের অফলাইন ইনস্টলার তৈরী করা
কুইক স্টার্টঃ যদি বিস্তারিত না পড়ে শুরু করতে চান সরাসরি উদাহরন দিয়েই শুরু করুন
=======================================
রিফাত ও শাহেদ একই ডিপার্টমেন্ট এ পড়ে। এ সূত্র থেকেই পরিচয়, অতঃপর ঘনিষ্ঠতা। রিফাত কম্পিউটারে এক্সপার্ট হওয়াতে শাহেদ প্রায়ই তার কাছে যায় নানারকম সাহায্যের জন্য। একদিন রিফাতের রুমে গিয়ে শাহেদ দেখতে পেল সে উবুন্তু লিনাক্স ব্যবহার করছে। লিনাক্সের নাম সে আগেই শুনেছে কিন্তু কোনদিন ব্যবহার করে দেখেনি। তাই সে রিফাতকে অনুরোধ করল তার মেশিনে লিনাক্স ইনস্টল করার জন্য। অবশেষে একদিন রিফাত শাহেদের কম্পিউটারে লিনাক্স ইনস্টল করে দিল। কিন্তু সমস্যা হল, শাহেদ কোন গান বা ভিডিও দেখতে পারছে না, বাংলা লিখতে/দেখতে পারছে না। তখন রিফাত তাকে বলল যে, ইন্টারনেট কানেকশন না থাকলে গান/ভিডিও দেখার মাল্টিমিডিয়া কোডেক ইনস্টল করা যায় না। শাহেদ তাকে পেনড্রাইভে উক্ত সফটওয়্যারটি কপি করে দিতে বলায় রিফাত ইন্টারনেট থেকে কোডেকগুলি নামিয়ে তাকে পেনড্রাইভে কপি করে দিল। বাসায় গিয়ে শাহেদ ইনস্টল করতে বসে গেল। ঠিক যেভাবে উইন্ডোজের সফটওয়্যার ইনস্টল করে থাকে। ডাবল ক্লিক এন্ড গো। কিন্তু একি! খানিকসময় ইনস্টল হওয়ার পর বলে, আরো ৫/৭ টি ফাইল লাগবে। যেগুলি নাকি ডিপেনডেন্সী ফাইল। সে বুদ্ধি করে ফাইলগুলির নাম লিখে রাখল। তারপর আবার রিফাতের কাছে গিয়ে সেগুলিকে একে একে ইন্টারনেট থেকে ডাউনলোড করে আনল। এবার আবার ইনস্টল করতে বসে গেল। কিন্তু আগের ফাইলগুলি ধারাবাহিকভাবে ইনস্টলের পর আবার আগের মত মেসেজ দেখাচ্ছে- যেখানে আরো কয়েকটি ফাইল ডিপেনডেন্সী হিসেবে লাগবে। এবার তো মাথায় হাত! এই ডিপেনডেন্সী ফাইল কয়টা লাগবে আর কতবার ইন্টারনেট থেকে ডাউনলোড করে পেনড্রাইভে বাসায় নিয়ে আসতে হবে - এ নিয়ে সে কোন কূল কিনারা পেল না। আস্তে আস্তে লিনাক্স নিয়ে তার উৎসাহ কমে যেতে লাগল। তাই একদিন আবার উইন্ডোজ ইনস্টল করেই তবে হাফ ছেড়ে বাচল। যাক বাবা এবার আর অন্ততঃ ডিপেনডেন্সীর কবলে পড়তে হবে না। শুধু setup.exe তে ডাবল ক্লিক করব আর আরামে চেয়ারে বসে থাকব।
উপরের যে গল্পটি তা আমাদের চারপাশে অহরহ ঘটে যাওয়া এক বাস্তবতা। এমনকি ফোরামে ও মাঝে মধ্যে হঠাৎ করে এক এক জন আবির্ভূত হন এমন সমস্যা নিয়ে। তারপর কিছুদিন বাক বিতন্ডা চলার পর অবশেষে লেজগুটিয়ে প্রত্যাবর্তন। ভাই গান/ভিডিও ফাইল চালানো যায় না, কম্পিউটার খুব স্লো, ড্রাইভগুলি খুব স্লো কাজ করে, ফোল্ডার দেরীতে ওপেন হয় ইত্যাদি ইত্যাদি।
কিন্তু মজার ব্যাপার হচ্ছে যারা লিনাক্স নিয়ে একটু ঘাটাঘাটি করে থাকেন তারা বেশ স্বাচ্ছ্যেন্দের সাথেই সব কাজ করে যাচ্ছেন। কারন তাদের আছে ইন্টারনেট কানেকশন। ইচ্ছা করলেই যেকোন সফটওয়্যার সাথে সাথে ইনস্টল করে ফেলতে পারেন। তাহলে যাদের ইন্টারনেট কানেকশন নেই তাদের জন্য কি কোন সমাধান নেই? রিফাতের ইন্টারনেট কানেকশন থাকলেও কি সে শাহেদকে সাহায্য করতে পারবে না?
উইন্ডোজের সফটওয়্যারগুলি যেমন ডাবল ক্লিক করেই ইনস্টল করা যায় লিনাক্সে ব্যাপারটি ঠিক একইরকম নয়। একটু ভিন্ন। তাই ভিন্ন একটি সিস্টেমকে পুরোপুরি না জানলে তা দিয়ে কোন সমাধান সম্ভব নয়। তাই আসুন উবুন্তু বা ডেবিয়ান যে প্যাকেজ সিস্টেম ব্যবহার করে থাকে তা শুরুতেই একটু জেনে নেই।
ডেবিয়ান বা উবুন্তু যে প্যাকেজ ফরম্যাট ব্যবহার করে থাকে তার এক্সটেনশন হচ্ছে .deb। অর্থাৎ উইন্ডোজে যেমন .exe ফাইল থাকে লিনাক্সে থাকে .deb। আরো একটি প্রধান ফাইল ফরম্যাট .rpm ব্যবহার করে থাকে রেডহ্যাট বেজড লিনাক্সগুলি। কিন্তু এটি কোন সমস্যা নয়। সমস্যা হচ্ছে, উইন্ডোজে আপনি যখন কোন ফাইলে ডাবল ক্লিক করে ইনস্টল প্রসেস শুরু করেন তখন সেই প্রোগ্রামের জন্য যত ধরনের লাইব্রেরী ফাইল লাগে সেগুলি সে ঐ প্যাকেজ থেকেই ইনস্টল করে নেয়। এগুলির এক্সটেনশন সাধারনত .dll হয়ে থাকে যার অর্থ ডিন্যামিক লিংক লাইব্রেরী ফাইল। কনসেপ্টটি সরাসরি প্রোগ্রামিং এর সাথে জড়িত অর্থাৎ ইনহেরিটেন্স কনসেপ্ট এর সাথে যেখানে একটি প্রোগ্রামে আরেকজন প্রোগ্রামার এর লিখিত কোন কোডকে ইমপোর্ট করা হয়ে থাকে এ ফাইলের মাধ্যমে। উইন্ডোজে যখন কোন প্রোগ্রামের সেট আপ ফাইল তৈরী করা হয় তখন এরকম যতগুলি লাইব্রেরী ফাইল একজন প্রোগ্রামার তার সফটওয়্যারে ব্যবহার করেন তার সবগুলিই সাধারনতঃ বান্ডেলড অবস্থায় .exe ফাইলের অভ্যন্তরে দিয়ে দেয়া হয়। তাই ঐ সফটওয়্যার ইনস্টল করার সময় ডাবল ক্লিক এন্ড গো মেথডই যথেষ্ট। কিন্তু লিনাক্স গোড়াতেই এ ধরনের কনসেপ্টকে এড়িয়ে চলেছে। কারন লিনাক্সের লাইব্রেরী ফাইলগুলির বেশীরভাগই ওপেন অর্থাৎ যে কেউই অন্যদের তৈরী করা লাইব্রেরী ফাইল তার প্রোগ্রামে ব্যবহার করতে পারেন। সুতরাং একই লাইব্রেরী ফাইল একাধিক প্যাকেজে দেয়ার বদলে লিনাক্স একটিই দিয়ে থাকে যাতে একবার ইনস্টল করলেই সবাই ব্যবহার করতে পারেন। এজন্য প্যাকেজ ম্যানেজমেন্ট প্রোগ্রাম যেমন apt, dpkg, synaptic যেটিই বলি না কেন তারা মূলত যখনই কোন লাইব্রেরী ফাইল প্রয়োজন মনে করে সেটি আপনার সরবরাহকৃত সিডি অথবা ইন্টারনেট থেকে ডাউনলোড করে নেয়। প্যাকেজ ম্যানেজমেন্ট প্রোগ্রামের কাজ হচ্ছে নির্দিষ্ট প্যাকেজকে ইনস্টল করার সময় যত ধরনের লাইব্রেরী ফাইল তার সাথে সংশ্লিষ্ট সেগুলিকে স্বয়ংক্রিয়ভাবে ইনস্টল করবে। এ ধরনের প্যাকেজ ম্যানেজমেন্ট সিস্টেম ডেভেলপ করার আরো একটি বড় কারন হচ্ছে, লিনাক্সে আগে থেকেই সব ধরনের সফটওয়্যার এক সাথে বান্ডেলড অবস্থায় ৫/৬ টি সিডিসহ আসতো যখন ইন্টারনেট এত সহজলভ্য ছিল না। ইন্টারনেট মোটামুটি সহজলভ্য হলে আগের প্যাকেজ ম্যানেজমেন্ট সিস্টেম এর সাথে একটু আপডেটেড সিস্টেম ইন্টিগ্রেটেড করা হল (ডেবিয়ান এ dpkg থেকে apt-get/aptitude সিস্টেম) যাতে ইন্টারনেট কানেকশন থাকা অবস্থায় সরাসরি ইন্টারনেট থেকেই প্যাকেজ এবং তার ডিপেনডেন্সী ফাইলগুলি একত্রে ইনস্টল করে নিতে পারে। এটি যথেষ্ট বিজ্ঞানসম্মত এবং আধুনিক একটি পদ্ধতি যদি আপনি উইন্ডোজের সাথে তুলনা করেন। উদাহরনস্বরূপঃ আপনার মেশিনে যদি একাধিক গান শোনা, ভিডিও দেখার প্লেয়ার থাকে তবে দেখা যাবে যে, উইন্ডোজে একাধিক mp3, mpeg এর লাইব্রেরী ফাইল/কোডেক ইনস্টল হয়ে আছে যা আসলেই অদক্ষ পদ্ধতি। লিনাক্সের ক্ষেত্রে আপনার একাধিক এমপি৩ প্লেয়ার থাকলেও এমপি৩ কোডেক একটিই ইনস্টল হবে।
এ তো গেল তত্ত্বগত কথা। এখন আপনি যদি আপনার বন্ধুকে সাহায্য করতে চান কোন প্যাকেজকে তার পেনড্রাইভে কপি করে দিয়ে তাহলে সেটিও সম্ভব। সেজন্য আপনাকে ম্যানুয়ালি সব ডিপেনডেন্সী ফাইল কপি করে দিতে হবে। কিন্তু কাজটি কিছুটা শ্রমসাধ্য। তাই আপনাকে কোন অটো সিস্টেম এর সাহায্য নিতে হবে। তার আগে আসুন দেখে নিই ডেবিয়ান/উবুন্তুতে প্যাকেজ সিস্টেমটি কিভাবে মেইনটেইন করা হয় তার উপর আমরা কিছুটা দৃষ্টি নিবদ্ধ করি। তাহলে এটি করা আপনার জন্য অনেকখানি সহজ হয়ে যাবে।
প্রথম পয়েন্ট
প্রথমত, ডেবিয়ানে প্যাকেজ কোথা থেকে ইনস্টল করা হবে তার বর্ননা /etc/apt/sources.list নামক ফাইলে থাকে। এখানে আপনার নিজস্ব সিডি/ডিভিডির বর্ননা থাকে, ইন্টারনেট এ অবস্থিত এফটিপি সার্ভারের ঠিকানা থাকে যেখানে আপনার লিনাক্সের প্যাকেজ ফাইলগুলি থাকে, সিকিউরিটি আপডেট সার্ভার এর ঠিকানাও থাকে যেখান থেকে আপনার সিস্টেম এর সিকিউরিটি প্যাচ ইনস্টল করা হয়ে থাকে।
উপরের তথ্য থেকে এটি স্পষ্ট যে, আপনার দেয়া তথ্যের ভিত্তিতেই লিনাক্স নির্দিষ্ট স্থান থেকে (সিডি/ডিভিডি/এফটিপি সার্ভার) প্যাকেজ ইনস্টল করে থাকে।
একটি নমুনা দেখি এ ফাইলেরঃ
# See sources.list(5) for more information, especially
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
এখানে # দিয়ে শুরু করা লাইনগুলি কমেন্ট যেগুলি apt উপেক্ষা করবে।
৪র্থ লাইনে ডেবিয়ান স্ট্যাবল ভার্সনের main, contrib, non-free এ তিনধরনের প্যাকেজকে ইনস্টল করার জন্য নির্দেশ দেয়া আছে। main হচ্ছে ডেবিয়ান এর নিজস্ব মেইনটেনকৃত প্যাকেজ যেগুলি পুরোপুরি ওপেন সোর্স, contrib হচ্ছে যেগুলি ডেবিয়ান এ অফিসিয়ালি মেইনটেন করা হয় না বরং বিভিন্ন ব্যক্তি এগুলি কন্ট্রিবিউট করে থাকেন, সর্বশেষ non-free যে প্যাকেজসমূহ ওপেন সোর্স হতে ও পারে আবার নাও হতে পারে এবং লাইসেন্স ওপেন নয় এমন প্রোগ্রামসমূহকে নির্দেশ করে।
পরবর্তী লাইনে non-us ডেবিয়ান প্যাকেজ ইনস্টলের জন্য নির্দেশ দেয়া হয়েছে যেগুলি ইউ.এস এর বাইরে সারা বিশ্বে ডেভেলপ করা হয়ে থাকে।
৬ষ্ঠ লাইনে ডেবিয়ানের সিকিউরিটি আপডেটসমূহ ইনস্টলের নির্দেশ যা একইভাবে main, contrib, non-free ইত্যাদিতে বিভক্ত।
উপরের লাইনগুলি দিয়ে মূলত আপনার প্যাকেজগুলি কোথা থেকে ইনস্টল করা হবে তার নির্দেশ।
যদি আপনি কোন সিডি/ডিভিডি এ ফাইলে যোগ করতে চান তবে কমান্ডের সাহায্যে দিতে পারেন যেটি সবচেয়ে সহজ। এর কমান্ড হচ্ছেঃ apt-cdrom add
এটি স্বয়ংক্রিয়ভাবে সিডি/ডিভিডিকে এ ফাইল যোগ করবে। উক্ত ফাইলে কোন ধরনের পরিবর্তনের পর কমান্ড দিনঃ apt-get update। ফলে আপনার পরিবর্তন পরবর্তী ইনস্টলের সময় কাজে লাগবে। অন্যথায় পরিবর্তন বুঝতে পারবেনা প্যাকেজ ম্যানেজমেন্ট সিস্টেম।
দ্বিতীয় পয়েন্ট
লিনাক্সের প্যাকেজগুলি সাধারনত জিপ/আর্কাইভ আকারে থাকে। তাই apt প্রথমেই এগুলিকে আর্কাইভ থেকে ডাউনলোড করে /var/cache/apt/archives নামক ফোল্ডারে রাখবে। আপনি সিডি/ডিভিডি থেকে ইনস্টল করলেও এটি করবে। সুতরাং আপনার ইনস্টলকৃত প্যাকেজের .deb ফাইলগুলি এখানে পাবেন যেটি উইন্ডোজের .exe ফাইলের সমতূল্য।
এ পয়েন্টটি বেশ গুরুত্বপূর্ন। ভাল করে লক্ষ্য করুন, আমরা যে apt-get, aptitude কমান্ড দিয়ে থাকি সেটি মূলত দুটি কাজ করে -১) আপনার প্যাকেজকে আর্কাইভ থেকে ডাউনলোড করে /var/cache/apt/archives ফোল্ডারে রাখে ২) সবশেষে এ ফাইলগুলির সাহায্যে ইনস্টল সম্পন্ন করে।
তৃতীয় পয়েন্ট
apt-get, aptitude কমান্ড এর সাহায্যে /etc/apt/sources.list এ বর্নিত সোর্সগুলি থেকে সফটওয়্যার ইনস্টল করা যায়। কিন্তু dpkg দিয়ে *.deb ফাইল থেকে সফটওয়্যার ইনস্টল করতে হয়। এ পয়েন্টটি ও গুরুত্বপূর্ন। কারন আপনি আপনার বন্ধুকে দিবেন *.deb ফাইলগুলি যা আপনার /var/cache/apt/archives নামক ফোল্ডারে সংরক্ষিত হয় ইনস্টলের সময়।
চতুর্থ পয়েন্ট
/var/cache/apt/archives ফোল্ডারে প্রথম থেকেই ফাইল জমা হতে শুরু করে। তাই যখন এর ধারনক্ষমতার বাইরে চলে যায় তখন আগের ফাইলগুলি মুছে ফেলে। এছাড়া আপনি যদি কখনও apt-get clean কমান্ড প্রয়োগ করেন তাহলে এ ফাইলে সংরক্ষিত সকল ফাইল মুছে যাবে স্বয়ংক্রিয়ভাবে। তাই আপনার বন্ধুকে ফাইল দেয়ার সময় আপনাকে কিছুটা প্ল্যান করেই কাজ করতে হবে। এছাড়া ধরুন আপনার মেশিনে আগে থেকেই অনেক লাইব্রেরী ফাইল ইনস্টল হয়ে আছে সেক্ষেত্রে একটি নতুন প্যাকেজ ইনস্টলের সময় সকল ফাইল এ ফোল্ডারে না পাওয়ার সম্ভাবনা আছে। তাই আপনাকে একটি নতুন ইনস্টলড লিনাক্স মেশিন বেছে নিতে হবে যেখানে আগে থেকে অতিরিক্ত কোন লাইব্রেরী ফাইল ইনস্টল হয়ে নেই। শুধুমাত্র মেশিন সেট আপের সময় যে প্যাকেজগুলি ইনস্টল করেছিলেন তা-ই আছে। তাহলে কি আপনাকে নতুন করে লিনাক্স ইনস্টল করতে হবে সব ধুয়ে মুছে- শুধুমাত্র বন্ধুকে সাহায্য করার জন্য? নাহ্ ভয় পাওয়ার কিছু নেই। আপনি এর বিকল্প হিসেবে লাইভ সিডি ব্যবহার করতে পারেন।
ধাপসমূহঃ
এবার অন্য মেশিনে ফোল্ডারটি কপি করার পর টার্মিনাল খুলুন এবং সেই ফোল্ডারে যান টার্মিনাল এর সাহায্যে(cd foldername কমান্ড দিয়ে)। তারপর কমান্ড দিনঃ dpkg –i *.deb। যদি উবুন্তু হয় তবে আগে sudo লাগান। ডেবিয়ান লিনাক্স হলে রুট হিসেবে প্রথমে লগইন করুন তারপর কমান্ড দিন। এজন্য টাইপ করুন su এবং এন্টার দিয়ে পাসওয়ার্ড দিন।
অথবা আপনি আপনার বন্ধুর মেশিনে /var/cache/apt/archives ফোল্ডারে কপি করে দিন তারপর প্যাকেজ ইনস্টলের জন্য apt-get install packagename কমান্ড দিলেই হবে।
যদি এভাবে আরেকটি প্যাকেজ ইনস্টল করতে চান তবে আবার একই পদ্ধতিতে পুনরায় লাইভ সিডি চালু করুন এবং ধাপসমূহ অনুসরন করুন।
একটি সহজ উদাহরন
আমরা বাংলা টাইপিংয়ের জন্য scim-m17n প্যাকেজ ইনস্টল করব।
লাইভ সিডি চালু ও ইন্টারনেট কানেকশন দেয়ার পর প্যাকেজ সার্চের জন্য কমান্ড দিনঃ
aptitude search scim
এরপর scim নামের সকল প্যাকেজ দেখাবে। যেগুলির পাশে i দেখতে পাবেন সেগুলি ইনস্টল করা আছে। বাকিগুলি থেকে scim-m17n এর নাম দেখে নিন এবং পরবর্তী কমান্ড দিনঃ (উবুন্তু হলে আগে sudo দিন)
aptitude install scim-m17n
এবার ইনস্টল প্রক্রিয়া শুরু হবে এবং স্ক্রিনে দেখতে পাবেন কোন কোন প্যাকেজ এবং ফাইল /var/cache/apt/archives ফাইলে কপি করছে। তারপর বাংলা ফন্ট ইনস্টলের কমান্ড দিনঃ
aptitude install ttf-bengali-fonts
তাহলে আপনি ফন্টসহ প্যাকেজ দিতে পারবেন।
প্যাকেজ ইনস্টল শেষে /var/cache/apt/archives ফোল্ডার থেকে সবগুলি .deb ফাইল অন্য কোথাও/পেন ড্রাইভে কপি করে নিন। আমার ক্ষেত্রে ফাইলগুলি ছিলঃ
libanthy0_9100e-3.2ubuntu1_i386
libgd2-xpm_2.0.36~rc1~dfsg-3ubuntu1_i386
libm17n-0_1.5.1-1_i386
libotf0_0.9.4-1_i386
m17n-contrib_1.1.5-1_all
m17n-db_1.5.1-1_all
scim-m17n_0.2.2-3_i386
ttf-bengali-fonts_1%3a0.5.4ubuntu2_all
আপনার লাইভ সিডি বন্ধুর মেশিনে /etc/apt/sources.list ফাইলে যোগ করার জন্য সিডি ঢোকানোর পর কমান্ড দিনঃ
apt-cdrom add
এবার আপনার বন্ধুর মেশিনে এগুলি /var/cache/apt/archives ফোল্ডারে কপি করে কমান্ড দিন আগের মতইঃ
aptitude install scim-m17n
aptitude install ttf-bengali-fonts
অথবা
বন্ধুর মেশিনে ফোল্ডারটি কপি করার পর টার্মিনাল খুলুন এবং সেই ফোল্ডারে যান টার্মিনাল এর সাহায্যে(cd foldername কমান্ড দিয়ে)। তারপর কমান্ড দিনঃ dpkg –i *.deb
হয়ে গেল আপনার ইউনিজয় স্কিম ইনপুট মেথড এর ইনস্টলার!
এখন থেকে আপনি ইউনিজয় কি-বোর্ড সাধারন এডিটর যেমন-gedit এ ব্যবহার করতে পারবেন। এজন্য উক্ত এ্যাপ্লিকেশনের ফাঁকা জায়গায় মাউস এর ডান বাটন ক্লিক করে কি-বোর্ড পরিবর্তন করে নিন।
আর অন্যান্য এ্যাপ্লিকেশনে ব্যবহার করার জন্য নিচের বর্নিত পদ্ধতিতে কাজ করুন তাহলে ctrl + space বার চেপে বাংলা লিখতে পারবেন সব প্রোগ্রামে।
আগের মতই টার্মিনাল/শেল খুলুন এবং কমান্ড দিনঃ
gedit ব্যবহার করলে কমান্ডঃ
gedit /etc/X11/Xsession.d/90im-switch
অথবা
vi editor ব্যবহার করলে কমান্ড
vim /etc/X11/Xsession.d/90im-switch
খুব সাবধানতার সাথে কমান্ডটি দিবেন। যদি 90im-switch নামে কোন ফাইল থাকে তাহলে সেটি খুলবে নতুবা নতুন একটি ফাইল তৈরী হবে ঐ নামে।
export XMODIFIERS="@im=SCIM"
export XIM_PROGRAM="scim -d"
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
যদি ফাইলে কোন কিছু লেখা থাকে সব মুছে দিন। vim এডিটর এ খুললে কয়েকবার dd চাপুন তাহলে এক লাইন করে মুছতে পারবেন। আর geditor এ খুললে মাউস দিয়ে সিলেক্ট করে মুছে দিন। এবার উপরের ৪টি লাইন কপি করে পেস্ট করুন এ ফাইলে অথবা নিজে টাইপ করে দিতে পারেন। যদি কপি করতে চান তাহলে কপি করে পেস্ট করার পর "(ডাবল ইনভার্টেড) কমাগুলিকে মুছে নিজে হাতে টাইপ করে দিন। অনেক সময় এগুলি বিভিন্ন এডিটরে বিভিন্ন রকম ক্যারেক্টার হিসেবে দেখায় তাই কপি পেস্ট করলে অন্য ক্যারেক্টারে রূপান্তরিত হয়ে যায়।
সবশেষে সেভ করুন সেভ বাটনে ক্লিক করে। vi এডিটর হলে কমান্ড দিন :wq।
এবার মেশিন রিস্টার্ট করুন।
এখন যেকোন প্রোগ্রাম থেকেই ctrl + space bar চাপ দিয়ে বাংলা লেখা শুরু করতে পারবেন। লেখার শুরুতেই দেখতে পাবেন কি-বোর্ড এর মত একটি আইকন যেখানে M17-bn-unijoy কথাটি লেখা আছে। এটিতে ক্লিক করেও কি-বোর্ড পরিবর্তন করতে পারবেন।
এখন যে-কোনো একটি এ্যপ্লিকেশন চালু করে Ctrl এবং Space Bar চাপ দিলে বাংলা লেখা যাবে।
যদি এরপরও সমস্যা হয় তবে System--> Administration --> Scim Input Method Setup এ ক্লিক করে বাংলা কি-বোর্ড (ইউনিজয়) এর জন্য ctrl + spacebar কে কনফিগার করে দিন। এখান থেকে আপনি প্রভাত বা অন্যান্য কি-বোর্ড ও সেট করতে পারবেন। আশা করি আর সমস্যায় পড়তে হবে না লিনাক্সে বাংলা লেখা নিয়ে।
ডাউনলোড করুন আমার তৈরী ইনস্টলারঃ
http://www.mediafire.com/?z4y0gkqncj4
=======================================
রিফাত ও শাহেদ একই ডিপার্টমেন্ট এ পড়ে। এ সূত্র থেকেই পরিচয়, অতঃপর ঘনিষ্ঠতা। রিফাত কম্পিউটারে এক্সপার্ট হওয়াতে শাহেদ প্রায়ই তার কাছে যায় নানারকম সাহায্যের জন্য। একদিন রিফাতের রুমে গিয়ে শাহেদ দেখতে পেল সে উবুন্তু লিনাক্স ব্যবহার করছে। লিনাক্সের নাম সে আগেই শুনেছে কিন্তু কোনদিন ব্যবহার করে দেখেনি। তাই সে রিফাতকে অনুরোধ করল তার মেশিনে লিনাক্স ইনস্টল করার জন্য। অবশেষে একদিন রিফাত শাহেদের কম্পিউটারে লিনাক্স ইনস্টল করে দিল। কিন্তু সমস্যা হল, শাহেদ কোন গান বা ভিডিও দেখতে পারছে না, বাংলা লিখতে/দেখতে পারছে না। তখন রিফাত তাকে বলল যে, ইন্টারনেট কানেকশন না থাকলে গান/ভিডিও দেখার মাল্টিমিডিয়া কোডেক ইনস্টল করা যায় না। শাহেদ তাকে পেনড্রাইভে উক্ত সফটওয়্যারটি কপি করে দিতে বলায় রিফাত ইন্টারনেট থেকে কোডেকগুলি নামিয়ে তাকে পেনড্রাইভে কপি করে দিল। বাসায় গিয়ে শাহেদ ইনস্টল করতে বসে গেল। ঠিক যেভাবে উইন্ডোজের সফটওয়্যার ইনস্টল করে থাকে। ডাবল ক্লিক এন্ড গো। কিন্তু একি! খানিকসময় ইনস্টল হওয়ার পর বলে, আরো ৫/৭ টি ফাইল লাগবে। যেগুলি নাকি ডিপেনডেন্সী ফাইল। সে বুদ্ধি করে ফাইলগুলির নাম লিখে রাখল। তারপর আবার রিফাতের কাছে গিয়ে সেগুলিকে একে একে ইন্টারনেট থেকে ডাউনলোড করে আনল। এবার আবার ইনস্টল করতে বসে গেল। কিন্তু আগের ফাইলগুলি ধারাবাহিকভাবে ইনস্টলের পর আবার আগের মত মেসেজ দেখাচ্ছে- যেখানে আরো কয়েকটি ফাইল ডিপেনডেন্সী হিসেবে লাগবে। এবার তো মাথায় হাত! এই ডিপেনডেন্সী ফাইল কয়টা লাগবে আর কতবার ইন্টারনেট থেকে ডাউনলোড করে পেনড্রাইভে বাসায় নিয়ে আসতে হবে - এ নিয়ে সে কোন কূল কিনারা পেল না। আস্তে আস্তে লিনাক্স নিয়ে তার উৎসাহ কমে যেতে লাগল। তাই একদিন আবার উইন্ডোজ ইনস্টল করেই তবে হাফ ছেড়ে বাচল। যাক বাবা এবার আর অন্ততঃ ডিপেনডেন্সীর কবলে পড়তে হবে না। শুধু setup.exe তে ডাবল ক্লিক করব আর আরামে চেয়ারে বসে থাকব।
উপরের যে গল্পটি তা আমাদের চারপাশে অহরহ ঘটে যাওয়া এক বাস্তবতা। এমনকি ফোরামে ও মাঝে মধ্যে হঠাৎ করে এক এক জন আবির্ভূত হন এমন সমস্যা নিয়ে। তারপর কিছুদিন বাক বিতন্ডা চলার পর অবশেষে লেজগুটিয়ে প্রত্যাবর্তন। ভাই গান/ভিডিও ফাইল চালানো যায় না, কম্পিউটার খুব স্লো, ড্রাইভগুলি খুব স্লো কাজ করে, ফোল্ডার দেরীতে ওপেন হয় ইত্যাদি ইত্যাদি।
কিন্তু মজার ব্যাপার হচ্ছে যারা লিনাক্স নিয়ে একটু ঘাটাঘাটি করে থাকেন তারা বেশ স্বাচ্ছ্যেন্দের সাথেই সব কাজ করে যাচ্ছেন। কারন তাদের আছে ইন্টারনেট কানেকশন। ইচ্ছা করলেই যেকোন সফটওয়্যার সাথে সাথে ইনস্টল করে ফেলতে পারেন। তাহলে যাদের ইন্টারনেট কানেকশন নেই তাদের জন্য কি কোন সমাধান নেই? রিফাতের ইন্টারনেট কানেকশন থাকলেও কি সে শাহেদকে সাহায্য করতে পারবে না?
উইন্ডোজের সফটওয়্যারগুলি যেমন ডাবল ক্লিক করেই ইনস্টল করা যায় লিনাক্সে ব্যাপারটি ঠিক একইরকম নয়। একটু ভিন্ন। তাই ভিন্ন একটি সিস্টেমকে পুরোপুরি না জানলে তা দিয়ে কোন সমাধান সম্ভব নয়। তাই আসুন উবুন্তু বা ডেবিয়ান যে প্যাকেজ সিস্টেম ব্যবহার করে থাকে তা শুরুতেই একটু জেনে নেই।
ডেবিয়ান বা উবুন্তু যে প্যাকেজ ফরম্যাট ব্যবহার করে থাকে তার এক্সটেনশন হচ্ছে .deb। অর্থাৎ উইন্ডোজে যেমন .exe ফাইল থাকে লিনাক্সে থাকে .deb। আরো একটি প্রধান ফাইল ফরম্যাট .rpm ব্যবহার করে থাকে রেডহ্যাট বেজড লিনাক্সগুলি। কিন্তু এটি কোন সমস্যা নয়। সমস্যা হচ্ছে, উইন্ডোজে আপনি যখন কোন ফাইলে ডাবল ক্লিক করে ইনস্টল প্রসেস শুরু করেন তখন সেই প্রোগ্রামের জন্য যত ধরনের লাইব্রেরী ফাইল লাগে সেগুলি সে ঐ প্যাকেজ থেকেই ইনস্টল করে নেয়। এগুলির এক্সটেনশন সাধারনত .dll হয়ে থাকে যার অর্থ ডিন্যামিক লিংক লাইব্রেরী ফাইল। কনসেপ্টটি সরাসরি প্রোগ্রামিং এর সাথে জড়িত অর্থাৎ ইনহেরিটেন্স কনসেপ্ট এর সাথে যেখানে একটি প্রোগ্রামে আরেকজন প্রোগ্রামার এর লিখিত কোন কোডকে ইমপোর্ট করা হয়ে থাকে এ ফাইলের মাধ্যমে। উইন্ডোজে যখন কোন প্রোগ্রামের সেট আপ ফাইল তৈরী করা হয় তখন এরকম যতগুলি লাইব্রেরী ফাইল একজন প্রোগ্রামার তার সফটওয়্যারে ব্যবহার করেন তার সবগুলিই সাধারনতঃ বান্ডেলড অবস্থায় .exe ফাইলের অভ্যন্তরে দিয়ে দেয়া হয়। তাই ঐ সফটওয়্যার ইনস্টল করার সময় ডাবল ক্লিক এন্ড গো মেথডই যথেষ্ট। কিন্তু লিনাক্স গোড়াতেই এ ধরনের কনসেপ্টকে এড়িয়ে চলেছে। কারন লিনাক্সের লাইব্রেরী ফাইলগুলির বেশীরভাগই ওপেন অর্থাৎ যে কেউই অন্যদের তৈরী করা লাইব্রেরী ফাইল তার প্রোগ্রামে ব্যবহার করতে পারেন। সুতরাং একই লাইব্রেরী ফাইল একাধিক প্যাকেজে দেয়ার বদলে লিনাক্স একটিই দিয়ে থাকে যাতে একবার ইনস্টল করলেই সবাই ব্যবহার করতে পারেন। এজন্য প্যাকেজ ম্যানেজমেন্ট প্রোগ্রাম যেমন apt, dpkg, synaptic যেটিই বলি না কেন তারা মূলত যখনই কোন লাইব্রেরী ফাইল প্রয়োজন মনে করে সেটি আপনার সরবরাহকৃত সিডি অথবা ইন্টারনেট থেকে ডাউনলোড করে নেয়। প্যাকেজ ম্যানেজমেন্ট প্রোগ্রামের কাজ হচ্ছে নির্দিষ্ট প্যাকেজকে ইনস্টল করার সময় যত ধরনের লাইব্রেরী ফাইল তার সাথে সংশ্লিষ্ট সেগুলিকে স্বয়ংক্রিয়ভাবে ইনস্টল করবে। এ ধরনের প্যাকেজ ম্যানেজমেন্ট সিস্টেম ডেভেলপ করার আরো একটি বড় কারন হচ্ছে, লিনাক্সে আগে থেকেই সব ধরনের সফটওয়্যার এক সাথে বান্ডেলড অবস্থায় ৫/৬ টি সিডিসহ আসতো যখন ইন্টারনেট এত সহজলভ্য ছিল না। ইন্টারনেট মোটামুটি সহজলভ্য হলে আগের প্যাকেজ ম্যানেজমেন্ট সিস্টেম এর সাথে একটু আপডেটেড সিস্টেম ইন্টিগ্রেটেড করা হল (ডেবিয়ান এ dpkg থেকে apt-get/aptitude সিস্টেম) যাতে ইন্টারনেট কানেকশন থাকা অবস্থায় সরাসরি ইন্টারনেট থেকেই প্যাকেজ এবং তার ডিপেনডেন্সী ফাইলগুলি একত্রে ইনস্টল করে নিতে পারে। এটি যথেষ্ট বিজ্ঞানসম্মত এবং আধুনিক একটি পদ্ধতি যদি আপনি উইন্ডোজের সাথে তুলনা করেন। উদাহরনস্বরূপঃ আপনার মেশিনে যদি একাধিক গান শোনা, ভিডিও দেখার প্লেয়ার থাকে তবে দেখা যাবে যে, উইন্ডোজে একাধিক mp3, mpeg এর লাইব্রেরী ফাইল/কোডেক ইনস্টল হয়ে আছে যা আসলেই অদক্ষ পদ্ধতি। লিনাক্সের ক্ষেত্রে আপনার একাধিক এমপি৩ প্লেয়ার থাকলেও এমপি৩ কোডেক একটিই ইনস্টল হবে।
এ তো গেল তত্ত্বগত কথা। এখন আপনি যদি আপনার বন্ধুকে সাহায্য করতে চান কোন প্যাকেজকে তার পেনড্রাইভে কপি করে দিয়ে তাহলে সেটিও সম্ভব। সেজন্য আপনাকে ম্যানুয়ালি সব ডিপেনডেন্সী ফাইল কপি করে দিতে হবে। কিন্তু কাজটি কিছুটা শ্রমসাধ্য। তাই আপনাকে কোন অটো সিস্টেম এর সাহায্য নিতে হবে। তার আগে আসুন দেখে নিই ডেবিয়ান/উবুন্তুতে প্যাকেজ সিস্টেমটি কিভাবে মেইনটেইন করা হয় তার উপর আমরা কিছুটা দৃষ্টি নিবদ্ধ করি। তাহলে এটি করা আপনার জন্য অনেকখানি সহজ হয়ে যাবে।
প্রথম পয়েন্ট
প্রথমত, ডেবিয়ানে প্যাকেজ কোথা থেকে ইনস্টল করা হবে তার বর্ননা /etc/apt/sources.list নামক ফাইলে থাকে। এখানে আপনার নিজস্ব সিডি/ডিভিডির বর্ননা থাকে, ইন্টারনেট এ অবস্থিত এফটিপি সার্ভারের ঠিকানা থাকে যেখানে আপনার লিনাক্সের প্যাকেজ ফাইলগুলি থাকে, সিকিউরিটি আপডেট সার্ভার এর ঠিকানাও থাকে যেখান থেকে আপনার সিস্টেম এর সিকিউরিটি প্যাচ ইনস্টল করা হয়ে থাকে।
উপরের তথ্য থেকে এটি স্পষ্ট যে, আপনার দেয়া তথ্যের ভিত্তিতেই লিনাক্স নির্দিষ্ট স্থান থেকে (সিডি/ডিভিডি/এফটিপি সার্ভার) প্যাকেজ ইনস্টল করে থাকে।
একটি নমুনা দেখি এ ফাইলেরঃ
# See sources.list(5) for more information, especially
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
এখানে # দিয়ে শুরু করা লাইনগুলি কমেন্ট যেগুলি apt উপেক্ষা করবে।
৪র্থ লাইনে ডেবিয়ান স্ট্যাবল ভার্সনের main, contrib, non-free এ তিনধরনের প্যাকেজকে ইনস্টল করার জন্য নির্দেশ দেয়া আছে। main হচ্ছে ডেবিয়ান এর নিজস্ব মেইনটেনকৃত প্যাকেজ যেগুলি পুরোপুরি ওপেন সোর্স, contrib হচ্ছে যেগুলি ডেবিয়ান এ অফিসিয়ালি মেইনটেন করা হয় না বরং বিভিন্ন ব্যক্তি এগুলি কন্ট্রিবিউট করে থাকেন, সর্বশেষ non-free যে প্যাকেজসমূহ ওপেন সোর্স হতে ও পারে আবার নাও হতে পারে এবং লাইসেন্স ওপেন নয় এমন প্রোগ্রামসমূহকে নির্দেশ করে।
পরবর্তী লাইনে non-us ডেবিয়ান প্যাকেজ ইনস্টলের জন্য নির্দেশ দেয়া হয়েছে যেগুলি ইউ.এস এর বাইরে সারা বিশ্বে ডেভেলপ করা হয়ে থাকে।
৬ষ্ঠ লাইনে ডেবিয়ানের সিকিউরিটি আপডেটসমূহ ইনস্টলের নির্দেশ যা একইভাবে main, contrib, non-free ইত্যাদিতে বিভক্ত।
উপরের লাইনগুলি দিয়ে মূলত আপনার প্যাকেজগুলি কোথা থেকে ইনস্টল করা হবে তার নির্দেশ।
যদি আপনি কোন সিডি/ডিভিডি এ ফাইলে যোগ করতে চান তবে কমান্ডের সাহায্যে দিতে পারেন যেটি সবচেয়ে সহজ। এর কমান্ড হচ্ছেঃ apt-cdrom add
এটি স্বয়ংক্রিয়ভাবে সিডি/ডিভিডিকে এ ফাইল যোগ করবে। উক্ত ফাইলে কোন ধরনের পরিবর্তনের পর কমান্ড দিনঃ apt-get update। ফলে আপনার পরিবর্তন পরবর্তী ইনস্টলের সময় কাজে লাগবে। অন্যথায় পরিবর্তন বুঝতে পারবেনা প্যাকেজ ম্যানেজমেন্ট সিস্টেম।
দ্বিতীয় পয়েন্ট
লিনাক্সের প্যাকেজগুলি সাধারনত জিপ/আর্কাইভ আকারে থাকে। তাই apt প্রথমেই এগুলিকে আর্কাইভ থেকে ডাউনলোড করে /var/cache/apt/archives নামক ফোল্ডারে রাখবে। আপনি সিডি/ডিভিডি থেকে ইনস্টল করলেও এটি করবে। সুতরাং আপনার ইনস্টলকৃত প্যাকেজের .deb ফাইলগুলি এখানে পাবেন যেটি উইন্ডোজের .exe ফাইলের সমতূল্য।
এ পয়েন্টটি বেশ গুরুত্বপূর্ন। ভাল করে লক্ষ্য করুন, আমরা যে apt-get, aptitude কমান্ড দিয়ে থাকি সেটি মূলত দুটি কাজ করে -১) আপনার প্যাকেজকে আর্কাইভ থেকে ডাউনলোড করে /var/cache/apt/archives ফোল্ডারে রাখে ২) সবশেষে এ ফাইলগুলির সাহায্যে ইনস্টল সম্পন্ন করে।
তৃতীয় পয়েন্ট
apt-get, aptitude কমান্ড এর সাহায্যে /etc/apt/sources.list এ বর্নিত সোর্সগুলি থেকে সফটওয়্যার ইনস্টল করা যায়। কিন্তু dpkg দিয়ে *.deb ফাইল থেকে সফটওয়্যার ইনস্টল করতে হয়। এ পয়েন্টটি ও গুরুত্বপূর্ন। কারন আপনি আপনার বন্ধুকে দিবেন *.deb ফাইলগুলি যা আপনার /var/cache/apt/archives নামক ফোল্ডারে সংরক্ষিত হয় ইনস্টলের সময়।
চতুর্থ পয়েন্ট
/var/cache/apt/archives ফোল্ডারে প্রথম থেকেই ফাইল জমা হতে শুরু করে। তাই যখন এর ধারনক্ষমতার বাইরে চলে যায় তখন আগের ফাইলগুলি মুছে ফেলে। এছাড়া আপনি যদি কখনও apt-get clean কমান্ড প্রয়োগ করেন তাহলে এ ফাইলে সংরক্ষিত সকল ফাইল মুছে যাবে স্বয়ংক্রিয়ভাবে। তাই আপনার বন্ধুকে ফাইল দেয়ার সময় আপনাকে কিছুটা প্ল্যান করেই কাজ করতে হবে। এছাড়া ধরুন আপনার মেশিনে আগে থেকেই অনেক লাইব্রেরী ফাইল ইনস্টল হয়ে আছে সেক্ষেত্রে একটি নতুন প্যাকেজ ইনস্টলের সময় সকল ফাইল এ ফোল্ডারে না পাওয়ার সম্ভাবনা আছে। তাই আপনাকে একটি নতুন ইনস্টলড লিনাক্স মেশিন বেছে নিতে হবে যেখানে আগে থেকে অতিরিক্ত কোন লাইব্রেরী ফাইল ইনস্টল হয়ে নেই। শুধুমাত্র মেশিন সেট আপের সময় যে প্যাকেজগুলি ইনস্টল করেছিলেন তা-ই আছে। তাহলে কি আপনাকে নতুন করে লিনাক্স ইনস্টল করতে হবে সব ধুয়ে মুছে- শুধুমাত্র বন্ধুকে সাহায্য করার জন্য? নাহ্ ভয় পাওয়ার কিছু নেই। আপনি এর বিকল্প হিসেবে লাইভ সিডি ব্যবহার করতে পারেন।
ধাপসমূহঃ
- লাইভ সিডি থেকে মেশিন চালু করুন।
- ইন্টারনেট কানেকশন চালু করুন।
- তারপর আপনার নির্দিষ্ট প্যাকেজ ইনস্টল করুন।
- এবার /var/cache/apt/archives থেকে সব ফাইলগুলি আরেকটি ফোল্ডারে কপি করে রাখুন আপনার প্যাকেজ এর নাম দিয়ে।
এবার অন্য মেশিনে ফোল্ডারটি কপি করার পর টার্মিনাল খুলুন এবং সেই ফোল্ডারে যান টার্মিনাল এর সাহায্যে(cd foldername কমান্ড দিয়ে)। তারপর কমান্ড দিনঃ dpkg –i *.deb। যদি উবুন্তু হয় তবে আগে sudo লাগান। ডেবিয়ান লিনাক্স হলে রুট হিসেবে প্রথমে লগইন করুন তারপর কমান্ড দিন। এজন্য টাইপ করুন su এবং এন্টার দিয়ে পাসওয়ার্ড দিন।
অথবা আপনি আপনার বন্ধুর মেশিনে /var/cache/apt/archives ফোল্ডারে কপি করে দিন তারপর প্যাকেজ ইনস্টলের জন্য apt-get install packagename কমান্ড দিলেই হবে।
যদি এভাবে আরেকটি প্যাকেজ ইনস্টল করতে চান তবে আবার একই পদ্ধতিতে পুনরায় লাইভ সিডি চালু করুন এবং ধাপসমূহ অনুসরন করুন।
একটি সহজ উদাহরন
আমরা বাংলা টাইপিংয়ের জন্য scim-m17n প্যাকেজ ইনস্টল করব।
লাইভ সিডি চালু ও ইন্টারনেট কানেকশন দেয়ার পর প্যাকেজ সার্চের জন্য কমান্ড দিনঃ
aptitude search scim
এরপর scim নামের সকল প্যাকেজ দেখাবে। যেগুলির পাশে i দেখতে পাবেন সেগুলি ইনস্টল করা আছে। বাকিগুলি থেকে scim-m17n এর নাম দেখে নিন এবং পরবর্তী কমান্ড দিনঃ (উবুন্তু হলে আগে sudo দিন)
aptitude install scim-m17n
এবার ইনস্টল প্রক্রিয়া শুরু হবে এবং স্ক্রিনে দেখতে পাবেন কোন কোন প্যাকেজ এবং ফাইল /var/cache/apt/archives ফাইলে কপি করছে। তারপর বাংলা ফন্ট ইনস্টলের কমান্ড দিনঃ
aptitude install ttf-bengali-fonts
তাহলে আপনি ফন্টসহ প্যাকেজ দিতে পারবেন।
প্যাকেজ ইনস্টল শেষে /var/cache/apt/archives ফোল্ডার থেকে সবগুলি .deb ফাইল অন্য কোথাও/পেন ড্রাইভে কপি করে নিন। আমার ক্ষেত্রে ফাইলগুলি ছিলঃ
libanthy0_9100e-3.2ubuntu1_i386
libgd2-xpm_2.0.36~rc1~dfsg-3ubuntu1_i386
libm17n-0_1.5.1-1_i386
libotf0_0.9.4-1_i386
m17n-contrib_1.1.5-1_all
m17n-db_1.5.1-1_all
scim-m17n_0.2.2-3_i386
ttf-bengali-fonts_1%3a0.5.4ubuntu2_all
আপনার লাইভ সিডি বন্ধুর মেশিনে /etc/apt/sources.list ফাইলে যোগ করার জন্য সিডি ঢোকানোর পর কমান্ড দিনঃ
apt-cdrom add
এবার আপনার বন্ধুর মেশিনে এগুলি /var/cache/apt/archives ফোল্ডারে কপি করে কমান্ড দিন আগের মতইঃ
aptitude install scim-m17n
aptitude install ttf-bengali-fonts
অথবা
বন্ধুর মেশিনে ফোল্ডারটি কপি করার পর টার্মিনাল খুলুন এবং সেই ফোল্ডারে যান টার্মিনাল এর সাহায্যে(cd foldername কমান্ড দিয়ে)। তারপর কমান্ড দিনঃ dpkg –i *.deb
হয়ে গেল আপনার ইউনিজয় স্কিম ইনপুট মেথড এর ইনস্টলার!
এখন থেকে আপনি ইউনিজয় কি-বোর্ড সাধারন এডিটর যেমন-gedit এ ব্যবহার করতে পারবেন। এজন্য উক্ত এ্যাপ্লিকেশনের ফাঁকা জায়গায় মাউস এর ডান বাটন ক্লিক করে কি-বোর্ড পরিবর্তন করে নিন।
আর অন্যান্য এ্যাপ্লিকেশনে ব্যবহার করার জন্য নিচের বর্নিত পদ্ধতিতে কাজ করুন তাহলে ctrl + space বার চেপে বাংলা লিখতে পারবেন সব প্রোগ্রামে।
আগের মতই টার্মিনাল/শেল খুলুন এবং কমান্ড দিনঃ
gedit ব্যবহার করলে কমান্ডঃ
gedit /etc/X11/Xsession.d/90im-switch
অথবা
vi editor ব্যবহার করলে কমান্ড
vim /etc/X11/Xsession.d/90im-switch
খুব সাবধানতার সাথে কমান্ডটি দিবেন। যদি 90im-switch নামে কোন ফাইল থাকে তাহলে সেটি খুলবে নতুবা নতুন একটি ফাইল তৈরী হবে ঐ নামে।
export XMODIFIERS="@im=SCIM"
export XIM_PROGRAM="scim -d"
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
যদি ফাইলে কোন কিছু লেখা থাকে সব মুছে দিন। vim এডিটর এ খুললে কয়েকবার dd চাপুন তাহলে এক লাইন করে মুছতে পারবেন। আর geditor এ খুললে মাউস দিয়ে সিলেক্ট করে মুছে দিন। এবার উপরের ৪টি লাইন কপি করে পেস্ট করুন এ ফাইলে অথবা নিজে টাইপ করে দিতে পারেন। যদি কপি করতে চান তাহলে কপি করে পেস্ট করার পর "(ডাবল ইনভার্টেড) কমাগুলিকে মুছে নিজে হাতে টাইপ করে দিন। অনেক সময় এগুলি বিভিন্ন এডিটরে বিভিন্ন রকম ক্যারেক্টার হিসেবে দেখায় তাই কপি পেস্ট করলে অন্য ক্যারেক্টারে রূপান্তরিত হয়ে যায়।
সবশেষে সেভ করুন সেভ বাটনে ক্লিক করে। vi এডিটর হলে কমান্ড দিন :wq।
এবার মেশিন রিস্টার্ট করুন।
এখন যেকোন প্রোগ্রাম থেকেই ctrl + space bar চাপ দিয়ে বাংলা লেখা শুরু করতে পারবেন। লেখার শুরুতেই দেখতে পাবেন কি-বোর্ড এর মত একটি আইকন যেখানে M17-bn-unijoy কথাটি লেখা আছে। এটিতে ক্লিক করেও কি-বোর্ড পরিবর্তন করতে পারবেন।
এখন যে-কোনো একটি এ্যপ্লিকেশন চালু করে Ctrl এবং Space Bar চাপ দিলে বাংলা লেখা যাবে।
যদি এরপরও সমস্যা হয় তবে System--> Administration --> Scim Input Method Setup এ ক্লিক করে বাংলা কি-বোর্ড (ইউনিজয়) এর জন্য ctrl + spacebar কে কনফিগার করে দিন। এখান থেকে আপনি প্রভাত বা অন্যান্য কি-বোর্ড ও সেট করতে পারবেন। আশা করি আর সমস্যায় পড়তে হবে না লিনাক্সে বাংলা লেখা নিয়ে।
ডাউনলোড করুন আমার তৈরী ইনস্টলারঃ
http://www.mediafire.com/?z4y0gkqncj4