Repository در لینوکس چیست؟ – توضیح مخزن به زبان ساده – فرادرس

Repository در لینوکس چیست؟ – توضیح مخزن به زبان ساده – فرادرس


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

ابزارهای مدیریت پکیج که در همه توزیع‌های پرکاربرد لینوکس وجود دارند، فهرست نرم‌افزارها و آخرین به‌روزرسانی آن‌ها را از مخازن نرم‌افزار «Software Repositories» دریافت می‌کنند و زمانی که مدیر سیستم بخواهد نرم‌افزاری را از طریق این ابزارها بر روی سیستم‌عامل نصب کند، ابزار مدیریت پکیج نرم‌افزار را از یک Repository لینوکس دریافت و آن را روی سیستم‌عامل نصب می‌کند. این شیوه مدیریت نرم‌افزار برای مدیران سیستم مزیت‌هایی دارد که در ادامه آن‌‌ها را بررسی خواهیم کرد. در این مقاله از مجله فرادرس ابتدا خواهیدم دید Repository در لینوکس چیست و پس از آن با شیوه مدیریت مخازن در توزیع‌های رایج لینوکس آشنا خواهیم شد. در نهایت نیز نکات ساده‌ای را مرور خواهیم کرد که هنگام افزودن Repository به سیستم خود باید به آن‌ها توجه کنید.

Repository در لینوکس چیست؟

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

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

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

انواع Repository در لینوکس

به طور کلی سه نوع Repository در لینوکس وجود دارد که هرکدام برای استفاده در شرایط خاصی مناسب هستند و کارکرد متفاوتی نسبت به یکدیگر دارند.

Repository پکیج در لینوکس

این نوع Repository ها مجموعه‌ای از پکیج‌های نرم‌افزاری از پیش ساخته شده هستند که می‌توانند بر روی یک سیستم لینوکس نصب شوند. معمولا پکیج‌هایی که در این Repository‌ ها ذخیره شده‌اند برای نسخه مشخصی از یک توزیع لینوکس کامپایل شده‌اند. این پکیج‌ها برای به کار گرفته شدن توسط ابزار مدیریت پکیج متناسب با یک توزیع لینوکس خاص ساخته شده‌اند. مثلا در Repository های پکیج که برای استفاده کاربران اوبونتو ساخته شده‌اند، پکیج‌های deb ذخیره شده‌اند. ابزار مدیریت پکیج موجود در توزیع اوبونتو می‌تواند این پکیج‌ها را بر روی سیستم نصب کند. Repository های پکیج معمولا توسط کاربران عادی استفاده می‌شوند.

Repository کد منبع  در لینوکس

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

Repository باینری در لینوکس

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

ابزارهای مدیریت پکیج در لینوکس

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

در ادامه این بخش نحوه مدیریت و استفاده از Repository در لینوکس را به کمک ابزارهای مدیریت پکیج در توزیع‌های اوبونتو و CentOS مرور خواهیم کرد.  ابزار مدیریت پکیج APT که در اوبونتو به کار گرفته شده است، در توزیع‌های دبیان، کالی، MATE، Parrot OS و سایر توزیع‌های بر پایه دبیان نیز موجود است و دستورهای مربوط به اوبونتو که در این مقاله می‌خوانید در آن‌ها نیز قابل استفاده هستند. به همین صورت ابزار YUM نیز که در CentOS از آن استفاده شده است در توزیع‌های RedHat، فدورا ۲۱ و نسخه‌های قبل از آن و سایر توزیع‌های مبتنی بر RedHat موجود است و دستورات مربوط به CentOS نوشته شده در این مقاله در این توزیع‌ها هم قابل استفاده هستند. همچنین در نظر داشته باشید که در مثال‌های این بخش فرض بر این است که دستورها توسط کاربر root اجرا می‌شود. اگر از یک کاربر غیر root برای اجرای دستورها استفاده می‌کنید، دستوراتی که نیاز به سطح دسترسی بالاتری دارند را با استفاده از ابزار sudo اجرا کنید.

منظور از پکیج در لینوکس چیست؟

پیش از این چند بار به پکیج‌های لینوکس اشاره کردیم و گفتیم که Repository در لینوکس مسئولیت ذخیره‌سازی و توزیع پکیج‌ها را به عهده دارد. یک پکیج حاوی تمام فایل‌های ضروری، فراداده‌ها یا «Meta-Data» و دستورالعمل‌ها برای پیاده‌سازی یک عملکرد یا نرم‌افزار خاص بر روی سیستم است.

