DNF5-CONFIG-MANAGER(8) dnf5 DNF5-CONFIG-MANAGER(8)

dnf5-config-manager - دستور مدیریت پیکربندی

dnf5 config-manager <subcommand> [options] [arguments]

پیکربندی اصلی، پیکربندی مخازن و متغیرها را مدیریت می‌کند.

یک فایل پیکربندی مخازن جدید را که از طریق نشانی اینترنتی (URL) یا مسیر محلی مشخص شده است، اضافه می‌کند.

فایل بدون هیچ تغییری کپی می‌شود. نام فایل مقصد را می‌توان با استفاده از گزینه --save-filename تعیین کرد، در غیر این صورت از مشخصات منبع گرفته می‌شود. اگر پسوند .repo در نام فایل مقصد وجود نداشته باشد، اضافه خواهد شد.

مسیر دایرکتوری مقصد اولین مسیر ذخیره‌شده در گزینه reposdir است (به‌طور پیش‌فرض /etc/yum.repos.d). بازنویسی یا جایگزینی فایل موجود را می‌توان با استفاده از گزینه --overwrite فعال کرد. پیش از آنکه فایل پیکربندی مخازن جدید در نهایت ذخیره شود، تجزیه‌وتحلیل شده و صحت اعتبار آن سنجیده می‌شود. شناسه‌های مخزن نیز بررسی می‌شوند. مخازنی با شناسه یکسان نباید در فایل‌های پیکربندی دیگر تعریف شده باشند.

یک مخزن جدید را که با استفاده از گزینه‌های کاربر تعریف شده است اضافه می‌کند.

حداقل یکی از گزینه‌های --set=baseurl=<URL>، --set=mirrorlist=<URL> یا --set=metalink=<URL> باید روی یک نشانی اینترنتی (URL) غیرخالی تنظیم شود. شناسه مخزن را می‌توان با استفاده از گزینه --id تعریف کرد، در غیر این صورت از نشانی اینترنتی تولید می‌شود. نام فایل مقصد را می‌توان با استفاده از گزینه --save-filename تعیین کرد، در غیر این صورت روی شناسه مخزن تنظیم می‌شود. اگر پسوند .repo در نام فایل مقصد وجود نداشته باشد، اضافه خواهد شد.

مسیر دایرکتوری مقصد اولین مسیر ذخیره‌شده در گزینه reposdir است (به‌طور پیش‌فرض /etc/yum.repos.d). بازنویسی یا جایگزینی فایل موجود را می‌توان با استفاده از گزینه --overwrite فعال کرد. تغییر دادن یک فایل موجود را می‌توان با استفاده از گزینه --add-or-replace فعال ساخت. تغییر دادن به این معنی است که مخزن جدید به فایل موجود اضافه می‌شود یا مخزنی با همان شناسه در فایل جایگزین می‌گردد. پیش از آنکه پیکربندی مخزن جدید در نهایت ذخیره شود، شناسه مخزن بررسی می‌شود. مخزنی با شناسه یکسان نباید در فایل پیکربندی دیگری تعریف شده باشد.

گزینه‌ها را در فایل پیکربندی اصلی و در فایل بازنویسی پیکربندی مخازن تنظیم می‌کند.

پیکربندی اصلی ابتدا از فایل‌های موجود در دایرکتوری‌های دراپ‌این (drop-in) و سپس از فایل پیکربندی اصلی (به‌طور پیش‌فرض /etc/dnf/dnf.conf) خوانده می‌شود. بنابراین، گزینه‌های فایل پیکربندی اصلی در انتها خوانده شده و مقادیر همان گزینه‌های تعریف‌شده در دایرکتوری‌های دراپ‌این را بازنویسی (override) می‌کنند.

