مخزن پکیج مکانی است که بسته های نرم افزاری در آن ذخیره شده و می توان از آن بازیابی کرد. این مخزن در یک دایرکتوری خاص سازماندهی شده است و معمولا حاوی یک فایل ایندکس و ابَرداده های مورد نیاز مدیران بسته لینوکس برای دسترسی به پکیج های موجود در مخزن و وابستگی های آنها است.
پکیج منیجر مانند APT (ابزار بستهبندی پیشرفته – پیشفرض در سیستمهای مشابه دبیان) به شما امکان میدهند بستهها را بهطور خودکار از یک مخزن پیکربندی شده نصب و ارتقا دهید. آنها همچنین دارای قابلیت تفکیک وابستگی و بررسی به روز رسانی نرم افزار هستند.
توجه: قبل از ادامه، به یاد داشته باشید که مخازن نرم افزار را فقط از منابعی که به آنها اعتماد دارید اضافه کنید!
این راهنما نحوه اضافه کردن یک مخزن پکیج در لینوکس دبیان و اوبونتو و همچنین مشتقات آنها مانند Linux Mint را نشان می دهد پس با ما همراه باشید.
آشنایی با مخزن APT در دبیان و اوبونتو
مدیر پکیج APT بسته ها را از مخازن مختلف واکشی می کند. یک مخزن می تواند باینری یا منبع، و خودکار یا پیش پا افتاده باشد. همچنین می تواند آنلاین یا آفلاین باشد (مثلاً در یک CD-ROM) اما مورد اول رایج تر است. علاوه بر این، یک مخزن می تواند رسمی (توسعه و نگهداری توسط Debian یا Ubuntu/Canonical) یا غیر رسمی (شخص ثالث) باشد.
یک مخزن در فایل پیکربندی /etc/apt/sources.list یا در فایلی که در دایرکتوری /etc/apt/sources.list.d ذخیره شده، تعریف میشود. هر فایل مخزن باید با پسوند .list خاتمه یابد.
ls /etc/apt/sources.list.d/ $
در یک فایل مخزن، هر خط دارای قواعد (سینتکس) زیر است.
deb URI distribution component1 component2 … componentN
OR
deb-src URI distribution component1 component2 … componentN
پارامتر اول نوع بایگانی را مشخص می کند (deb – برای باینری و deb-src – برای فایل های منبع)، بعدی URI – ریشه مخزن، سپس توزیع، و یک یا چند مؤلفه است.
مخازن خودکار APT
برای تعریف مخزن خودکار، باید یک توزیع و یک یا چند جزء را مشخص کنید و توزیع نباید با اسلش به پایان برسد. در زیر نمونه هایی از تعاریف مخزن خودکار آورده شده است:
deb http://repository.spotify.com stable non-free
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/focal pgadmin4 main
deb https://download.mono-project.com/repo/ubuntu stable-focal main
مخازن غیر خودکار یا پیش پا افتاده APT
برای مخازن غیر خودکار، توزیع مسیر نسبی فایل های فهرست را مشخص می کند و باید با یک اسلش به پایان برسد. علاوه بر این، هیچ مولفه ای مشخص نمیشود. در اینجا چند نمونه آورده شده است:
deb http://cloud.r-project.org/bin/linux/debian bullseye-cran40/
deb file:///home/tecmint/rep-exact binary/
نکته مهم این است که APT به فهرست پکیج های محلی، پایگاه داده ای از پکیج های موجود از مخازن تعریف شده در فایل /etc/apt/sources.list و فایل های زیر دایرکتوری /etc/apt/sources.list.d متکی است. میتوانید فایلهای ایندکس پکیج را در پوشه /var/lib/apt/lists/ پیدا کنید.
پس از ایجاد تغییرات در تنظیمات مخزن، همیشه باید قبل از نصب یا بهروزرسانی بستهها، فهرست بسته محلی را بهروزرسانی کنید.
sudo apt update $
OR
sudo apt-get update $
همانطور که در زیر توضیح داده شده است، بیایید نحوه اضافه کردن مخزن apt را بررسی کنیم.
اضافه کردن دستی مخزن APT در دبیان و اوبونتو
برای افزودن یک مخزن به صورت دستی، به سادگی فایل مخزن را در پوشه /etc/apt/sources.list.d ایجاد کنید. توصیه نمی شود همه مخازن را در فایل /etc/apt/sources.list اضافه کنید. این مثال نحوه اضافه کردن مخزن بسته های محیط نرم افزار R را نشان می دهد.
sudo vim /etc/apt/sources.list.d/r-packages.list $
پیکربندی مخزن را کپی و در فایل پیست کنید و مطمئن شوید که پارامترهایی مانند URI و توزیع و اجزا با آنچه در مخزن تعریف شده مطابقت دارند:
deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/
سپس با استفاده از دستور wget زیر کلید مخزن را اضافه کنید.
$ wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
همچنین، میتوانید با استفاده از دستورات echo و tee، مخزن را به صورت زیر اضافه کنید:
$ echo "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/" | sudo tee /etc/apt/sources.list.d/r-packages.list
$ wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
در مرحله بعد، باید فهرست بسته محلی را با آخرین تغییرات ایجاد شده در مخازن به روز کنید و سپس بسته ای را از مخزن به صورت زیر نصب کنید:
sudo apt update $
sudo apt install --no-install-recommends r-base $
برای غیرفعال کردن یک مخزن apt، به سادگی آن را در فایل پیکربندی مخزن کامنت کنید.
افزودن مخزن APT با استفاده از دستور apt-add-repository
ابزار خط فرمان add-apt-repository برای افزودن یک مخزن به فایل /etc/apt/sources.list یا دایرکتوری /etc/apt/sources.list.d استفاده میشود. اگر یک مخزن از قبل وجود داشته باشد، می تواند آن را با استفاده از -r حذف کند.
اگر ابزار add-apt-repository در سیستم شما در دسترس نیست، می توانید بسته نرم افزاری-properties-common را که آن را ارائه می دهد نصب کنید:
sudo apt update $
sudo apt install software-properties-common $
بیایید به مثال زیر نگاه کنیم. دستور اول مخزن را اضافه می کند و دستور دوم با استفاده از ابزار wget کلید مخزن را بازیابی می کند و با استفاده از ابزار tee آن را در فایل مشخص شده ذخیره می کند:
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" $
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc $
اگر بخواهید یک مخزن را اضافه کنید که از قبل وجود دارد، دستور add-apt-repository پیام "Repository already exists" را همانطور که در تصویر زیر نشان داده شده است نشان می دهد.
مرحله بعدی این است که فهرست بسته apt را به روز کنید و یک بسته را از مخزن نصب کنید، همانطور که قبلا نشان داده شده است:
sudo apt update $
sudo apt install --no-install-recommends r-base $
افزودن آرشیو بسته های شخصی (PPA)
PPA ها مخازن نرم افزاری برای انتشار بسته های نرم افزاری ارائه شده توسط کاربر از طریق Launchpad هستند. این مثال نحوه افزودن PPA رسمی ابزار اسکرین شات شاتر را نشان می دهد.
sudo add-apt-repository ppa:shutter/ppa $
sudo apt-get update $
sudo apt install shutter $
حذف یک مخزن PPA
برای حذف مخزن با استفاده از ابزار apt-add-repository، از -r یا --remove آن همانطور که قبلا ذکر شد استفاده کنید:
sudo add-apt-repository -r "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" $
در این آموزش طریقه اضافه کردن مخزن پکیج را به ابونتو و دبیان را توضیح دادیم. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.
آموزش های مرتبط: