এই গাইড ব্যাখ্যা করবে কীভাবে RPM (Redhat Package Manager) ব্যবহার করে লিনাক্সে সফ্টওয়্যার ইনস্টল ও ম্যানেজ করতে হয়।
RPM বা Red Hat Package Manager হচ্ছে রেড হ্যাট লিনাক্স ভিত্তিক লিনাক্স ডিস্ট্রিবিউশনগুলির ডিফল্ট প্যাকেজ ম্যানেজমেন্ট সমাধান। এটি লিনাক্স মেশিনে প্যাকেজ সহজে ইনস্টল, আপগ্রেড এবং আনইনস্টল করার একটি খুব উপকারী উপায়। আমি সেই দিনগুলো মনে পড়ে যাক যখন প্রতিটি লিনাক্স প্যাকেজ কম্পাইল করতে হতো। চলুন দেখি RPM-এর সাথে কিছু বেসিক টাস্ক কীভাবে করা যায়।
সকল প্যাকেজ লিস্ট করুন
নতুন প্যাকেজ ইনস্টল করার আগে বা পুরনো প্যাকেজ আপগ্রেড করার আগে আপনি কখনও কখনও চেক করতে চান যে এটি ইতিমধ্যে ইনস্টল আছে কিনা। সকল ইনস্টলড RPM প্যাকেজের তালিকা পাওয়ার পদ্ধতি:
# rpm -qa
gawk-3.1.3-10.1
pax-3.0-9
krbafs-1.2.2-6
esound-0.2.35-2
perl-XML-Encoding-1.01-26
perl-Digest-SHA1-2.07-5
…
এই ধরণের তালিকা গুলো কনফিউজিং হতে পারে। আমি পছন্দ করি এই কমান্ডটি grep দিয়ে ব্যবহার করা। আমি যে প্যাকেজ খুঁজছি সেটি দিয়ে সার্চ ফিল্টার করি। তাই, যদি আমি চেক করি কোনো নির্দিষ্ট PHP প্যাকেজ ইনস্টল আছে কিনা, নিচের সার্চ রান করি:
# rpm -qa | grep php
php-pdo-5.2.0-1.rhel4.ct
php-mbstring-5.2.0-1.rhel4.ct
php-mysql-5.2.0-1.rhel4.ct
php-imap-5.2.0-5
php-5.2.0-1.rhel4.ct
php-cli-5.2.0-1.rhel4.ct
php-gd-5.2.0-1.rhel4.ct
এখন আমি দেখতে পাচ্ছি কী কী ইতিমধ্যে ইনস্টল আছে এবং সিদ্ধান্ত নিতে পারি কি ইনস্টল, আপগ্রেড বা রিমুভ করতে হবে।
প্যাকেজ ইনস্টল ও আপগ্রেড করুন
আমি RPM প্যাকেজ পাওয়ার জন্য কয়েকটি ওয়েবসাইট ব্যবহার করি — rpm.pbone.net এবং RPM Find। .rpm ফাইল ডাউনলোড করার পর এখানে প্যাকেজ ইনস্টল করার পদ্ধতি:
# rpm -ivh package-name.rpm
প্যাকেজ আপগ্রেড করতে:
# rpm -Uvh package-name.rpm
আপনি অনেক সময় RPM থেকে এরর পাবেন যে এটিকে ইনস্টল বা আপগ্রেড করার জন্য কিছু অন্যান্য প্যাকেজ ইনস্টল থাকতে হবে। এটিকে সাধারণত "ডিপেন্ডেন্সি 헬" বলা হয়। আপনাকে ওই ওয়েবসাইটে ফিরে যেতে হবে যেখান থেকে প্যাকেজটি ডাউনলোড করেছিলেন এবং সেটি যে প্যাকেজগুলোর ওপর নির্ভরশীল সেগুলো খুঁজে বের করে প্রথমে সেগুলো ইনস্টল করতে হবে।
প্যাকেজ রিমুভ করুন
RPM দিয়ে প্যাকেজ রিমুভ করা ইনস্টল বা আপগ্রেড করার মতোই সহজ। আপনাকে নিশ্চিত করতে হবে আপনি যে প্যাকেজটি রিমুভ করার চেষ্টা করছেন তার পূর্ণ নাম পেয়েছেন। উপরে দেখানো কমান্ড দিয়ে প্যাকেজ লিস্ট করুন পূর্ণ নাম পাওয়ার জন্য। তারপর নিচের কমান্ডটি রান করুন:
# rpm -e package-name.rpm
এখানেও ডিপেন্ডেন্সি ইস্যুতে সতর্ক থাকুন।