20 دستور پرکاربرد RPM در لینوکس با مثال‌های واقعی و کاربردی

20 دستور پرکاربرد RPM در لینوکس با مثال‌های واقعی و کاربردی
تیم محتوا
مدت زمان مطالعه : 12 دقیقه
۰ کامنت
۱۴۰۴/۰۵/۱۶

اگه با لینوکس‌ هایی مثل Red Hat، CentOS، AlmaLinux یا حتی Oracle Linux کار کرده باشی، احتمالاً اسم RPM زیاد به گوشت خورده. RPM که مخفف Red Hat Package Manager، ابزاریه برای مدیریت بسته‌ ها؛ از نصب و حذف گرفته تا بررسی وابستگی‌ ها، اسکریپت‌ ها، سلامت فایل‌ ها و کلی کار مهم دیگه.

اما یه نکته مهم هست: خیلی از آموزش‌ ها فقط میان دستور رو می‌ نویسن و میگن «این کارو میکنه».

این مقاله قراره یه قدم جلوتر بره. نه‌ فقط بگه فلان دستور چیه، بلکه توضیح بده این دستور دقیقاً در چه سناریویی بدردت می‌ خوره، چه خطرهایی داره، و چه تفاوت‌ هایی با دستورات مشابه داره.

20 دستور پرکاربرد RPM در لینوکس همراه با مثال

چرا RPM هنوزم مهمه؟

درسته که الان اکثر کارا با ابزارهایی مثل dnf یا yum راحت‌تر انجام میشن، ولی RPM همچنان یه ابزار سطح پایین و پایه‌ ایه که موقع:

  • اسکریپت‌ نویسی
  • بررسی سلامت فایل‌ ها
  • نصب بسته‌ های لوکال یا کاستوم‌ شده
  • یا حتی تو محیط‌های بسته (air-gapped)

20 دستور مهم RPM در لینوکس و موقعیت‌ هایی که واقعاً به کارت میان

در ادامه 20 تا دستور کاربردی و مهم رو براتون پیدا کردیم و مورد بررسی قرار دادیم:

1- نصب یک بسته RPM

rpm -i package.rpm

🔹 چه زمانی استفاده کنیم؟

وقتی یه بسته رو از منابع دیگه (مثلاً از وب‌ سایت سازنده یا مخزن شخصی) دانلود کردی و می‌ خوای برای اولین بار نصبش کنی.

2- نصب با نوار پیشرفت و اطلاعات کامل

rpm -ivh package.rpm

🔹 چه زمانی استفاده کنیم؟

اگه بسته حجیمه یا می‌ خوای بدونی فرآیند نصب دقیقاً چطور پیش میره، این گزینه‌ ها خیلی کمک می‌ کنن.

3- آپدیت یا نصب بسته (Upgrade)

rpm -U package.rpm

🔹 چه زمانی استفاده کنیم؟

وقتی نسخه‌ای از بسته از قبل نصب شده و می‌ خوای فقط نسخه جدیدترش جایگزین بشه. این دستور سیستم رو تمیز نگه می‌ داره، چون از انباشته شدن نسخه‌ های مختلف یک پکیج جلوگیری می‌ کنه.

4- فقط آپدیت کن، اگر قبلاً نصب بوده

rpm -F package.rpm

🔹 چه زمانی به درد می‌ خوره؟

فرض کن یه سری بسته رو با هم داری، ولی نمی‌ دونی کدوم‌ یک قبلاً نصب بودن. این دستور فقط اون‌ هایی رو آپدیت می‌ کنه که قبلاً وجود داشتن و نسخه‌ شون قدیمی‌ تره.

🔸 کاربرد خاص:

در اسکریپت‌ هایی که روی چند سیستم اجرا می‌ شن و ممکنه هر سیستم وضعیت متفاوتی از نصب پکیج‌ ها داشته باشه.

5- حذف بسته (Erase)

rpm -e package_name

🔹 موقع استفاده:

زمانی که مطمئنی هیچ بسته‌ دیگه‌ ای به این پکیج وابسته نیست و می‌ خوای پاکش کنی.

🔸 نکته امنیتی:

قبل از حذف، بهتره با دستور rpm -q –whatrequires package_name بررسی کنی که بسته دیگه‌ ای بهش نیاز نداشته باشه.

6-  بررسی اینکه چه چیزی نصب شده

rpm -qa

🔹 موقعیت:

برای لیست گرفتن کامل از همه بسته‌ های نصب‌ شده. به‌ خصوص زمانی که می‌ خوای تغییرات بعد از یه آپدیت یا نصب دسته‌ جمعی رو بررسی کنی.

🔸 ترفند:

میتونی با ترکیب با `grep`، بسته خاصی رو سریع‌ تر پیدا کنی:

rpm -qa | grep nginx

7- نمایش همه بسته‌ های نصب‌ شده

rpm -qa

🔹 موقعیت کاربردی:

برای مانیتورینگ سیستم یا مستندسازی تنظیمات، وقتی می‌ خوای یه Snapshot از وضعیت فعلی همه بسته‌ ها بگیری.

🔸 ترفند:

خروجی این دستور رو می‌تونی با > به یه فایل خروجی منتقل کنی:

rpm -qa > packages.txt

8- مشاهده فایل‌ های نصب‌ شده توسط یک بسته

rpm -ql package_name

🔹 چه وقت مفیده؟

وقتی دنبال مسیر دقیق فایل اجرایی یا کانفیگ یه بسته هستی، بدون اینکه بخوای حدس بزنی.

