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 را می‌بینید.

مثالی از تنظیمات 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

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

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

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

  • خطوطی که با عبارت deb   شروع می‌شوند Repository هایی هستند که حاوی پکیج‌های باینری و از پیش کامپایل شده هستند. بیشتر کاربران از این Repository ها استفاده می‌کنند.
  • خطوطی که با عبارت deb-src   شروع می‌شوند Repository هایی هستند که حاوی کد منبع پکیج‌ها هستند. این Repository ها بیشتر توسط توسعه‌دهندگان مورد استفاده قرار می‌گیرند.

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

deb http://archive.ubuntu.com/ubuntu/ bionic main restricted

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

عبارتتوضیحات
debمشخص می‌کند که این Repository حاوی پکیج‌های باینری و از پیش کامپایل شده است.
http://archive.ubuntu.com/ubuntu/ مسیر Repository که می‌تواند یک آدرس اینترنتی یا مسیری روی دستگاه‌های ذخیره‌سازی یا شبکه باشد.
bionicنام نسخه توزیع لینوکس. در این مورد نسخه ۱۸ اوبونتو.
mainنوع Repository هایی که باید از آدرس مشخص شده دریافت شوند. مورد‌های این لیست با یک کاراکتر فاصله از یکدیگر جدا می‌شوند.
restrictedمانند مورد قبلی یکی از انواع Repository هایی که باید از آدرس مشخص شده دریافت شود.

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

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

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

سازماندهی مخازن نسخه‌های مختلف اوبونتو - Repository در لینوکس

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

سازماندهی انواع repository - Repository در لینوکس

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

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

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

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

خطا در نصب پکیج Jenkins که در Repository رسمی اوبونتو موجود نیست.

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

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

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

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

sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

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

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

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

apt-get update

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

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

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

apt-get install jenkins

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

نصب پکیج Jenkins پس از افزودن Repository در لینوکس

برای افزودن یک Repository جدید به ابزار مدیریت پکیج از دستور add-apt-repository   نیز می‌توانیم استفاده کنیم. با استفاده از این دستور Repository جدید به فایل sources.list  افزوده می‌شود. نحو این دستور به شکل زیر است:

add-apt-repository [options] repository

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

add-apt-repository 'deb http://pkg.jenkins.io/debian-stable binary/'

همچنین برای حذف یک Repository از سیستم می‌توانیم رکوردهای مربوط به آن را از فایل با پسوند .list   که رکورد در آن قرار دارد حذف کنیم یا این که از دستور add-apt-repository   با نشانه --remove   استفاده کنیم. مثلا با استفاده از دستور زیر می‌توانید Repository مربوط به Jenkins را از سیستم خود حذف کنید:

add-apt-repository --remove 'deb http://pkg.jenkins.io/debian-stable binary/'

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

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

ابزار مدیریت پکیجتوضیحات
aptapt به عنوان یک زیرمجموعه از دستورهای apt-get و apt-cache برای تعامل ساده‌تر با سیستم مدیریت پکیج dpkg مورد استفاده قرار می‌گیرد.
apt-getapt-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 نسخه ۷ می‌بینید:

ذخیره‌سازی تنظیمات Repository در لینوکس توزیع CentOS

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

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

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

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

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

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

yum search epel-release

yum info epel-release

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

نتیجه اجرای دستور yum-search - Repository در لینوکس
برای مشاهده تصویر در اندازه بزرگ‌تر روی آن کلیک کنید.

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

yum install -y epel-release

پس از اجرای این دستور اگر مسیر /etc/yum.repos.d   را بررسی کنید می‌بینید که فایل‌های .repo   مربوط به Repository سفارشی epel افزوده شده‌اند. نتیجه بررسی این مسیر را در تصویر زیر ببینید:

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

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

yum repolist

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

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

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

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

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

جدول فرمان‌های ابزار YUM
برای مشاهده جدول در اندازه بزرگ‌تر روی آن کلیک کنید.
فهرست فرمان‌های ابزار RPM
برای مشاهده جدول در اندازه بزرگ‌تر روی آن کلیک کنید.
فهرست فرمان‌های ابزار DNF
برای مشاهده جدول در اندازه بزرگ‌تر روی آن کلیک کنید.

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

rpm --import 

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

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

yum-config-manager --add-repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo

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

yum-config-manager --enable jenkins

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

yum-config-manager --disable jenkins

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

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

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

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
LCO
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *