DNF5-VERSIONLOCK(8) dnf5 DNF5-VERSIONLOCK(8)

dnf5-versionlock - قفل کردن نسخه بسته‌ها جهت جلوگیری از ارتقا در DNF5

dnf5 versionlock <subcommand> <package-spec-N>...

دستور versionlock در DNF5 مجموعه‌ای از نام‌ها و نسخه‌ها را برای بسته‌ها دریافت کرده و تمامی نسخه‌های دیگر آن بسته‌ها را مستثنی می‌کند. این کار به شما امکان می‌دهد بسته‌ها را در برابر به‌روزرسانی توسط نسخه‌های جدیدتر محافظت کنید. همچنین، این دستور نسخه مشخصی از یک بسته را برای مستثنی کردن از به‌روزرسانی‌ها می‌پذیرد؛ به عنوان مثال هنگامی که لازم است از یک انتشار خاص از بسته‌ای که مشکلات شناخته‌شده‌ای دارد صرف‌نظر شود.

این افزونه تک‌تک مدخل‌های فایل قفل نسخه را پیمایش کرده و هر بسته‌ای با نام داده‌شده را که با شرایط ذکرشده در فایل مطابقت نداشته باشد، مستثنی می‌کند. این کار اساساً مشابه استفاده از dnf5 --exclude برای خود نام بسته است (چرا که نمی‌توانید بسته‌های نصب‌شده را مستثنی کنید)، اما dnf همچنان نسخه‌هایی را که نصب کرده‌اید یا قفل نسخه شده‌اند را در دسترس در نظر می‌گیرد تا دستور dnf reinstall همچنان کار کند.

توجه داشته باشید که دستور versionlock هیچ‌گونه استثنایی را در عملیات‌های غیرتراکنشی مانند repoquery، list، info و غیره اعمال نمی‌کند.

افزودن قفل نسخه برای تمام بسته‌های موجود منطبق با مشخصه. این بدان معناست که تنها نسخه‌هایی از بسته‌ها که توسط package-spec-N مشخص شده‌اند برای عملیات‌های تراکنش در دسترس خواهند بود. شناسه‌های NEVRA برای قفل شدن، ابتدا در میان بسته‌های نصب‌شده و سپس (در صورت پیدا نشدن) در میان تمام بسته‌های در دسترس فعلی جستجو می‌شوند.
افزودن یک استثنا (در قفل نسخه) برای بسته‌های موجود منطبق با مشخصه. این بدان معناست که بسته‌های مشخص‌شده توسط package-spec-N از عملیات‌های تراکنش مستثنی خواهند شد.
حذف تمام مدخل‌های قفل نسخه.
حذف هرگونه مدخل منطبق قفل نسخه.
فهرست کردن مدخل‌های فعلی قفل نسخه.

اگر بسته acpi نصب شده باشد، آن را روی نسخه نصب‌شده فعلی قفل می‌کند. اگر نصب نشده باشد، acpi را روی هر یک از نسخه‌های موجود فعلی قفل می‌کند.
نمایش پیکربندی فعلی قفل نسخه.
حذف هرگونه قانون برای بسته acpi.
مستثنی کردن انتشار iftop-1.2.3-7.fc38.

فایل قفل نسخه یک فایل TOML است که در مسیر /etc/dnf/versionlock.toml ذخیره می‌شود. این فایل باید شامل کلید version باشد؛ نسخه پشتیبانی‌شده فعلی 1.0 است. سپس شامل packages است - فهرستی از مدخل‌های قفل‌گذاری. هر مدخل از نام بسته و فهرستی از شرایط تشکیل شده است. مشخصه نام بسته از همان تطبیق الگوی عمومی (glob) شل پشتیبانی می‌کند. برای مطابقت داشتن یک بسته، تمام شرایط باید برقرار باشند (با استفاده از عملگر منطقی AND ترکیب می‌شوند). سپس تمام مدخل‌ها با استفاده از عملیات منطقی OR با یکدیگر ترکیب می‌شوند.

version = "1.0"
# keep package bash on version 0:5.2.15-5.fc39
[[packages]]
name = "bash"               # name of the package
comment = "description"     # optional description of the entry
[[packages.conditions]]     # conditions for the package "bash"
key = "evr"                 # epoch, evr, and arch keys are supported
comparator = "="            # <, <=, =, >=, >, and != operators are supported
value = "0:5.2.15-5.fc39"   # pattern to match
# exclude iftop-1.2.3-7.fc38 version (versionlock exclude iftop-1.2.3-7.fc38)
[[packages]]
name = "iftop"
[[packages.conditions]]
key = "evr"
comparator = "!="
value = "0:1.0-0.31.pre4.fc39"
# keep acpi on major version 3
[[packages]]
name = "acpi"
[[packages.conditions]]
key = "evr"
comparator = "<"
value = "4"
[[packages.conditions]]
key = "evr"
comparator = ">="
value = "3"
# keep all *nvidia* packages on version 3:570.*
[[packages]]
name = "*nvidia*"
[[packages.conditions]]
key = "evr"
comparator = ">="
value = "3:570"
[[packages.conditions]]
key = "evr"
comparator = "<"
value = "3:571"

dnf5-specs(7)، مشخصات الگوها <#specs-misc-ref-label>

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

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

September 6, 2026