تنظیم Repository در اوبونتو

رکوردهای مربوط به مخازن نرم‌افزاری در همه توزیع‌های مبتنی بر دبیان در فایل /etc/apt/sources.list

  یا فایل‌هایی با پسوند .list

  و در مسیر /etc/apt/sources.list.d/

 ذخیره می‌شوند و از همین مسیر می‌توانید  Repository در لینوکس اوبونتو را تنظیم کنید. در تصویر زیر مثالی از رکوردهای موجود در فایل sources.list را می‌بینید.

در این فایل‌‌ها خطوطی که با کاراکتر #

  شروع می‌شوند توضیحات «Comment» هستند و صرفا برای مستندسازی و خواندن توسط کاربر نوشته شده‌اند. ابزار مدیریت پکیج از پردازش این خطوط صرف نظر می‌کند.

چهار نوع اصلی مخزن نرم‌افزار یا Repository در اوبونتو و توضیحات مربوط به آن‌ها را در جدول زیر می‌بینید:

نوع Repository توضیحات
Main نرم‌افزارهای آزاد مورد پشتیبانی Canonical
Universe نرم‌افزارهای آزاد و متن‌باز که توسط جامعه توسعه‌دهندگان مدیریت می‌شوند
 Restricted درایورهای اختصاصی برای دستگاه‌ها
Multiverse نرم‌افزارهای محدود شده به واسطه قانون کپی‌رایت یا سایر مشکلات حقوقی

برای مشاهده رکورد‌های مربوط به هریک از انواع Repository ها در اوبونتو از دستورات زیر استفاده می‌کنیم:

cat sources.list | grep -v "^#" | grep -i main

cat sources.list | grep -v "^#" | grep -i universe

cat sources.list | grep -v "^#" | grep -i restricted

cat sources.list | grep -v "^#" | grep -i multiverse

در تصویر زیر خروجی هریک از این دستورها را در یک سیستم اوبونتو می‌بینید:

با کلیک بر روی تصویر آن را در اندازه بزرگ‌تر ببینید. به دستور‌های وارد شده و خروجی آن‌ها دقت کنید.

هرکدام از خطوطی که با عبارت deb

  یا deb-src

  شروع می‌شوند یک مخزن نرم‌افزاری یا Repository را به سیستم لینوکس شما اضافه می‌کنند. عبارت deb

 یا deb-src

  نوع Repository را مشخص می‌کند:

  • خطوطی که با عبارت deb

      شروع می‌شوند Repository هایی هستند که حاوی پکیج‌های باینری و از پیش کامپایل شده هستند. بیشتر کاربران از این Repository ها استفاده می‌کنند.

  • خطوطی که با عبارت deb-src

      شروع می‌شوند Repository هایی هستند که حاوی کد منبع پکیج‌ها هستند. این Repository ها بیشتر توسط توسعه‌دهندگان مورد استفاده قرار می‌گیرند.

برای درک بهتر یک رکورد Repository در فایل sources.list یا سایر فایل‌ها با پسوند .list

  رکورد زیر را در نظر بگیرید:

deb  bionic main restricted

در جدول زیر معنی هرکدام از بخش‌های این رکورد را می‌بینید. به همین صورت می‌توانید سایر رکوردها در فایل sources.list را بررسی کنید یا رکوردهای جدید به این فایل اضافه کنید.

عبارت توضیحات
deb مشخص می‌کند که این Repository حاوی پکیج‌های باینری و از پیش کامپایل شده است.

مسیر Repository که می‌تواند یک آدرس اینترنتی یا مسیری روی دستگاه‌های ذخیره‌سازی یا شبکه باشد.
bionic نام نسخه توزیع لینوکس. در این مورد نسخه ۱۸ اوبونتو.
main نوع Repository هایی که باید از آدرس مشخص شده دریافت شوند. مورد‌های این لیست با یک کاراکتر فاصله از یکدیگر جدا می‌شوند.
restricted مانند مورد قبلی یکی از انواع Repository هایی که باید از آدرس مشخص شده دریافت شود.

