## 📦 مدیریت بستهها با YUM در CentOS، RHEL و Fedora
اگر با توزیعهای مبتنی بر RedHat مانند CentOS، RHEL یا Fedora کار میکنید، قطعاً با ابزار **YUM** (یا در نسخههای جدیدتر DNF) مواجه شدهاید. YUM که مخفف **Yellowdog Updater Modified** است، ابزاری برای مدیریت بستهها (نصب، حذف، بهروزرسانی و جستجو) در سیستمهای RPM-based است.
در این مقاله، مهمترین دستورات YUM را همراه با نکات حرفهای برای مدیران سیستم بررسی میکنیم.
---
## 🧰 نصب بستهها با YUM
### 📥 نصب بسته:
```bash
sudo yum install package-name
```
مثال:
```bash
sudo yum install httpd
```
### 📥 نصب چند بسته همزمان:
```bash
sudo yum install package1 package2 package3
```
---
## 🔄 بهروزرسانی سیستم و بستهها
### 🔃 بهروزرسانی تمام سیستم:
```bash
sudo yum update
```
### 🔃 فقط یک بسته خاص:
```bash
sudo yum update nginx
```
---
## ❌ حذف بستهها
### 🗑 حذف یک بسته:
```bash
sudo yum remove package-name
```
مثال:
```bash
sudo yum remove httpd
```
---
## 🔍 جستجوی بستهها
### 🔎 جستجو بر اساس نام یا توضیح:
```bash
yum search keyword
```
مثال:
```bash
yum search mysql
```
---
## 📖 دریافت اطلاعات بسته
### 📦 نمایش اطلاعات کامل:
```bash
yum info package-name
```
---
## 🔗 مدیریت مخازن (Repositories)
### 🗂 مشاهده لیست مخازن فعال:
```bash
yum repolist
```
### 📁 مسیر مخازن:
فایلهای مخزن در مسیر زیر قرار دارند:
```
/etc/yum.repos.d/
```
🔧 برای اضافهکردن مخزن جدید، یک فایل `.repo` در این مسیر ایجاد کنید.
---
## ⏪ پاکسازی کش YUM
### پاککردن کشهای قدیمی:
```bash
sudo yum clean all
```
### بازسازی کش:
```bash
sudo yum makecache
```
---
## 🧠 بررسی تاریخچه عملیات YUM
```bash
yum history
```
نمایش لیست آخرین نصب/حذفها همراه با شناسه (ID). برای بازبینی جزئیات:
```bash
yum history info [ID]
```
---
## 🔐 نصب بسته از فایل RPM (خارج از YUM)
اگر فایلی با پسوند `.rpm` دارید:
```bash
sudo yum install ./package.rpm
```
🔹 این کار بهتر از `rpm -i` هست چون YUM بهصورت خودکار وابستگیها رو هم نصب میکنه.
---
## 🆚 تفاوت YUM و DNF
| مورد | YUM | DNF |
|------|-----|-----|
| سرعت | کندتر | سریعتر |
| مدیریت وابستگیها | خوب | بهتر |
| پشتیبانی | CentOS 7 و قبل | CentOS 8 به بعد، Fedora |
| دستور معادل | مشابه | مشابه |
در سیستمهای جدیدتر مثل Fedora 22+ و CentOS 8 به بعد، به جای YUM از DNF استفاده میشود، اما بیشتر دستورات یکسان هستند.
---
## 🔒 نکات حرفهای برای مدیر سیستم
- از دستور `yum history undo ID` میتونی برای بازگردانی حذف یا نصب اشتباه استفاده کنی.
- اگر بستهای در مخزن پیشفرض نیست، میتونی مخزن EPEL رو اضافه کنی:
```bash
sudo yum install epel-release
```
- برای سیستمهای بدون اینترنت، از `yumdownloader` جهت دانلود بستهها به همراه وابستگیها استفاده کن.
---
## 📌 جمعبندی
| عملیات | دستور |
|--------|--------|
| نصب بسته | `yum install` |
| حذف بسته | `yum remove` |
| جستجو | `yum search` |
| اطلاعات | `yum info` |
| لیست مخازن | `yum repolist` |
| پاکسازی کش | `yum clean all` |
| بررسی تاریخچه | `yum history` |