RPM-CONFIG(5) File Formats Manual RPM-CONFIG(5)

rpm-config - پیکربندی ماکروهای زمان اجرای rpm

NAME VALUE

/usr/lib/rpm/macros
/usr/lib/rpm/macros.d/macros.*
/usr/lib/rpm/platform/%{_target}/macros
/usr/lib/rpm/fileattrs/*.attr
/usr/lib/rpm/<vendor>/macros
/etc/rpm/macros.*
/etc/rpm/macros
/etc/rpm/%{_target}/macros
~/.config/rpm/macros

سازوکار اصلی پیکربندی در rpm صفحه rpm-macros(7) است. در زمان راه‌اندازی، rpm مجموعه‌ای از فایل‌های rpm-macrofile(5) را که توسط مسیر ماکرو (macro path) تعیین می‌شوند می‌خواند.

هر فایل یا الگوی glob(7) در macro path (جداشده با دو‌نقطه) به صورت ترتیبی توسط rpm برای تعاریف ماکرو خوانده می‌شود. عبارت %{_target} به بستر شناسایی‌شده <arch>-<os> گسترش می‌یابد. علامت‌های مدک (تکواژ ~) به مقدار متغیر محیطی HOME بسط داده می‌شوند.

اگر ماکرویی چندین بار تعریف شود، آخرین ورودی اعمال خواهد شد. macro path پیش‌فرض از این سازوکار برای دستیابی به سلسله‌مراتب تنظیمات زیر استفاده می‌کند:

1.
پیش‌فرض‌های عمومی کارخانه‌ای rpm
2.
پیش‌فرض‌های کارخانه‌ای rpm مخصوص هر بستر (platform)
3.
تنظیمات ویژه توزیع یا سازنده (vendor)
4.
تنظیمات اختصاصی میزبان (host)
5.
تنظیمات اختصاصی کاربر
6.
تنظیمات بازنویسی از خط فرمان

مسیر پیش‌فرض macro path را می‌توان با دستور rpm --showrc|grep ^Macro مشاهده کرد.

در نسخه‌های قدیمی‌تر rpm، مسیر ماکروهای هر کاربر ~/.rpmmacros بود. اگر این فایل وجود داشته باشد و دایرکتوری پیکربندی جدید وجود نداشته باشد، همچنان پردازش می‌شود.

موارد پیکربندی زیر برای بخش‌های زمان اجرای rpm (برخلاف بخش‌های صرفاً مربوط به ساخت بسته) پشتیبانی می‌شوند:

%_color_output MODE

حالت رنگ‌آمیزی خروجی. مقادیر معتبر عبارتند از never و auto.

%_db_backend BACKEND

بک‌اند پایگاه داده مورد استفاده. مقادیر ممکن برای BACKEND عبارتند از:
  • dummy: بک‌اند ساختگی (بدون عملکرد واقعی)
  • bdb_ro: پایگاه داده Berkeley DB (فقط خواندنی)
  • ndb: پایگاه داده بومی (بدون وابستگی‌های خارجی)
  • sqlite: پایگاه داده Sqlite

%_dbpath DIRECTORY

محل فایل(های) پایگاه داده rpm.

%_excludedocs VALUE

مقدار بولی (یعنی 1 == "yes"، 0 == "no") که تعیین می‌کند آیا فایل‌های علامت‌گذاری‌شده به عنوان %doc باید نصب شوند یا خیر.

%_flush_io VALUE

تخلیه بافر ورودی/خروجی (flush IO) فایل‌ها حین تراکنش‌ها (با کاهش شدید کارایی برای دیسک‌های چرخشی/مکانیکی). مقادیر ممکن 1 برای فعال‌سازی و 0 برای غیرفعال‌سازی هستند.

%_group_path PATH

محل فایل‌های group(5) به صورت فهرستی جداشده با دو‌نقطه (:)

%_httpport PORT

پورت پراکسی HTTP (مورد استفاده برای FTP/HTTP).

%_httpproxy HOSTNAME

نام میزبان پراکسی HTTP (مورد استفاده برای FTP/HTTP).

%_install_langs LOCALES

فهرستی جداشده با دو‌نقطه از زبان‌ها و محلی‌سازی‌های (locales) دلخواه برای نصب؛ مقدار all به معنای نصب تمام فایل‌های مربوط به تمام محلی‌سازی‌ها است.

%_install_script_path PATH

مقدار PATH که قبل از اجرای اسکریپت‌های %pre/%post و غیره در متغیرهای محیطی قرار می‌گیرد.

%_keyring BACKEND

نوع دسته کلید (keyring) مورد استفاده. مقادیر ممکن برای BACKEND عبارتند از:
  • fs: فایل‌های متنی اسکی (ASCII) ساده در یک دایرکتوری
  • openpgp: دایرکتوری گواهی مشترک OpenPGP
  • rpmdb: بسته‌های ساختگی (pseudo-packages) در پایگاه داده rpmdb

%_keyringpath DIRECTORY

مسیر دسته کلید برای انواع غیر از rpmdb.

%_minimize_writes VALUE

به حداقل رساندن عملیات نوشتن در طول تراکنش‌ها (به بهای خواندن بیشتر) برای محافظت از دیسک‌های SSD مثلاً (آزمایشی). مقادیر ممکن عبارتند از:
  • 0: غیرفعال
  • 1: فعال
  • -1: (یا تعریف‌نشده) تشخیص خودکار روی بسترهایی که پشتیبانی می‌شوند، در غیر این صورت به طور پیش‌فرض غیرفعال است

%_netsharedpath PATH

فهرستی جداشده با دو‌نقطه از مسیرهایی که فایل‌ها نباید در آن‌ها نصب شوند. معمولاً این مسیرها نقاط اتصال سیستم‌فایل‌های شبکه‌ای هستند.

%_passwd_path PATH

محل فایل‌های passwd(5) به صورت فهرستی جداشده با دو‌نقطه (:)

%_pkgverify_digests HASHALGOS

فهرستی جداشده با دو‌نقطه از الگوریتم‌های درهم‌سازی برای محاسبه چکیده‌ها (digests) روی کل فایل‌های بسته در طول اعتبارسنجی. چکیده‌های محاسبه‌شده در تگ Packagedigests بسته‌ها در rpmdb، و الگوریتم‌های متناظر در تگ Packagedigestalgos ذخیره می‌شوند. اگر حین نصب بسته از گزینه --noverify استفاده شود، هیچ چکیده‌ای برای بسته محاسبه یا ذخیره نخواهد شد.

%_pkgverify_flags VSFLAGS

فلگ‌های اعتبارسنجی بسته در تراکنش، که برای کنترل دقیق عملکرد %_pkgverify_level استفاده می‌شوند. برای سازگاری کامل با بسته‌های نسخه ۴ (v4) روی 0x0 تنظیم کنید.

%_pkgverify_level MODE

حالت اجباری اعتبارسنجی بسته در تراکنش‌ها، که در آن MODE یکی از موارد زیر است:
  • all: نیازمند چکیده(ها) و امضا(های) معتبر
  • signature: نیازمند امضا(های) معتبر
  • digest: نیازمند چکیده(های) معتبر
  • none: رفتار سنتی rpm، هیچ چیزی الزامی نیست

%_prefer_color VALUE

حل تعارض بسته‌ها در تراکنش‌های دو معماری (bi-arch). همچنین ببینید %_transaction_color. مقادیر ممکن عبارتند از:
  • 0: غیرفعال
  • 1: ترجیح بسته‌های ۳۲ بیتی
  • 2: ترجیح بسته‌های ۶۴ بیتی

%__plugindir DIRECTORY

دایرکتوری افزونه‌های تراکنش.

%_query_all_fmt FORMAT

قالب خروجی پیش‌فرض برای عملیات جستجوی rpm(8)، همان‌طور که در rpm-queryformat(7) شرح داده شده است. علامت‌های درصد باید اسکیپ شوند، برای نمونه %%{nevra}.

%_rpmlock_path FILE

مسیر فایلی که برای قفل fcntl تراکنش استفاده می‌شود.

%_tmppath PATH

دایرکتوری که فایل‌های موقت در آن ایجاد می‌شوند.

%__urlhelpercmd EXECUTABLE

فایل اجرایی مورد استفاده برای دریافت فایل‌های راه دور.

%__urlhelperopts OPTIONS

گزینه‌های عمومی برای ارسال به دستور %__urlhelpercmd.

%__urlhelper_localopts OPTIONS

گزینه‌های اختصاصی کاربر/میزبان برای ارسال به دستور %__urlhelpercmd.

%__urlhelper_proxyopts OPTIONS

گزینه‌های پراکسی برای ارسال به دستور %__urlhelpercmd.

%_urlhelper COMMAND

دستور کامل (همراه با گزینه‌ها) برای استفاده هنگام دریافت فایل‌های راه دور. معمولاً از ترکیب ماکروهای با زیرخط دوگانه %__urlhelper* تشکیل می‌شود.

%_transaction_color VALUE

رفتار تعارض فایل‌ها و بسته‌ها در تراکنش‌های دو معماری (bi-arch). همچنین ببینید %_prefer_color. مقادیر ممکن عبارتند از:
  • 0: به «رنگ‌ها» توجه نکن، تنها از نقشه سازگاری معماری استفاده کن
  • 1: تنها اجازه به بسته‌های ۳۲ بیتی
  • 2: تنها اجازه به بسته‌های ۶۴ بیتی
  • 3: اجازه به بسته‌های ۳۲ و ۶۴ بیتی برای اشتراک فایل‌ها

%_vsflags_erase VSFLAGS

فلگ‌های اعتبارسنجی تراکنش هنگام حذف یا به‌روزرسانی بسته‌ها.

%_vsflags_install VSFLAGS

فلگ‌های اعتبارسنجی تراکنش هنگام نصب بسته‌ها.

%_vsflags_query VSFLAGS

فلگ‌های اعتبارسنجی تراکنش هنگام پرس‌وجوی بسته‌ها.

%_vsflags_rebuilddb VSFLAGS

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

%_vsflags_verify VSFLAGS

فلگ‌های اعتبارسنجی تراکنش هنگام بازبینی و اعتبارسنجی بسته‌ها.

فلگ‌های اعتبارسنجی چکیده/امضا برای عملیات گوناگون rpm توسط ماسک بیتی موسوم به VSFLAGS کنترل می‌شوند. این فلگ‌ها جنبه‌های گوناگون بررسی مجموع مقابله‌ای و اعتبارسنجی امضای دیجیتال را هنگام خواندن فایل‌های بسته rpm و هدرهای آن‌ها کنترل می‌کنند.

متغیر VSFLAGS از طریق عملیات OR بیتی میان فلگ‌های تکی تشکیل می‌شود:

  • 0x00001 (RPMVSF_NOHDRCHK): هدرها از rpmdb بررسی نشوند
  • 0x00100 (RPMVSF_NOSHA1HEADER): چکیده SHA1 هدر بررسی نشود
  • 0x00200 (RPMVSF_NOSHA256HEADER): چکیده SHA256 هدر بررسی نشود
  • 0x00400 (RPMVSF_NODSAHEADER): امضا(های) DSA هدر بررسی نشود
  • 0x00800 (RPMVSF_NORSAHEADER): امضا(های) RSA هدر بررسی نشود
  • 0x01000 (RPMVSF_NOOPENPGP): امضا(های) OpenPGP هدر بررسی نشود
  • 0x02000 (RPMVSF_NOSHA3_256HEADER): چکیده SHA3_256 هدر بررسی نشود
  • 0x04000 (RPMVSF_NOSHA512PAYLOAD): چکیده SHA512 بار بسته (payload) بررسی نشود
  • 0x08000 (RPMVSF_NOSHA3_256PAYLOAD): چکیده SHA3_256 بار بسته بررسی نشود
  • 0x10000 (RPMVSF_NOSHA256PAYLOAD): چکیده SHA256 بار بسته بررسی نشود
  • 0x20000 (RPMVSF_NOMD5): چکیده سنتی MD5 هدر+بار بسته بررسی نشود
  • 0x40000 (RPMVSF_NODSA): امضای سنتی DSA هدر+بار بسته بررسی نشود
  • 0x80000 (RPMVSF_NORSA): امضای سنتی RSA هدر+بار بسته بررسی نشود

اتصالات پایتون RPM (Python bindings) می‌توانند برای کار با این مقادیر مفید باشند، برای نمونه:

>>> import rpm
>>> hex(rpm.RPMVSF_NOSHA1HEADER)
'0x100'
>>> hex(rpm.RPMVSF_NOSHA1HEADER|rpm.RPMVSF_NOMD5)
'0x20100'
>>>

الگوریتم‌های درهم‌سازی زیر (که با HASHALGO مشخص می‌شوند) برای rpm شناخته‌شده هستند، اما در دسترس بودن آن‌ها بسته به نحوه ساخت rpm و کتابخانه‌های زیربنایی آن ممکن است متفاوت باشد:

  • 1: MD5 (منسوخ‌شده)
  • 2: SHA1 (منسوخ‌شده)
  • 8: SHA256
  • 9: SHA384
  • 10: SHA512
  • 12: SHA3-256
  • 14: SHA3-512

اگر متغیر محیطی XDG_CONFIG_HOME تنظیم شده باشد، جایگزین ~/.config در macro path می‌شود.

rpm(8), rpm-common(8), rpm-macrofile(5), rpm-rpmrc(5), rpm-macros(7)

2026-03-06 RPM 6.0.1