برای بررسی نحوه سازمان‌دهی یک Repository در لینوکس می‌توانید آدرسی که در مثال بالا مشخص شده است را خودتان بررسی کنید و ساختار دایرکتوری‌ها و فایل‌های درون آن‌ها را ببینید. در تصاویر زیر بخشی از Repository مورد استفاده در مثال  بالا را می‌بینید. به ارتباط بین نسخه توزیع لینوکس و نوع Repository های درخواست شده و سازمان‌دهی دایرکتوری‌ها در Repository مورد بررسی در تصاویر دقت کنید:

در تصویر بالا مسیر اصلی Repository رسمی توزیع اوبونتو را می‌بینید. در دایرکتوری dists مخازن نرم‌افزار بر اساس نسخه توزیع اوبونتو سازماندهی شده‌اند.

همان‌طور که در تصویر بالا مشخص است Repository های مربوط به هر نسخه از توزیع اوبونتو در ۵ دایرکتوری مختلف سازماندهی می‌شوند. به طور مثال کاربران bionic می‌توانند از Repository های bionic، bionic-security، bionic-updates و bionic-backports استفاده کنند. ریپوزیتوری اصلی برای دریافت پکیج‌های سازگار با این توزیع در دایرکتوری bionic ذخیره شده‌ است.

داخل هرکدام از دایرکتوری‌هایی که در تصویر قبل دیدیم، Repository هایی از انواع main، multiverse، restricted و universe مانند تصویر بالا سازمان‌دهی شده‌اند. پیش از این با تفاوت هرکدام از انواع مخازن نرم‌افزار آشنا شدیم.

افزودن Repository سفارشی در اوبونتو

نرم‌افزارهای زیادی هستند که به صورت پیش‌فرض در Repository رسمی اوبونتو یا توزیع لینوکسی که شما از آن استفاده می‌کنید موجود نیستند. برای نصب این نرم‌افزارها از طریق ابزار مدیریت پکیج باید Repository سفارشی که نرم‌افزار مورد نظر شما روی آن ذخیره شده است را به فهرست Repository های مورد استفاده سیستم خود اضافه کنید.

به عنوان یک مثال در این بخش مخزن نرم‌افزاری Jenkins را به سیستم خود اضافه خواهیم کرد. پیش از افزودن این Repository اگر بخواهید پکیج Jenkins را نصب کنید مانند تصویر زیر با یک پیام خطا مواجه می‌شوید چراکه این پکیج در Repository های رسمی اوبونتو موجود نیست.

با دنبال کردن مراحل زیر و اجرای دستورهای نوشته شده می‌توانیم Repository مورد نظر خود را به سیستم اضافه کنیم.

ابتدا کلید عمومی مربوط به Repository که توسط ابزار مدیریت پکیج استفاده می‌شود را با وارد کردن دستور زیر به سیستم اضافه می‌کنیم:

wget -q -O -  | sudo apt-key add -

از وب‌سایت سازمانی که مدیریت Repository را بر عهده دارد می‌توانید برای به دست آوردن آدرس ذخیره‌سازی کلید عمومی Repository استفاده کنید. البته بعضی از مخازن نرم‌افزار نیز از کلید عمومی استفاده نمی‌کنند، برای افزودن این دسته از Repository ها نیازی به انجام این مرحله نیست. پس از دریافت کلید عمومی یک فایل با پسوند .list

  ساخته و تنظیمات مربوط به Repository مورد نظر را در آن درج می‌کنیم:

sh -c 'echo deb  binary/ > /etc/apt/sources.list.d/jenkins.list'

در تصویر زیر نتیجه اجرای این دستورها و بررسی محتویات فایل تازه ایجاد شده را می‌بینیم:

با کلیک بر روی تصویر دستورات و خروجی آن‌ها را واضح‌تر ببینید.

در نهایت با اجرای دستور زیر پایگاه‌داده محلی مربوط به پکیج‌های ذخیره شده در همه Repository ها را به‌روزرسانی می‌کنیم:

apt-get update

در تصویر زیر از مجله فرادرس می‌بینیم که هنگام به روز‌رسانی پایگاه‌داده محلی پکیج‌های موجود، Repository جدیدی که اضافه کرده‌ایم نیز مورد بررسی قرار می‌گیرد:

