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

مخزن لینوکس چیست و هر آنچه باید از مخازن لینوکس بدانید

با مرتضی
10 دقیقه زمان خواندن

در این پست قصد داریم شما را با یکی از مفاهیم پایه سیستم عامل لینوکس یعنی مخازن داده آشنا کنیم، این مطلب برای تمامی توزیع های لینوکس از جمله توزیع های پر‌کاربردی مانند centos , ubuntu ,debian و  fedora کارایی دارد پس از شما دعوت میکنیم با ادامه این مطلب با ما همراه باشید .

مخزن یا ریپازیتوری چیست ؟

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

فایلهای هر مخزن در یک سرور نگهداری و ذخیره میشود که ممکن است شامل پکیج های چندین مجموعه نرم افزار بوده یا برای یک نرم افزار خاص در نظر گرفته شده باشد که در زمان نصب یا بروزرسانی هر یک از این نرم افزارها شما به آن مخزن متصل شده و پکیج ها را دریافت خواهید کرد . زمانی که شما یک کامند مانند“sudo apt update” یا “sudo apt upgrade” را اجرا میکنید در ابتدا شروع به دریافت اطلاعات بسته ها و سپس در صورت نیاز به بروزرسانی دریافت خود پکیج ها میکنید .

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

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

شاید برای شما سوال پیش آمده باشد که آیا مخازن همیشه در بستر اینترنت هستند و امکان داشتن مخزن محلی یا در یک حافظه جانبی وجود ندارد ؟ در پاسخ به این سوال باید بدانید که مخازن استاندارد و بروز همیشه در بستر اینترنت قرار دارند اما شما میتوانید یک مخزن محلی در یک حافظه جانبی یا DVD نیز داشته باشید . در خصوص نحوه استفاده و راه اندازی اینگونه مخازن در پست های آتی حتماً مفصلاً صحبت خواهیم کرد.

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

به طور کلی دو نوع مخزن لینوکس وجود دارد نوع اول مخازن استاندارد یا رسمی هستند و نوع دوم مخازن غیر‏استاندارد یا غیر رسمی، اگر شما هم شروع به خواندن مقالات مختلف در خصوص نصب نرم افزارها در لینوکس نموده باشید احتمالا در روش نصب این نرم افزارها حتماً به بخش هایی برخوردید که در آن اقدام به نصب یک ریپازیتوری (Repository) استاندارد یا غیراستاندارد شده است . مخازن غیر استاندارد همانند مخازن استاندارد بوده و شما میتوانید به راحتی آنها را در سیستم خود افزوده و اقدام به نصب نرم افزارهایی کنید که در آن مخزن نگهداری شده‎اند اما زمانی که از مخازن استاندارد استفاده میکنید میتوانید با خیال راحت از همه لحاظ اقدام به استفاده از آنها نمایید، بدون دغدغه از لحاظ سازگاری با سیستم عامل شما یا سالم بودن فایلها .

دریافت لیست مخازن افزوده شده در توزیع های Debian Based مانند اوبونتو : 

توزیع های لینوکسی زیادی با کرنل debian نوشته و به بازار عرضه شده اند که در اکثر موارد به روشی که در این بخش توضیح میدهیم میتوانید نسبت به دریافت لیست مخازنی که در حال حاضر از آنها استفاده میکنید اقدام کنید . برای این منظور از command زیر استفاده میکنیم که در آن با استفاده از دستور grep اقدام به چاپ لیست این مخازن از دو فایل etc/apt/sources.list و /etc/apt/sources.list.d نموده ایم و ^[^#] نیز جهت نادیده گرفتن مخازن غیر فعال استفاده شده است .

grep ^[^#] /etc/apt/sources.list /etc/apt/sources.list.d/*

خروجی این دستور چیزی شبیه به نمونه زیر خواهد بود که شامل لیست تمامی مخازن استفاده شده در سیستم شما میباشد

/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security multiverse
/etc/apt/sources.list.d/teejee2008-ubuntu-ppa-bionic.list:deb http://ppa.launchpad.net/teejee2008/ppa/ubuntu bionic main

اگر به خروجی بالا توجه کنید متوجه خواهید شد که هر مخزن در توزیع های Debian Base از چند توافق نامه با نام‎های main,restricted, universe و multiverse پیروی میکند هر یک از این این terms ها اطلاعات مهمی را شامل میشوند که باید بدانید  :

main : پشتیبانی رسمی از نرم افزارهای متن باز ، شامل همه بسته های نرم افزاری متن بازی که در نصب پیش فرض قرار دارد و برخی نرم افزارهای متن باز مهم دیگر

restricted : پشتیبانی رسمی از نرم افزارهای سورس بسته مانند درایور سخت افزارها ، با پشتیبانی مشخص در طول دوره انتشار

universe : نرم افزار های اوپن سورس(متن باز) با پشتیبانی community که بسیاری از نرم افزار های اوبونتو از این مخزن استفاده میکنند ، پشتیبانی رسمی نداشته و مستقیما توسط جامعه اوپن سورس پشتیبانی میشود .

Multiverse :  نرم افزار غیرقابل پشتیبانی، نرم افزار بسته شده و نرم افزار تحت پوشش حق  کپی رایت .

دریافت لیست مخازن افزوده شده در توزیع های Redhat based مانند Centos : 

برای نمایش لیست مخازن در حال استفاده در سیستم های ردهت بیس مانند Centos یا Fedora از دستور زیر استفاده میکنیم ، توجه داشته باشید در اینجا ما از dnf استفاده کردیم که جایگزین دستور قدیمی yum میباشد، اگر سیستم عامل شما centos 6 یا centos 7 است yum را بجای dnf استفاده کنید .

sudo dnf repolist

خروجی دستور بالا چیزی شبیه به نمونه زیر خواهد بود که در ستون status نیز میتوانید تعداد پکیج های موجود در هر مخزن را مشاهده کنید .

Last metadata expiration check: 0:18:37 ago on Sat 15 Sep 2018 12:28:02 PM EDT.
repo id        repo name                            status
*fedora        Fedora 28 - x86_64                   57,327
*updates       Fedora 28 - x86_64 - Updates         18,739

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

sudo dnf repolist all
Last metadata expiration check: 0:19:39 ago on Sat 15 Sep 2018 12:28:02 PM EDT.
repo id                            repo name                        status
*fedora                            Fedora 28 - x86_64               enabled: 57,327
fedora-cisco-openh264              Fedora 28 openh264 (From Cisco)  disabled
fedora-cisco-openh264-debuginfo    Fedora 28 openh264 (From Cisco)  disabled
fedora-debuginfo                   Fedora 28 - x86_64 - Debug       disabled
fedora-source                      Fedora 28 - Source               disabled
*updates                           Fedora 28 - x86_64 - Updates     enabled: 18,739
updates-debuginfo                  Fedora 28 - x86_64 - Updates - D disabled
updates-source                     Fedora 28 - Updates Source       disabled
updates-testing                    Fedora 28 - x86_64 - Test Update disabled
updates-testing-debuginfo          Fedora 28 - x86_64 - Test Update disabled
updates-testing-source             Fedora 28 - Test Updates Source  disabled

تا به اینجا آموختیم مخزن لینوکس یا linux repository چیست و چه کاربردی دارد و چگونه میتوانیم در سیستم خود لیست مخازن در حال استفاده را دریافت کنیم.

اگر بخواهید اقدام به نصب یک نرم افزار در لینوکس نمایید باید بدانید که به چه شکل میتوانید یک مخزن جدید یا غیر فعال را به لینوکس خود اضافه یا فعال کنید.

افزودن یک مخزن جدید به توزیع های Debian Based :

در سیستم هایی با کرنل دبیان مانند اوبونتو میتوانید از دستور sudo apt-add-repository استفاده کنید که اگر در انتهای آن از علامت (flag) –help استفاده کنید روشهای در دسترس جهت افزودن مخزن را مشاهده میکنید که در اینجا به شکل زیر هستند .

apt-add-repository 'deb http://myserver/path/to/repo stable myrepo'
apt-add-repository 'http://myserver/path/to/repo myrepo'
apt-add-repository 'https://packages.medibuntu.org free non-free'
apt-add-repository http://extras.ubuntu.com/ubuntu
apt-add-repository ppa:user/repository
apt-add-repository ppa:user/distro/repository
apt-add-repository multiverse

همچنین جهت حذف یک مخزن نیز میتوانید از علامت r- مانند apt-add-repository -r ppa:user/repository استفاده کنید .

افزودن یک مخزن جدید به توزیع های Redhat based :

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

dnf config-manager --add-repo http://www.example.com/example.repo

توجه داشته باشید بجای dnf میتوانید از yum استفاده کنید ، در این خصوص در پاراگرافهای بالاتر توضیح داده شد .

 

شاید خوشتون بیاد

یک نظر بذارید

با استفاده از فرم نظرات استفاده از کوکی‌ها را می‌پذیرید

مدیران هاست ارائه دهنده انواع خدمات هاست، سرور و دامنه