| apk-repositories(5) | File Formats Manual | apk-repositories(5) |
نام (NAME)
apk-repositories - فهرست مخازن بسته
توضیحات (DESCRIPTION)
برنامه apk(8) تعاریف مخازن را از فایلهای فوق (/etc/apk/repositories، /etc/apk/repositories.d/*.list و /lib/apk/repositories.d/*.list) بارگذاری میکند.
ابتدا فایل repositories بارگذاری میشود. سپس در صورتی که از گزینه --repositories-file استفاده نشده باشد، مسیرهای repositories.d پردازش میشوند. دایرکتوریها به ترتیب ذکرشده پیمایش میشوند. به محض مشاهده یک فایل .list با نام مشخص، هر فایلی با همان نام در دایرکتوریهای بعدی نادیده گرفته میشود.
قالب فایل (FILE FORMAT)
هر خط از یکی از نحوهای (syntax) زیر پیروی میکند:
# comment
set [-default] key=value
نام key محدود به حروف، اعداد و نویسه خط زیرین (_) است و باید با یک حرف آغاز شود. نامهای متغیر با پیشوند APK_ برای متغیرهای داخلی رزرو شدهاند و توسط کاربر قابل تعریف نیستند.
پیش از انتساب، گسترش متغیر روی value انجام میشود.
اگر گزینه -default مشخص شده باشد، در صورتی که key از قبل وجود داشته باشد، مقدار آن تغییر نخواهد کرد.
در حال حاضر متغیرهای زیر تعریف شدهاند:
- •
- APK_ARCH، معماری اصلی پایگاه داده
ndx [@tag] url
[v2|v3] [@tag] url [component...]
برچسب اختیاری @tag میتواند برای نشان دادن این موضوع استفاده شود که مخزن نباید به صورت پیشفرض استفاده گردد. برای چگونگی فعالسازی نصب بستهها از مخازن برچسبخورده، به apk-world(5) مراجعه کنید.
گسترش متغیر روی بخشهای url و component به صورت جداگانه در زمان تجزیه خط انجام میشود.
آدرس url به یک فایل نمایه یا یک مسیر مخزن اشاره دارد. طرحوارههای (schemes) پشتیبانیشده در حال حاضر عبارتند از:
- http://
- https://
- file://
- مسیر مطلق در سیستمفایل (باید با `/` شروع شود)
فهرست component فهرستی از مولفههای مخزن را مشخص میکند. در صورت مشخص شدن، خط مربوطه به چندین URL گسترش مییابد: یکی برای هر مولفه، و component به انتهای url افزوده میشود. مشخص کردن component همراه با نوع ndx معتبر نیست.
مثالها (EXAMPLES)
برای تعریف فهرست مخزن ارائهشده توسط توزیع، توزیع میتواند به عنوان مثال فایل /lib/apk/repositories.d/distribution.list را با محتویات زیر ارائه دهد:
v3 ${distro_mirror} main community
در /etc/apk/repositories.d/00-vars.list میتوان آینه (mirror) را به این صورت بازنویسی کرد:
چیدمان مخزن (REPOSITORY LAYOUT)
اگر 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 تنظیمشده باشد، از آن برای ساخت مسیر بسته استفاده میشود. در غیر این صورت، مسیر پیشفرض بسته بر اساس قوانین بالا استفاده خواهد شد.
ایجاد نمایهها و مخازن (CREATING INDEXES AND REPOSITORIES)
برای چگونگی ایجاد فایلهای نمایه به apk-mkndx(8) و برای اصلاح امضاها به apk-adbsign(8) مراجعه کنید.
برای قالب نمایه موروثی (قدیمی)، به apk-index(8) برای فایلهای نمایه، abuild-keygen(1) برای اطلاعات پیرامون تولید کلیدها و abuild-sign(1) برای اطلاعات در مورد استفاده از این کلیدها جهت امضای فایلها مراجعه کنید.
برنامه apk-verify(8) میتواند فایلهای نمایه و بستهها را چه در قالب جدید و چه در قالب قدیمی اعتبارسنجی کند.
بهروزرسانی نمایه کلاینت (CLIENT INDEX UPDATING)
برنامه apk(8) نمایه هر مخزن را دریافت کرده و در یک حافظه موقت (کش) محلی در /etc/apk/cache یا /var/cache/apk ذخیره میکند. برای جزئیات بیشتر به apk-cache(5) مراجعه کنید.
برای چگونگی پیکربندی کلاینت جهت اعتبارسنجی امضاهای نمایه، به apk-keys(5) مراجعه کنید.
| 2026-08-31 |