9- دیدن مستندات و داکیومنت‌ های یک بسته

rpm -qd package_name

🔹 چرا استفاده کنیم؟

بسیاری از بسته‌ ها مستنداتی مثل README دارن. این دستور کمک می‌ کنه راحت پیداشون کنی.

10- پیدا کردن اینکه یک فایل متعلق به کدام بسته است

rpm -qf /path/to/file

🔹 کاربرد واقعی:

وقتی یه فایل ناشناس یا خراب داری، و می‌ خوای بفهمی از کدوم بسته اومده.

commonly used rpm commands in linux 1

11- دیدن وابستگی‌ های یک بسته

rpm -qR package_name

🔹 سناریو کاربردی:

قبل از نصب یه بسته تو محیط production، می‌ خوای بدونی به چه چیزهایی نیاز داره. این دستور بهت اجازه میده مطمئن شی همه پیش‌ نیازها رو داری، مخصوصاً وقتی دسترسی به اینترنت نداری.

12- مشاهده اسکریپت‌ های نصب و حذف یک بسته

rpm -q --scripts package_name

🔹 چه زمانی لازم میشه؟

وقتی می‌ خوای بدونی یک بسته در هنگام نصب یا حذف دقیقاً چه کاری انجام میده. آیا سرویس راه‌ اندازی میکنه؟ چیزی رو پاک میکنه؟

13- نمایش اطلاعات یک فایل RPM بدون نصب

rpm -qpi package.rpm

🔹 موقع استفاده:

وقتی یه بسته رو دانلود کردی ولی نمی‌ خوای نصبش کنی تا مطمئن شی اطلاعاتش درسته.

14- مشاهده فایل‌ های داخل بسته RPM بدون نصب

rpm -qpl package.rpm

🔹 چه زمانی مفیده؟

وقتی می‌ خوای ببینی دقیقاً چه فایل‌ هایی نصب میشن و کجا قرار میگیرن، بدون اینکه ریسک نصب داشته باشی.

15- بررسی یکپارچگی فایل‌ های یک بسته

rpm -V package_name

🔹 چه زمانی لازم میشه؟

اگه شک داری یه فایل سیستمی دستکاری شده یا خراب شده، این دستور بهت میگه آیا فایل‌ ها با نسخه اصلیشون فرق دارن یا نه و می‌ فهمی فایل‌ ها تغییری کردن، حذف شدن یا مجوزهاشون عوض شده.

16-  بررسی تمام بسته‌ ها برای تغییر

rpm -Va

🔹 برای چه کاری خوبه؟

بررسی جامع کل سیستم برای شناسایی تغییرات در فایل‌ های سیستمی مربوط به بسته‌ ها.

🔸 هشدار:

ممکنه خروجی خیلی زیاد باشه. بهتره با خروجی‌ گرفتن توی فایل یا با grep محدودش کنی.

17-  وارد کردن کلید GPG برای تأیید بسته‌ های امضا شده

rpm --import /path/to/keyfile

🔹 موقع نصب بسته از مخزن جدید:

برای اینکه بسته‌ ها توسط سیستم قابل اعتماد شناخته بشن، کلید GPG امضای اون مخزن لازمه. با این کار مطمئن میشی فقط بسته‌ هایی نصب میشن که امضاشون معتبره.

18- بازسازی دیتابیس RPM

rpm --rebuilddb

🔹 چه وقتی لازم میشه؟

اگر با ارورهایی مثل “rpm database is locked” یا “bad magic header” مواجه شدی، این دستور دیتابیس بسته‌ ها رو بازسازی میکنه.

19- نصب یا حذف بسته بدون بررسی وابستگی‌ ها

rpm -i --nodeps package.rpm 
rpm -e --nodeps package_name

🔹 اخطار:

این دستورات خطرناکن و فقط باید زمانی استفاده بشن که کاملاً مطمئنی وابستگی‌ ها رو کنترل می‌ کنی. مثلاً وقتی یه بسته کاستوم داری یا در حال تست هستی و نمی‌ خوای سیستم به‌ خاطر یک dependency بی‌ اهمیت گیر بده.

20- تست نصب بدون انجام واقعی اون

rpm -i --test package.rpm

🔹 سناریوی استفاده:

اگه می‌ خوای بدونی نصب یه بسته موفق خواهد بود یا نه، ولی نمی‌ خوای چیزی تغییر کنه.

سخن آخر

تو این مقاله صرفاً دستور حفظ نکردی؛ سناریوهای واقعی، کاربردها، ریسک‌ ها و تفاوت‌ ها رو هم یاد گرفتی. حالا دیگه می‌ دونی RPM فقط یه سری دستور نیست، بلکه ابزاریه برای کنترل دقیق سیستمت.

اگه یه محیط واقعی برای تمرین لازم داری. اینجاست که سرور مجازی لینوکس آذرسیس وارد میشه:

  • منابع اختصاصی
  • دسترسی کامل root
  • نصب دلخواه سیستم‌ عامل
  • پشتیبانی قوی و قیمت مناسب

همین حالا برو به وبسایت آذرسیس و یه سرور مجازی تهیه کن. مطمئن باش تجربه کارت با RPM خیلی متفاوت‌ تر و واقعی‌ تر میشه!

سوالات متداول RPM در لینوکس

RPM فقط با فایل‌ های محلی کار می‌ کنه، ولی YUM و DNF وابستگی‌ ها رو هم از مخازن آنلاین نصب می‌ کنن.

با دستور rpm -q package_name می‌ تونی بررسی کنی.

۰

دیدگاه و پرسش