مدیریت بسته‌ها با RPM در CentOS، RHEL و Fedora پرینت


 

## 📦 مدیریت بسته‌ها با RPM در CentOS، RHEL و Fedora

مدیریت بسته‌ها یکی از مهم‌ترین وظایف مدیران سیستم لینوکسی است. در توزیع‌های مبتنی بر RedHat مثل **CentOS**، **RHEL** و **Fedora**، ابزار RPM (Red Hat Package Manager) برای نصب، بررسی و مدیریت بسته‌ها استفاده می‌شود.

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

---

## 🧰 نصب بسته با RPM

### 📥 نصب بسته:
```bash
sudo rpm -ivh package-name.rpm
```
- `-i` برای نصب (install)
- `-v` برای نمایش اطلاعات
- `-h` برای نمایش نوار پیشرفت (hash)

### ⚠️ هشدار:
اگر بسته‌ی نصب‌شده به بسته‌های دیگری وابسته باشد، rpm به تنهایی آن‌ها را نصب نمی‌کند و باید به صورت دستی نصب شوند یا از YUM استفاده شود.

---

## 🔁 به‌روزرسانی بسته

```bash
sudo rpm -Uvh package-name.rpm
```

- `-U` برای به‌روزرسانی (update)
- اگر بسته وجود نداشته باشد، آن را نصب می‌کند.

---

## 📥 نصب یا به‌روزرسانی (هوشمند)

```bash
sudo rpm -Fvh package-name.rpm
```

- `-F` = فقط در صورتی به‌روزرسانی می‌کند که بسته‌ای با همان نام قبلاً نصب شده باشد.

---

## ❌ حذف بسته

```bash
sudo rpm -e package-name
```

- نام بسته را از خروجی دستور `rpm -qa` می‌توانید پیدا کنید.

---

## 🔍 بررسی بسته‌ها

### 📦 نمایش تمام بسته‌های نصب‌شده:
```bash
rpm -qa
```

### 🔎 جستجوی بسته خاص:
```bash
rpm -qa | grep nginx
```

### 📖 اطلاعات بسته:
```bash
rpm -qi package-name
```

### 📁 لیست فایل‌های داخل بسته:
```bash
rpm -ql package-name
```

---

## 🔍 بررسی اینکه فایل خاص متعلق به کدام بسته است:

```bash
rpm -qf /path/to/file
```

مثال:
```bash
rpm -qf /etc/nginx/nginx.conf
```

---

## ✅ بررسی وابستگی‌ها

### نمایش وابستگی‌های یک بسته:
```bash
rpm -qpR package-name.rpm
```

- `-q` = query
- `-p` = package file
- `-R` = requirements (وابستگی‌ها)

---

## 🧪 اعتبارسنجی بسته نصب‌شده

بررسی اینکه فایل‌های یک بسته تغییر کرده‌اند یا خیر:

```bash
rpm -V package-name
```

خروجی مثل این خواهد بود:
```
S.5....T. c /etc/nginx/nginx.conf
```
هر حرف نشان‌دهنده یک نوع تفاوت است.

---

## 📥 ساخت دیتابیس Local از فایل‌های RPM نصب‌شده

برای زمانی که rpm خراب شده باشد یا مشکل در پایگاه داده‌ها باشد:

```bash
sudo rpm --rebuilddb
```

---

## 🛠 رفع وابستگی‌ها (پیشنهاد حرفه‌ای)

اگر هنگام نصب با پیام خطای “missing dependencies” مواجه شدید، به جای `rpm` از `yum` استفاده کنید تا وابستگی‌ها خودکار حل شوند:

```bash
sudo yum install ./package.rpm
```

یا با ابزار `dnf` در نسخه‌های جدیدتر:
```bash
sudo dnf install ./package.rpm
```

---

## 📌 مقایسه سریع YUM vs RPM

| ویژگی | RPM | YUM |
|-------|-----|-----|
| نصب بسته | ✅ | ✅ |
| حذف بسته | ✅ | ✅ |
| بررسی جزئیات | ✅ | ✅ |
| نصب خودکار وابستگی‌ها | ❌ | ✅ |
| مدیریت مخازن | ❌ | ✅ |
| مناسب برای اسکریپت‌نویسی سریع | ✅ | ❌ (کندتر) |

---

## 🎯 نتیجه‌گیری

اگر به دنبال کنترل دقیق روی بسته‌ها هستید، `rpm` ابزار مناسبی است. ولی برای نصب آسان و خودکار با وابستگی‌ها، `yum` یا `dnf` گزینه‌های بهتری هستند.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت