CentOS-RHEL-Linux-Enterprise-Community-پایداری-رایگان-سرور-پشتیبانی-تجاری-دیتاسنتر-SLES-OracleLinux-UbuntuLTS-Stream-AlmaLinux-RockyLinux-LTS-Security-Serverدوره رایگان-الگوریتم اول-free-آموزش کامل

لطفا صبر کنید...

مدیریت مخازن در CentOS

در CentOS، «مخزن» یا Repository مجموعه‌ای از بسته‌ها و متادیتاهای آن‌هاست که مدیر بسته (yum یا dnf) از آنجا نرم‌افزار را نصب، به‌روزرسانی یا حذف می‌کند. مدیریت درست مخازن برای نصب سریع‌تر، دسترسی به نسخه‌ درست بسته‌ها و جلوگیری از خطاهای وابستگی ضروری است.

1. مشاهده لیست مخازن فعال

dnf repolist
yum repolist

خروجی معمولاً شامل ID مخزن، نام مخزن و تعداد بسته‌ها است.

برای مشاهده همه مخازن (فعال و غیرفعال):

dnf repolist all
yum repolist all

2. فعال یا غیرفعال کردن مخازن موقتاً (در یک دستور خاص)

  • فعال کردن:
dnf --enablerepo=repo-id install package-name
yum --enablerepo=repo-id install package-name
  • غیرفعال کردن:
dnf --disablerepo=repo-id update
yum --disablerepo=repo-id update

3. فعال یا غیرفعال کردن دائمی یک مخزن

فایل‌های کانفیگ مخازن در مسیر:

/etc/yum.repos.d/

معمولاً با پسوند repo هستند، مثلاً:

CentOS-Base.repo
epel.repo

برای غیرفعال کردن دائمی، در بخش [repo-id] خط زیر را اضافه یا تغییر دهید:

enabled=0

برای فعال‌کردن:

enabled=1

4. اضافه کردن یک مخزن جدید

دو روش معمول:

  1. دانلود فایل .repo و قرار دادن آن در /etc/yum.repos.d/

مثال نصب مخزن EPEL:

dnf install epel-release
# یا
yum install epel-release

این بسته فایل epel.repo را ایجاد می‌کند.

  1. ایجاد فایل 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

5. حذف یک مخزن

کافیست فایل .repo مربوطه را حذف کنید:

rm /etc/yum.repos.d/repo-file.repo

یا بسته‌ای که آن مخزن را اضافه کرده پاک کنید:

dnf remove epel-release
yum remove epel-release

6. بررسی جزئیات یک مخزن

dnf repoinfo repo-id

یا:

yum repoinfo repo-id

7. نکات حرفه‌ای

  • غیرفعال کردن همه مخازن غیرضروری سرعت جستجو و به‌روزرسانی را بالا می‌برد.
  • استفاده از Mirror ها (سرورهای نزدیک به موقعیت خودتان) سرعت دانلود را به‌شدت افزایش می‌دهد.
  • تمیز کردن کش مخازن در صورت بروز مشکل:
dnf clean all
yum clean all
  • برای لیست همه بسته‌های موجود در یک مخزن خاص:
dnf repository-packages repo-id list
yum --disablerepo="*" --enablerepo=repo-id list available