| DNF5.CONF-VENDORPOLICY-V1_0(5) | dnf5 | DNF5.CONF-VENDORPOLICY-V1_0(5) |
نام (NAME)
dnf5.conf-vendorpolicy-v1_0 - مرجع فایل شیوهنامه تغییر ارائهدهنده DNF5 - نسخه ۱.۰
توضیحات (DESCRIPTION)
این سند ساختار و نحو (syntax) فایلهای پیکربندی شیوهنامه تغییر ارائهدهنده DNF5 را با استفاده از قالب نسخه 1.0 توضیح میدهد.
برای اطلاعات کلی درباره فایلهای شیوهنامه تغییر ارائهدهنده، مرجع فایل شیوهنامه تغییر ارائهدهنده DNF5 <#dnf5-vendor-change-policy-label> را ببینید.
ساختار فایل (FILE STRUCTURE)
فیلدهای الزامی (Required Fields)
- version
- رشته
نسخه قالب فایل پیکربندی.
برای این قالب، باید روی "1.0" تنظیم شود.
این فیلد الزامی است و باید در بالاترین سطح فایل TOML مشخص شود.
مثال:
version = '1.0'
نکته:
اگر فایل فاقد هرگونه فهرست ارائهدهنده باشد، بارگیری شده و نسخه آن اعتبارسنجی میشود، اما هیچ قانونی تعریف نمیکند و بر رفتار مدیر ارائهدهنده تأثیری نخواهد داشت.
تعریف نگاشت ارائهدهنده (Vendor Mapping Definition)
فایل میتواند از یکی از روشهای تعریف ارائهدهنده زیر استفاده کند. تنها یک روش میتواند استفاده شود.
گزینه ۱: فهرستهای جداگانه (خروجی + ورودی)
- [[outgoing_vendors]]
- آرایهای
از جدولها
فهرست ارائهدهندگانی که تغییر از آنها مجاز است (ارائهدهندگان بسته خروجی).
- [[incoming_vendors]]
- آرایهای
از جدولها
فهرست ارائهدهندگانی که تغییر به آنها مجاز است (ارائهدهندگان بسته ورودی).
نکته:
مهم:
- ارائهدهنده بسته خروجی (نصبشده) در outgoing_vendors فهرست شده باشد
- ارائهدهنده بسته ورودی (جدید) در incoming_vendors فهرست شده باشد
گزینه ۲: ارائهدهندگان معادل
- [[equivalent_vendors]]
- آرایهای
از جدولها
فهرست ارائهدهندگانی که متقابلاً معادل یکدیگرند. تغییرات در هر دو جهت بین تمام ارائهدهندگان موجود در این فهرست مجاز است.
نکته:
فیلدهای ورودی ارائهدهنده (Vendor Entry Fields)
هر ورودی در [[outgoing_vendors]]، [[incoming_vendors]] یا [[equivalent_vendors]] میتواند شامل فیلدهای زیر باشد:
- vendor
- رشته
فیلد الزامی.
نام ارائهدهنده یا الگو برای تطبیق.
- comparator
- رشته
فیلد اختیاری.
روش تطبیق مورد استفاده هنگام مقایسه رشتههای ارائهدهنده.
پیشفرض: "EXACT"
مقادیر پشتیبانیشده:
- "EXACT" - تطبیق دقیق (حساس به حروف بزرگ و کوچک)
- "IEXACT" - تطبیق دقیق (غیرحساس به حروف بزرگ و کوچک)
- "GLOB" - الگوی glob (حساس به حروف بزرگ و کوچک)
- "IGLOB" - الگوی glob (غیرحساس به حروف بزرگ و کوچک)
- "REGEX" - عبارت باقاعده (حساس به حروف بزرگ و کوچک)
- "IREGEX" - عبارت باقاعده (غیرحساس به حروف بزرگ و کوچک)
- "CONTAINS" - شامل رشته (حساس به حروف بزرگ و کوچک)
- "ICONTAINS" - شامل رشته (غیرحساس به حروف بزرگ و کوچک)
- "STARTSWITH" - شروع با (حساس به حروف بزرگ و کوچک)
- "ISTARTSWITH" - شروع با (غیرحساس به حروف بزرگ و کوچک)
- "ENDSWITH" - پایان با (حساس به حروف بزرگ و کوچک)
- "IENDSWITH" - پایان با (غیرحساس به حروف بزرگ و کوچک)
- "NOT_EXACT", "NOT_IEXACT", "NOT_GLOB", "NOT_IGLOB", "NOT_CONTAINS", "NOT_ICONTAINS" - گونههای نفیشده
- exclude
- بولی
فیلد اختیاری.
اگر true باشد، ارائهدهنده از قاعده مستثنی میشود. این برای تعریف استثناها بر قواعد کلیتر مفید است. قواعد (ورودیهای ارائهدهنده) به ترتیبی که تعریف شدهاند پردازش میشوند. این بدان معناست که یک قاعده مستثنیسازی (exclude) باید قبل از قواعدی که ارائهدهنده باید از آنها مستثنی شود، درج گردد.
پیشفرض: false
مثالها (EXAMPLES)
مثال ۱: مجاز دانستن تغییر از "VendorA" به "VendorB" (Example 1: Allow change from "VendorA" to "VendorB")
این مثال کمینهی پیکربندی الزامی را نشان میدهد که تغییر از "VendorA" به "VendorB" را مجاز میداند، اما نه برعکس.
version = '1.0' [[outgoing_vendors]] vendor = 'VendorA' [[incoming_vendors]] vendor = 'VendorB'
مثال ۲: مجاز دانستن تغییر از هر ارائهدهندهای به "My Trusted Vendor" (Example 2: Allow change from any vendor to "My Trusted Vendor")
این مثال مجاز دانستن تغییر از هر ارائهدهندهای به "My Trusted Vendor" را نشان میدهد، اما نه برعکس (نیازمند قاعده صریح برای مجاز دانستن تمامی ارائهدهندگان است).
version = '1.0' [[outgoing_vendors]] vendor = '' comparator = 'CONTAINS' [[incoming_vendors]] vendor = 'My Trusted Vendor'
مثال ۳: ارائهدهندگان معادل (Example 3: Equivalent vendors)
این مثال ارائهدهندگانی را نشان میدهد که متقابلاً معادل یکدیگرند و تغییر در هر دو جهت را مجاز میدانند.
version = '1.0' # All following vendors are mutually equivalent [[equivalent_vendors]] vendor = 'Fedora Project' [[equivalent_vendors]] vendor = 'Red Hat' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'CentOS' comparator = 'ISTARTSWITH'
مثال ۴: ارائهدهندگان معادل با یک استثنا (Example 4: Equivalent vendors with an exclusion)
این مثال شیوهنامه ارائهدهنده را برای ارائهدهندگان مرتبط با SUSE همراه با یک استثنا برای openSUSE Build Service نشان میدهد.
version = '1.0' # All following vendors are mutually equivalent except excluded ones [[equivalent_vendors]] vendor = 'openSUSE Build Service' comparator = 'ISTARTSWITH' exclude = true [[equivalent_vendors]] vendor = 'SUSE' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'openSUSE' comparator = 'ISTARTSWITH'
همچنین ببینید (SEE ALSO)
- مرجع فایل شیوهنامه تغییر ارائهدهنده DNF5 <#dnf5-vendor-change-policy-label>
- مرجع فایل شیوهنامه تغییر ارائهدهنده DNF5 - v1.1 <#dnf5-vendor-change-policy-v1-1-label>
- dnf5.conf(5), مرجع پیکربندی DNF5 <#dnf5-conf-label>
نویسندگان (AUTHORS)
فایل AUTHORS.md را در توزیع منبع dnf5 ببینید.
حق نشر (COPYRIGHT)
مشارکتکنندگان پروژه dnf5.
| September 6, 2026 |