معرفی 4 روش تشخیص ریپازیتوری نصب پکیج در CentOS

گاهی اوقات نیازمند این هستیم که بدانیم یک پکیج روی سطح OS از کدام Repository نصب شده است.این مورد زمانی که معمولا با Conflict پکیج ها مواجه میشویم به ما کمک میکند تا بتوانیم با استفاده از آن به حل مشکل بپردازیم.از آنجایی که Repository های Third Party آخرین نسخه مربوط به پکیج ها را نگهداری میکنند این مورد گاهی اوقات باعث میشود زمانی که شما در حال تلاش نصب پکیج هستید خطای Incompatibility را مشاهده نمایید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در لینوکس هر چیزی امکان پذیر میباشد. حتی اگر پکیجی با نسخه سیستم عامل شما سازگار نباشد هم میتوانید آن را نصب نمایید.حتی شما میتوانید آخرین نسخه یک پکیج را نصب نمایید حتی اگر نسخه سیستم عامل شما آن را موجود نداشته باشد.اگرچه اکثر نسخه ها به Repository های Third Party اجازه نصب میدهند اما برخی از نسخه ها به صورت رسمی تنها یکسری Repo ها را بیشتر توصیه نمیکنند. به طور مثال CentOS به ما پیشنهاد میدهد Repository مربوط به EPEL را نصب نماییم.برخی از Repository های اصلی به صورت زیر میباشند:

  1. CentOS: EPEL-ELRepo
  2. Fedora: RPMFusion Repo
  3. Arch Linux: Arch User Repo
  4. OpenSuse: Packman Repo
  5. Ubuntu: Personal Package Archives

اصلا Repository چیست؟

نرم افزار Repository یک محل مرکزی برای ذخیزه سازی پکیج های نرم افزاری برای یک اپلیکیشن خاص میباشد.تمامی نسخه های لینوکس Repository های خود را مدیریت و به کار میگیرند و اجازه میدهند که کاربران آن نسخه روی سسیتم از آن مخزن نرم افزارها را دریافت کرده و نصب کنند.هر Vendor ای یک ابزار مدیریت پکیج خاصی را پیشنهاد میدهد که از طریق آن بتواند Repository خود را مدیریت کند.مثل Search، Install، Update، Upgrade، Remove و ...بسیاری از نسخه های لینوکسی مخزن نرم افزاری رایگان دارند به غیر از RHEL و SUSE. برای دستیابی Repository های این دو نسخه نیازمند آن هستید که اشتراک آنها را خریداری نمایید.

اصلا چرا نیاز داریم که یک Third Party Repo را نصب کنیم؟

در لینوکس نصب کردن یک پکیج از سورس آن توصیه نمیشود و بهتر است که پکیج ها از طریق Repo آن نصب شوند تا از طریق Source.چگونه متوجه شویم که یک پکیج ازکدام Repo روی سیستم RHEL/CentOS ما نصب شده است؟این کار از طریق چندین روش امکان پذیر است در اینجا تمامی روش های ممکن را به شما آموزش خواهیم داد و شما میتوانید از میان این موارد هرکدام که با مزاج شما سازگارتر بود را انتخاب نمایید.

روش اول: با استفاده از کامند YUM

RHLE و CentOS از پکیج های RPM استفاده مینمایند از همین رو از طریق YUM Package Manager میتوان این اطلاعات را واکشی نمود.YUM مخفف Yellodog Updater میباشد.یک ابزار متن باز تحت کامند لاین و Front-End برای سیستم های دارای RPM Base مانند RHEL و CentOS میباشد.YUM یک ابزار اصلی برای دریافت و نصب و پاک کردن و پرس و پاسخ و مدیریت بسته های RPM میباشد.

وب سایت توسینسو

طبق تصویر بالا میبینیم که پکیج apachetop از طریق epel repo نصب شده است

روش دوم: با استفاده از yumdb

کامند yumdb info همانند yum info میباشد اما علاوه بر اطلاعات yum info اطلاعاتی اضافه تر همانند package checksum data و type و user info(چه کسی پکیج را نصب کرده است) به ما میدهد.از yum 3.2.26 به بعد yum اطلاعات اضافه تر را خارج از rpmdatabase خود قرار میدهد

وب سایت توسینسو

همانطور که در تصویر بالا مشاهده میکنید پکیج lighttpd از طریق epel repo نصب شده است.

روش سوم: از طریق RPM

RPM مخفف Redhat Package Manager میباشد یک ابزار مدیریتی پکیج قدرتمند تحت کامند برای سیستم های Redhat ای مثل (RHEL و CentOS و Fedora و OpenSUSE و Mageia) این ابزار اجازه میدهد که شما بتوانید یک نرم افزار را روی سیستم خود نصب، آپگرید، پاک و حتی query کنید. فایل های RPM با extention مربوط به .rpm مشخص میشوند.پکیج های RPM توسط کتابخانه ها و پیش نیازهای خاصی ایجاد و نصب میشوند و به گونه ای میباشند که با دیگر پکیج های روی سیستم به Conflict نمیخورند.

وب سایت توسینسو

همانطور که در تصویر بالا مشاهده مینمایید پکیج apachetop از طریق epel repo نصب شده است

روش چهارم : با استفاده از repoquery

Repoquery همانند rpm query یک ابزار و برنامه برای query گرفتن از اطلاعات yum.

وب سایت توسینسو

همانطور که در تصویر بالا مشاهده مینمایید پکیج httpd از طریق CentOS Update Repo نصب شده است.


نظرات