حالا اگر دوباره با اجرای دستور زیر اقدام به نصب پکیج Jenkins کنیم این پکیج از Repository جدیدی که به ابزار مدیریت پکیج اضافه کردیم دریافت و نصب می‌شود.

apt-get install jenkins

در تصویر زیر نتیجه اجرای این دستور را می‌بینید:

برای افزودن یک Repository جدید به ابزار مدیریت پکیج از دستور add-apt-repository

  نیز می‌توانیم استفاده کنیم. با استفاده از این دستور Repository جدید به فایل sources.list

 افزوده می‌شود. نحو این دستور به شکل زیر است:

add-apt-repository (options) repository

مثلا برای افزودن Repository مربوط به Jenkins با استفاده از این دستور باید از آن به این صورت استفاده کنیم:

add-apt-repository 'deb  binary/'

همچنین برای حذف یک Repository از سیستم می‌توانیم رکوردهای مربوط به آن را از فایل با پسوند .list

  که رکورد در آن قرار دارد حذف کنیم یا این که از دستور add-apt-repository

  با نشانه –remove

  استفاده کنیم. مثلا با استفاده از دستور زیر می‌توانید Repository مربوط به Jenkins را از سیستم خود حذف کنید:

add-apt-repository --remove 'deb  binary/'

ابزارهای مدیریت پکیج در اوبونتو

چهار نوع ابزار مدیریت پکیج مختلف در اوبونتو در دسترس کاربران است. در جدول زیر توضیح مختصری درباره آن‌ها داده‌ایم:

ابزار مدیریت پکیج توضیحات
apt apt به عنوان یک زیرمجموعه از دستورهای apt-get و apt-cache برای تعامل ساده‌تر با سیستم مدیریت پکیج dpkg مورد استفاده قرار می‌گیرد.
apt-get apt-get یک ابزار خط فرمان برای کار با پکیج‌ها است و به عنوان back-end برای تمام ابزار‌هایی که از کتابخانه APT استفاده می‌کنند، استفاده می‌شود.
aptitude یک رابط مبتنی بر متن است که به عنوان front-end برای ابزار APT استفاده می‌شود.
dpkg ابزاری برای نصب، حذف، ساخت و مدیریت پکیج‌های دبیان با استفاده از فایل‌هایی با پسوند .deb

  است.

دستورهای مدیریت پکیج در اوبونتو

در جدول زیر مجموعه‌ای از دستورها برای عملیات مرتبط با پکیج‌ها در توزیع لینوکس اوبونتو را می‌بینید:

ابزار مدیریت پکیج عملیات مثال
apt نصب پکیج apt install <package_name> -y

حذف پکیج apt remove <package_name> -y

به‌روزرسانی پکیج apt install –only-upgrade <package_name>

فهرست کردن جزئیات پکیج apt-cache show <package_name>

apt-get نصب پکیج apt-get install <package_name>

حذف پکیج apt-get remove <package_name>

به‌روزرسانی پکیج apt-get install <package_name>

aptitude نصب پکیج aptitude install <package_name>

حذف پکیج aptitude remove <package_name>

به‌روزرسانی پکیج aptitude install <package_name>

فهرست کردن جزئیات پکیج aptitude show <package_name>

dpkg نصب پکیج dpkg –install <.deb file>

حذف پکیج dpkg — remove <package_name>

dpkg –purge <package_name>

به‌روزرسانی پکیج dpkg –install <.deb file>

فهرست کردن جزئیات پکیج dpkg –list | grep -| <package_name>

dpkg –status <package_name>

تنظیم Repository در لینوکس توزیع CentOS

تنظیمات مربوط به Repository در لینوکس توزیع CentOS در مسیر /etc/yum.repos.d

  ذخیره می‌شوند. نام فایل‌هایی که در این مسیر اطلاعات مخازن نرم‌افزاری را ذخیره می‌کنند باید با پسوند .repo

  ختم شود. در تصویر زیر محتویات دایرکتوری yum.repos.d را در یک سیستم CentOS نسخه ۷ می‌بینید:

در تصویر زیر می‌بینید که محتویات یکی از فایل‌های .repo

  را بررسی کرده‌ایم.

برای مشاهده تصویر در اندازه بزرگ‌تر روی آن کلیک کنید.

در این فایل‌ها خطوطی که با کاراکتر #

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

افزودن Repository سفارشی در CentOS

