RED HAT ENTERPRISE LINUX SERVER | RED HAT (RHEL) রেড হ্যাট এন্টারপ্রাইজ লিনাক্স সার্ভার (পোস্ট ৫ – YUM কনফিগার)
RED HAT ENTERPRISE LINUX SERVER | RED HAT (RHEL) রেড হ্যাট এন্টারপ্রাইজ লিনাক্স সার্ভার (পোস্ট ৫ – YUM কনফিগার)
YUM (Yellowdog Updater Modified) & RPM (RedHat Package Manager)
ইয়াম হল এমন একটি টুলস যার দ্বারা লিনাক্স এ বিভিন্ন প্যাকেজ (সফটওয়্যার) ইন্সটল, আপডেট এবং রিমোভ সহ খুব সহজে প্যাকেজ গুলো ম্যানেজ করা যায়। RHEL এর ডিফল্ট প্যাকেজ ম্যানেজার হল RPM. । যেমন – আমাদের httpd* (http service এর প্যাকেজ) বা vsftpd* (ftp service এর প্যাকেজ) ইন্সটল করতে হবে। কিন্তু আমাদের এর ftp সার্ভিস এর প্যাকেজ ইন্সটল করে সঠিক ভাবে রান করতে হলে আরও কত গুলো সহায়ক প্যাকেজ (সফটওয়্যার) ইন্সটল করতে হবে যা ডিপেনডেন্সি হিসেবে কাজ করবে বা করে। তাই আমরা যদি RPM ব্যবহার করতে চাই, তাহলে আমাদের Vsftpd* প্যাকেজ সহ অন্যান্য সকল ডিপেনডেন্সি প্যাকেজ গুলো আলাদা আলাদা ভাবে কমান্ড দিয়ে ইন্সটল করতে হবে যা সময় সাপেক্ষ ব্যাপার এবং সকল প্যাকেজ এর নাম মনে রাখা সকল এর জন্য সম্ভবও নয়। তাই এই সমস্যা সমাধানের জন্য YUM. । ইয়াম (YUM) দ্বারা কোন প্যাকেজ ইন্সটল করার কমান্ড দিলে, সেই প্যাকেজ এর সহায়ক অন্যান্য প্যাকেজ গুলোও অটোমেটিক ভাবে ইন্সটল হবে। ফলে আমাদের কাজে সুবিধা হবে।
YUM দুই রকম ভাবে কনফিগার করা যায়। Server (সার্ভার) মডেলে এবং Client (ক্লায়েন্ট) মডেলে। সার্ভার মডেলে ইয়াম কনফিগার করা কিছুটা জটিল। তবে ক্লায়েন্ট মডেলে করফিগার করা খুবই সহজ। প্রথমে আমরা সার্ভার মডেলে ইয়াম কনফিগার করবো এবং FTP সার্ভিস ইন্সটল করবো। এটিতে ধাপ মোট ৩ টি।
নোট – FTP সার্ভিস এর ডিফল্ট Shared লোকেশান হচ্ছে “/var/ftp/pub” .। আমাদের সিস্টেম এ যেহেতু FTP সার্ভিস ইন্সটল করা নেই, তাই /var এর ভেতরে /ftp/pub ডিরেক্টরী তৈরি করা নাই যা FTP সার্ভিস ইন্সটল করলে অটোমেটিক ভাবে তৈরি হত। আমরা YUM কনফিগার করার পূর্বে /ftp/pub তৈরি করে তার ভেতরে YUM এর প্যাকেজ কপি করে কনফিগার করবো যেন পরবরতিতে আমরা খুব সহজেই ক্লায়েন্ট মডেলে সার্ভার পিসির (যে পিসি তে আমরা এখন YUM কনফিগার করতেছি) FTP সার্ভিস ব্যবহার করে YUM কনফিগার করতে পারি। ভাষা গুলো কি খুব কঠিন হয়ে গেল?????? আশা করি সার্ভার মডেল এবং ক্লায়েন্ট মডেল এর কনফিগার শেষ হলে ভাল ভাবেই বুঝতে পারবেন।
ধাপ ১)
প্রথমে আমরা VMware ইউজার রা ISO কানেক্ট করবো।
এরপর লিনাক্স এর সিডি থেকে Packages নামে যে ফোল্ডার আছে তা কপি করবো। এজন্য আমাদের CDROM কে /mnt পার্টিশন এ মাউন্ট করতে হবে, এর পর আমরা কমান্ড এর মাধ্যমে কপি করে “/var/ftp/pub” লোকেশনে পেস্ট করবো। তাই টারমিনাল (Terminal ) ওপেন করার জন্য মাউস এর রাইট বারন প্রেস করে Open in Terminal সিলেক্ট করব।
নিম্নের কমান্ড গুলো চালাবো –
0. a ) umount /dev/cdrom (সিডি রম কে সকল অবস্থা থেকে un-mount করার জন্য)
- b) mount /dev/cdrom /mnt/ (সিডি রমকে /mnt ডিরেক্টরি তে মাউন্ট করার জন্য)
- c) cd /mnt (cd=current directory, /mnt ডিরেক্টরি তে যাওয়ার জন্য)
- d) ls (ls=list, এর দ্বারা এই ডিরেক্টরীতে যা কিছু আছে তা দেখাবে)
- e) mkdir -p /var/ftp/pub (mkdir=make directory, -p=permision, /var এর ভেতরে /ftp/pub ডিরেক্টরি তৈরি করার জন্য -p for permission)
- f) cp -rv /mnt/Packages/ /var/ftp/pub/ ( /mnt লোকেশন হতে Packages নামে যে ফোল্ডার টি আছে তা কপি করে নতুন তৈরি করা /var এর অন্তরগত /ftp/pub এর ভেতরে পেস্ট করার জন্য) (cp=copy), তাহলে কিছুক্ষণের মধ্যে সকল প্যাকেজ সহ Packages ফোল্ডার টি /var/ftp/pub এর ভিতরে চলে আসবে বা পেস্ট হবে। কিছুটা সময় নিবে কপি হতে।
কপি শেষ হলে আমরা চাইলে /var/ftp/pub এর ভেতরের প্যাকেজ গুলো দেখতে পারি। এজন্য
- cd /var/ftp/pub
- ls
ধাপ ২)
YUM এর কনফিগারেশন ফাইল থাকে /etc/yum.repos.d/ লোকেশনের ভেতরে বিভিন্ন নামে। আমি বিভিন্ন নামে বললাম কেননা আপনি চাইলে যে কোন নামে YUM এর কনফিগারেশন ফাইল তৈরি করতে পারেন।
তাই আমরা প্রথমে কনফিগারেশন ফাইল তৈরি করবো
নোট – * হল all বা সকলকে বোঝায়
আমরা সিস্টেম বা লিনাক্স পিসি চালু করে টার্মিনাল ওপেন করে নিম্নের কমান্ড গুলো দিবো
- a) cd /etc/yum.repos.d/ (এর কমান্ডের দ্বারা আমরা YUM এর কনফিগারেশন ফাইল এর লোকেশনে যাবো যা হল /etc/yum.repos.d/)
- b) ls (ls=list, এর দ্বারা এই ডিরেক্টরীতে যা কিছু আছে তা দেখাবে)
- c) rm -rf * (rm=remove অর্থাৎ এই ডিরেক্টরীতে যা কিছু আছে তা সবই রিমুভ হয়ে যাবে, নোট – * হল all বা সকলকে বোঝায়)
- d) vi test.repo ( লিনাক্স এর কোন ফাইল বা কনফিগারেশন ফাইল তৈরি বা এডিট বা চেঞ্জ করতে হলে vi কমান্ড ব্যবহার করবো। vi বাদে অন্যান্য আরও অনেক এডিটর বা কমান্ড আছে। যখন যেটি ভাল হবে, তখন সেটি ব্যবহার করবো। এখানে test নামে একটি repo ফাইল তৈরি করলাম। এটি সরাসরি ওপেন হবে। এডিট মোড এ যাওয়ার জন্য i (i for insert) প্রেস করতে হয়। এখন এখানে যা লিখতে হবে তা হল
[test]
name=test
baseurl=file:///var/ftp/pub/Packages
gpgcheck=0
enabled=1
এখানে [ ] ব্রেকেট এর ভেতরে এবং name = যেই নামে repo ফাইল তৈরি করেছি তার নাম।
baseurl= হল যেই লোকেশন এ Packages গুলো আছে। অর্থাৎ আমরা যেই জায়গায় প্যাকেজ গুলো পেস্ট করেছিলাম, সেই লোকেশান।
gpgcheck= GPG সাইন এড়ানোর জন্য আমরা ০ দিবো। যদি ১ দিই, তবে প্যাকেজ ইন্সটল করার সময় GPG সাইন ভেরিফাই করবে।
enabled= 0/1 এখানে ০ বা ১ দ্বারা এই repo ফাইল টি কার্যকর কিনা তা বুঝানো হয়, ০= অকার্যকর এবং ১=কার্যকরী, অর্থাৎ এখানে ০ দিলে এই repo ফাইল টি কাজ করবে না।
Save করার জন্য Esc প্রেস কবর এবং এরপর 😡 (Shift + ; এরপর x) প্রেস করবো এবং এন্টার প্রেস করবো। তাহলে সেভ হয়ে যাবে। কিন্তু যদি কোন ভুল হয়, তবে সেভ না করে Esc প্রেস কবর এবং এরপর :q! টাইপ/প্রেস করবো এবং এন্টার প্রেস করবো। q for quit. । তাহলে আর সেভ হবে না । এরপর পুনরায় করবো (যদি ভুল হয়) । Esc প্রেস করলে সর্বদাই ফাইল এর এডিট মুড বন্ধ হবে যা আপনি i প্রেস করে চালু করেছিলেন।
এবার ফাইল টি এডিট মোড এ না গিয়ে দেখতে বা পরতে চাইলে এই কমান্ড টি চালাতে হবে
e ) cat test.repo অথবা cat /etc/yum.repos.d/test.repo তাহলে test.repo ফাইল টি শো করবে।
ধাপ ৩)
এখানে আমরা রিপোজেটোরি ফাইল তৈরি করবো। রিপোজেটোরি ফাইল তৈরি করার জন্য প্রয়োজনীয় প্যাকেজ হল Createrepo. তবে এই Createrepo প্যাকেজ ইন্সটল করার পূর্বে আমাদের আর ২ টি প্যাকেজ ইন্সটল করতে হবে RPM ব্যবহার করে কেননা সেগুলো সহায়্ক হিসেবে কাজ করবে। এগুল হল deltarpm* & python-deltarpm*. । তাই যেই সকল কমান্ড গুলো চালাবো সেগুলো হল-
- a) rpm -ivh deltarpm* (deltarpm প্যাকেজ ইন্সটল করার জন্য)
- b) rpm -ivh python-deltarpm* (python-deltarpm* প্যাকেজ ইন্সটল করার জন্য)
- c) rpm -ivh createrepo* (Createrepo* প্যাকেজ ইন্সটল করার জন্য)
(এখানে i=install, v=verbose & h=hash mark, note that U=update, q=query, a=queries all installed packages & f=file)
- d) createrepo –database /var/ftp/pub/Packages (createrepo ব্যবহার করে রিপোজেটোরি ফাইল তৈরি করার জন্য। এর দ্বারা / var/ftp/pub/Packages লোকেশনে যত প্যাকেজ আছে, সেগুলো নিয়ে একটি Database ডাটাবেস তৈরি হবে)
- e) rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release (প্যাকেজ ইন্সটল করার সময় সাইন সমস্যা এড়ানোর জন্য এই কমান্ড চালানো হয়।
আমাদের ইয়া্ম কনফিগার করা শেষ। এখন আমরা কোন একটি প্যাকেজ ইন্সটল করে দেখব যে আমাদের YUM কাজ করে কিনা।
এজন্য FTP সার্ভিস ইন্সটল করবো
yum install vsftpd* -y (আপনি চাইলে অন্য কোন প্যাকেজ ইন্সটল করতে পারেন, যেমন httpd* ) যদি ইন্সটল হয় তবে বুঝবো আমাদের কনফিগার করা ঠিক আছে। যদি না হয়, তবে test.repo ফাইল টি চেক করুন। -y এবং –n হল ইয়াম এর অতিরিক্ত অপশন । প্যাকেজ ইন্সটল এর সময় সিস্টেম Ensure করার জন্য একটি অপশন প্রদান করে যেখানে yes বা no টাইপ করতে হয়। তাই আমরা সরাসরি ইয়াম কমান্ড চালানোর সময় ঐ অপশন এর জন্য একসাথেই –y দিয়ে দিবো
সার্ভার মডেলে ইয়াম কনফিগার করা শেষ।
yum এর গুরুত্বপূর্ণ কিছু কমান্ড হল-
yum install —– কোন প্যাকেজ ইন্সটল করার জন্য
yum remove —– কোন প্যাকেজ রিমোভ করার জন্য
yum update —– কোন প্যাকেজ আপডেট করার জন্য
RHEL সম্পর্কিত অন্যান্য পোস্ট দেখতে চাইলে-
অথবা
খুঁজুন এই নামে –
RED HAT ENTERPRISE LINUX SERVER | RED HAT (RHEL)
ধন্যবাদ।
অবসরের সঙ্গী হল বন্ধু-বান্ধব এবং আমার প্রিয় কম্পিউটার যা উইন্ডোজ ও লিনাক্স উভয়ই নির্ভর। বলার মত আর কিছু নেই। ধন্যবাদ।