apk-repositories(5) File Formats Manual apk-repositories(5)

apk-repositories - فهرست مخازن بسته

برنامه apk(8) تعاریف مخازن را از فایل‌های فوق (/etc/apk/repositories، /etc/apk/repositories.d/*.list و /lib/apk/repositories.d/*.list) بارگذاری می‌کند.

ابتدا فایل repositories بارگذاری می‌شود. سپس در صورتی که از گزینه --repositories-file استفاده نشده باشد، مسیرهای repositories.d پردازش می‌شوند. دایرکتوری‌ها به ترتیب ذکرشده پیمایش می‌شوند. به محض مشاهده یک فایل .list با نام مشخص، هر فایلی با همان نام در دایرکتوری‌های بعدی نادیده گرفته می‌شود.

هر خط از یکی از نحوهای (syntax) زیر پیروی می‌کند:

# comment

خط توضیح (کامنت) که نادیده گرفته می‌شود.

set [-default] key=value

متغیر به نام key را به value داده‌شده تنظیم می‌کند.

نام key محدود به حروف، اعداد و نویسه خط زیرین (_) است و باید با یک حرف آغاز شود. نام‌های متغیر با پیشوند APK_ برای متغیرهای داخلی رزرو شده‌اند و توسط کاربر قابل تعریف نیستند.

پیش از انتساب، گسترش متغیر روی value انجام می‌شود.

اگر گزینه -default مشخص شده باشد، در صورتی که key از قبل وجود داشته باشد، مقدار آن تغییر نخواهد کرد.

در حال حاضر متغیرهای زیر تعریف شده‌اند:

•
APK_ARCH، معماری اصلی پایگاه داده

ndx [@tag] url
[v2|v3] [@tag] url [component...]

اگر در اعلان مخزن، فیلد نوع حذف شود، مقدار پیش‌فرض آن v2 خواهد بود (یا در صورتی که url به .adb یا .tar.gz ختم شود، برابر با ndx خواهد بود). اگر قالب v3 باشد یا نام فایل ndx به .adb ختم شود، یک فایل نمایه (index) با فرمت v3 الزامی است.

برچسب اختیاری @tag می‌تواند برای نشان دادن این موضوع استفاده شود که مخزن نباید به صورت پیش‌فرض استفاده گردد. برای چگونگی فعال‌سازی نصب بسته‌ها از مخازن برچسب‌خورده، به apk-world(5) مراجعه کنید.

گسترش متغیر روی بخش‌های url و component به صورت جداگانه در زمان تجزیه خط انجام می‌شود.

آدرس url به یک فایل نمایه یا یک مسیر مخزن اشاره دارد. طرح‌واره‌های (schemes) پشتیبانی‌شده در حال حاضر عبارتند از:

  • http://
  • https://
  • file://
  • مسیر مطلق در سیستم‌فایل (باید با `/` شروع شود)

فهرست component فهرستی از مولفه‌های مخزن را مشخص می‌کند. در صورت مشخص شدن، خط مربوطه به چندین URL گسترش می‌یابد: یکی برای هر مولفه، و component به انتهای url افزوده می‌شود. مشخص کردن component همراه با نوع ndx معتبر نیست.

برای تعریف فهرست مخزن ارائه‌شده توسط توزیع، توزیع می‌تواند به عنوان مثال فایل /lib/apk/repositories.d/distribution.list را با محتویات زیر ارائه دهد:

set -default distro_mirror=https://example.com/distro
v3 ${distro_mirror} main community

در /etc/apk/repositories.d/00-vars.list می‌توان آینه (mirror) را به این صورت بازنویسی کرد:

اگر type برابر با ndx باشد، چیدمان و تفکیک مسیر به شرح زیر است:

  • url یک URL به فایل نمایه (index) است
  • base_url همان url است که آخرین مولفه آن حذف شده است
  • مسیر پیش‌فرض بسته: $base_url/$name-$version.apk

در غیر این صورت، type یکی از انواع مخزن است و تفکیک مسیر به این صورت کار می‌کند:

  • url همان base_url برای مخزن است
  • نمایه (v3) در $base_url/$arch/Packages.adb قرار دارد
  • نمایه (v2) در $base_url/$arch/APKINDEX.tar.gz قرار دارد
  • مسیر پیش‌فرض بسته: $base_url/$arch/$name-$version.apk

اگر فایل نمایه دارای مقدار pkgname-spec تنظیم‌شده باشد، از آن برای ساخت مسیر بسته استفاده می‌شود. در غیر این صورت، مسیر پیش‌فرض بسته بر اساس قوانین بالا استفاده خواهد شد.

برای چگونگی ایجاد فایل‌های نمایه به apk-mkndx(8) و برای اصلاح امضاها به apk-adbsign(8) مراجعه کنید.

برای قالب نمایه موروثی (قدیمی)، به apk-index(8) برای فایل‌های نمایه، abuild-keygen(1) برای اطلاعات پیرامون تولید کلیدها و abuild-sign(1) برای اطلاعات در مورد استفاده از این کلیدها جهت امضای فایل‌ها مراجعه کنید.

برنامه apk-verify(8) می‌تواند فایل‌های نمایه و بسته‌ها را چه در قالب جدید و چه در قالب قدیمی اعتبارسنجی کند.

برنامه apk(8) نمایه هر مخزن را دریافت کرده و در یک حافظه موقت (کش) محلی در /etc/apk/cache یا /var/cache/apk ذخیره می‌کند. برای جزئیات بیشتر به apk-cache(5) مراجعه کنید.

برای چگونگی پیکربندی کلاینت جهت اعتبارسنجی امضاهای نمایه، به apk-keys(5) مراجعه کنید.

2026-08-31