پیکربندی مخازن از فایل‌های پیکربندی مخزن خوانده شده و سپس با استفاده از بازنویسی‌های پیکربندی مخزن تنظیم می‌شود. فایل‌های بازنویسی پیکربندی مخزن از دایرکتوری بازنویسی مخازن توزیع (/usr/share/dnf5/repos.override.d) و از دایرکتوری بازنویسی مخازن سیستم (/etc/dnf/repos.override.d) خوانده می‌شوند. اگر فایلی با همان نام در هر دو دایرکتوری بازنویسی وجود داشته باشد، فقط فایل دایرکتوری بازنویسی سیستم استفاده می‌شود. بدین ترتیب، فایل بازنویسی توزیع را می‌توان به‌سادگی با ایجاد فایلی با همان نام در دایرکتوری بازنویسی سیستم ماسک کرد. تمام فایل‌های بازنویسی مورداستفاده بر اساس نامشان به ترتیب الفبایی مرتب شده و سپس به همان ترتیب اعمال می‌شوند. بازنویسی فایل بعدی فایل قبلی را رونویسی می‌کند؛ آخرین بازنویسی اولویت دارد.

دستور setopt بازنویسی‌های پیکربندی مخازن را در فایلی به نام 99-config_manager.repo واقع در دایرکتوری بازنویسی مخازن سیستم می‌نویسد. تنظیمات مخزن تنها در این فایل بازنویسی نوشته می‌شوند. فایل پیکربندی اصلی مخزن تغییری نمی‌کند. شناسه مخزن ممکن است شامل الگوهای گلوب (globs) باشد. فایل‌های بازنویسی نیز از الگوهای گلوب پشتیبانی می‌کنند. اما دستور setopt الگوی repoid را تفکیک کرده و بازنویسی‌ها برای هر مخزن منطبق به‌طور مستقل تنظیم می‌شوند. این بدان معناست که مخازنی که بعداً اضافه شوند تحت تأثیر این بازنویسی‌ها قرار نخواهند گرفت.

گزینه‌ها را از فایل پیکربندی اصلی و از فایل بازنویسی پیکربندی مخازن حذف می‌کند.

دستور unsetopt گزینه‌ها را از فایل پیکربندی اصلی (به‌طور پیش‌فرض /etc/dnf/dnf.conf) حذف می‌کند. با این حال، ممکن است این گزینه‌ها همچنان در فایل‌های پیکربندی دایرکتوری‌های دراپ‌این (برای مثال، پیکربندی پیش‌فرض توزیع) تعریف شده باشند.

دستور unsetopt بازنویسی‌های پیکربندی مخزن را از فایل 99-config_manager.repo واقع در دایرکتوری بازنویسی مخازن سیستم حذف می‌کند. با این حال، این بازنویسی‌ها ممکن است همچنان در سایر فایل‌های بازنویسی مخزن (برای مثال، بازنویسی‌های پیش‌فرض توزیع) تعریف شده باشند. بخش‌های خالی از فایل بازنویسی پیکربندی حذف می‌شوند. شناسه مخزن ممکن است شامل الگوهای گلوب باشد. در این حالت، الگوی repoid تفکیک شده و بازنویسی از تمام بخش‌های منطبق حذف می‌گردد.

یک یا چند متغیر را تنظیم می‌کند.

متغیرها از چندین دایرکتوری بارگذاری می‌شوند. فهرست مسیرهای دایرکتوری از گزینه varsdir گرفته می‌شود. دستور setvar متغیرها را در آخرین دایرکتوری موجود در فهرست ذخیره می‌کند (به‌طور پیش‌فرض /etc/dnf/vars). متغیرهای این دایرکتوری در انتها خوانده شده و مقادیر همان متغیرهای تعریف‌شده در دایرکتوری‌های قبلی را بازنویسی (override) می‌کنند. به عبارت دیگر، آخرین دایرکتوری بالاترین اولویت را دارد.

نکته: متغیرهای releasever_major و releasever_minor هر زمان که متغیر releasever تنظیم شود، به‌طور خودکار از آن مشتق می‌شوند.

متغیرها را حذف می‌کند.

متغیرها از چندین دایرکتوری بارگذاری می‌شوند. فهرست مسیرهای دایرکتوری از گزینه varsdir گرفته می‌شود. دستور unsetvar متغیرها را از آخرین دایرکتوری فهرست حذف می‌کند (به‌طور پیش‌فرض /etc/dnf/vars). بنابراین، ممکن است متغیر همچنان در دایرکتوری دیگری از فهرست (برای مثال، مقدار پیش‌فرض توزیع) وجود داشته باشد.

یک یا چند مخزن را فعال می‌کند.

دستور enable مخازن را از طریق فایلی به نام 99-config_manager.repo واقع در دایرکتوری بازنویسی مخازن سیستم فعال می‌کند. فایل پیکربندی اصلی مخزن تغییری نمی‌کند. شناسه مخزن ممکن است شامل الگوهای گلوب باشد. دستور enable الگوی repoid را تفکیک کرده و هر مخزن منطبق به‌طور مستقل فعال می‌شود. این بدان معناست که مخازنی که بعداً اضافه شوند تحت تأثیر این دستور قرار نخواهند گرفت.

یک یا چند مخزن را غیرفعال می‌کند.

دستور disable مخازن را از طریق فایلی به نام 99-config_manager.repo واقع در دایرکتوری بازنویسی مخازن سیستم غیرفعال می‌کند. فایل پیکربندی اصلی مخزن تغییری نمی‌کند. شناسه مخزن ممکن است شامل الگوهای گلوب باشد. دستور disable الگوی repoid را تفکیک کرده و هر مخزن منطبق به‌طور مستقل غیرفعال می‌شود. این بدان معناست که مخازنی که بعداً اضافه شوند تحت تأثیر این دستور قرار نخواهند گرفت.

نکته:

دایرکتوری‌های بازنویسی نیز همراه با مثال‌هایی در بخش دایرکتوری‌های دراپ‌این مخزن <#drop-in-repo-directories-label> فهرست شده‌اند.

امکان افزودن یا جایگزینی مخزن با همان شناسه در فایل پیکربندی موجود را فراهم می‌کند.
امکان ایجاد دایرکتوری‌های ناموجود را فراهم می‌کند.
فایل پیکربندی مبدأ شامل مخازن جدید را مشخص می‌کند.
شناسه را برای مخزن تازه‌ساخته‌شده تنظیم می‌کند.
امکان جایگزینی فایل پیکربندی مخزن موجود با فایل جدید را فراهم می‌کند.
نام فایل پیکربندی مخزن جدید را تعیین می‌کند. اگر پسوند .repo وجود نداشته باشد، اضافه می‌شود.
گزینه‌ای را در مخزن تازه‌ساخته‌شده تنظیم می‌کند.

دانلود additional.repo، آزمایش اعتبار آن، و قرار دادن آن در دایرکتوری پیکربندی مخزن.
ایجاد یک فایل مخزن جدید با http://example.com/different/repo به عنوان baseurl و فعال‌سازی آن. شناسه مخزن و نام فایل مقصد از روی baseurl تولید می‌شود.
ایجاد یک فایل مخزن جدید با http://example.com/different/repo به عنوان baseurl، تنظیم شناسه مخزن روی example و غیرفعال‌سازی آن.
تنظیم بازنویسی برای فعال‌سازی مخزن مشخص‌شده با repoid1 و غیرفعال‌سازی مخزن مشخص‌شده با repoid2.
تنظیم بازنویسی برای گزینه proxy در مخازنی با شناسه‌های repo1 و repo2.
تنظیم بازنویسی برای گزینه pkg_gpgcheck در تمام مخازنی که شناسه مخزن آن‌ها به -debuginfo ختم می‌شود.
حذف بازنویسی برای گزینه pkg_gpgcheck در تمام مخازنی که شناسه مخزن آن‌ها به -debuginfo ختم می‌شود.
گزینه اصلی keepcache را فعال کرده و حداکثر اندازه فایل‌های گزارش را به ۱۰ مبی‌بایت (۱۰ * ۱۰۲۴ * ۱۰۲۴ بایت) تنظیم می‌کند.
گزینه‌های keepcache و log_size را از فایل پیکربندی اصلی حذف می‌کند.
متغیرهای myvar1 و myvar2 را تنظیم می‌کند. در صورت عدم وجود، دایرکتوری متغیرها ایجاد می‌شود.
متغیرهای myvar1 و myvar2 را حذف می‌کند.

dnf5.conf(5)، مرجع پیکربندی DNF5 <#dnf5-conf-label>

به فایل AUTHORS.md در توزیع کد منبع dnf5 مراجعه کنید.

مشارکت‌کنندگان پروژه dnf5.

September 6, 2026