برای نصب پکیج‌هایی که به در Repository رسمی CentOS در دسترس نیستند باید Repository  سفارشی که حاوی پکیج موردنظرتان باشد را به سیستم اضافه کنید. در این مثال‌ها Repository سفارشی EPEL را به سیستم لینوکس خود اضافه خواهیم کرد. این Repository سفارشی امکان نصب پکیج‌های بیشتری را فراهم می‌کند.

با استفاده از دستورهای زیر اطلاعات مربوط به پکیج epel-release

  را جستجو و دریافت می‌کنیم تا بتوانیم از ابزار مدیریت پکیج YUM برای افزودن مخزن نرم‌افزاری epel به سیستم استفاده کنیم. ابزار مدیریت پکیج YUM در توزیع‌های مبتنی بر RedHat مورد استفاده قرار می‌گیرد.

yum search epel-release

yum info epel-release

در تصویر زیر نتیجه اجرای این دستورها را می‌بینیم:

برای مشاهده تصویر در اندازه بزرگ‌تر روی آن کلیک کنید.

حالا به کمک دستور زیر پکیج epel-release

  را نصب می‌کنیم:

yum install -y epel-release

پس از اجرای این دستور اگر مسیر /etc/yum.repos.d

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

  مربوط به Repository سفارشی epel افزوده شده‌اند. نتیجه بررسی این مسیر را در تصویر زیر ببینید:

دستور زیر را اجرا کنید تا افزوده شدن Repository سفارشی epel به سیستم خود را بررسی کنید:

yum repolist

ابزارهای مدیریت پکیج در CentOS

سه نوع ابزار مدیریت پکیج در CentOS وجود دارد. در جدول زیر نام آن‌ها را به همراه توضیح مختصری درمورد هرکدام می‌بینید.

ابزار مدیریت پکیج توضیحات
yum ابزار مدیریت پکیجی که برای کاربران CentOS فراهم شده است.
rpm این ابزار مدیریت پکیج توسط RedHat و توزیع‌های مبتنی بر آن به کار گرفته می‌شود.
dnf نسل بعدی ابزار YUM است که توزیع‌های مبتنی بر پکیج‌های rpm می‌توانند از آن استفاده کنند.

دستورهای مدیریت پکیج در CentOS

در جدول‌های زیر دستورهای لازم برای مدیریت پکیج‌ها در CentOS با استفاده از ابزارهای yum، dnf و rpm را می‌بینید:

برای مشاهده جدول در اندازه بزرگ‌تر روی آن کلیک کنید.
برای مشاهده جدول در اندازه بزرگ‌تر روی آن کلیک کنید.
برای مشاهده جدول در اندازه بزرگ‌تر روی آن کلیک کنید.

برای وارد کردن کلیدهای gpg با استفاده از ابزار rpm این دستور را به شکل زیر استفاده می‌کنیم:

rpm --import 

استفاده از دستور yum-config-manager در CentOS

ابزار yum-config-manager برای مدیریت تنظیمات Repository در لینوکس توزیع CentOS و سایر توزیع‌هایی که از YUM بهره می‌برند، استفاده می‌شود. برای افزودن Repository با استفاده از این دستور، آن را به این شکل استفاده می‌کنیم:

yum-config-manager --add-repo 

در مثال بالا، مخزن نرم‌افزاری jenkins را به سیستم اضافه کرده‌ایم. برای فعال کردن این Repository پس از اجرای دستور بالا از این دستور استفاده می‌کنیم:

yum-config-manager --enable jenkins

به همین صورت با استفاده از دستور زیر می‌توانید یک Repository را غیرفعال کنید:

yum-config-manager --disable jenkins

نکاتی درباره استفاده از Repository در لینوکس

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

موضوع دیگری که لازم است به آن توجه کنید و در این مطلب از مجله فرادرس به آن اشاره کردیم این است که فقط از Repository هایی استفاده کنید که با توزیع لینوکس و نسخه سیستم‌عامل شما سازگار باشند، استفاده از Repository های دیگر ممکن است پایداری سیستم شما را به شدت کاهش دهند. زمانی که می‌خواهید یک Repository سفارشی را به سیستم خود اضافه کنید، در مورد آن تحقیق کنید و مطمئن شوید به طور منظم به‌روزرسانی می‌شود.