مدیریت مخازن در CentOS
در CentOS، «مخزن» یا Repository مجموعهای از بستهها و متادیتاهای آنهاست که مدیر بسته (yum یا dnf) از آنجا نرمافزار را نصب، بهروزرسانی یا حذف میکند. مدیریت درست مخازن برای نصب سریعتر، دسترسی به نسخه درست بستهها و جلوگیری از خطاهای وابستگی ضروری است.
1. مشاهده لیست مخازن فعال
dnf repolist
yum repolist
yum repolist
خروجی معمولاً شامل ID مخزن، نام مخزن و تعداد بستهها است.
برای مشاهده همه مخازن (فعال و غیرفعال):
dnf repolist all
yum repolist all
yum repolist all
2. فعال یا غیرفعال کردن مخازن موقتاً (در یک دستور خاص)
- فعال کردن:
dnf --enablerepo=repo-id install package-name
yum --enablerepo=repo-id install package-name
yum --enablerepo=repo-id install package-name
- غیرفعال کردن:
dnf --disablerepo=repo-id update
yum --disablerepo=repo-id update
yum --disablerepo=repo-id update
3. فعال یا غیرفعال کردن دائمی یک مخزن
فایلهای کانفیگ مخازن در مسیر:
/etc/yum.repos.d/
معمولاً با پسوند repo هستند، مثلاً:
CentOS-Base.repo
epel.repo
epel.repo
برای غیرفعال کردن دائمی، در بخش [repo-id] خط زیر را اضافه یا تغییر دهید:
enabled=0
برای فعالکردن:
enabled=1
4. اضافه کردن یک مخزن جدید
دو روش معمول:
- دانلود فایل .repo و قرار دادن آن در /etc/yum.repos.d/
مثال نصب مخزن EPEL:
dnf install epel-release
# یا
yum install epel-release
# یا
yum install epel-release
این بسته فایل epel.repo را ایجاد میکند.
- ایجاد فایل repo بهصورت دستی
مثال:
nano /etc/yum.repos.d/custom.repo
محتوا:
[myrepo]
name=My Custom Repository
baseurl=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Official
name=My Custom Repository
baseurl=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Official
5. حذف یک مخزن
کافیست فایل .repo مربوطه را حذف کنید:
rm /etc/yum.repos.d/repo-file.repo
یا بستهای که آن مخزن را اضافه کرده پاک کنید:
dnf remove epel-release
yum remove epel-release
yum remove epel-release
6. بررسی جزئیات یک مخزن
dnf repoinfo repo-id
یا:
yum repoinfo repo-id
7. نکات حرفهای
- غیرفعال کردن همه مخازن غیرضروری سرعت جستجو و بهروزرسانی را بالا میبرد.
- استفاده از Mirror ها (سرورهای نزدیک به موقعیت خودتان) سرعت دانلود را بهشدت افزایش میدهد.
- تمیز کردن کش مخازن در صورت بروز مشکل:
dnf clean all
yum clean all
yum clean all
- برای لیست همه بستههای موجود در یک مخزن خاص:
dnf repository-packages repo-id list
yum --disablerepo="*" --enablerepo=repo-id list available
yum --disablerepo="*" --enablerepo=repo-id list available
