deb-triggers(5) dpkg suite deb-triggers(5)

deb-triggers - تریگرهای بسته

debian/triggers, debian/binary-package.triggers, DEBIAN/triggers

یک بسته با گنجاندن یک فایل triggers در بایگانی کنترلی خود (یعنی DEBIAN/triggers در طول ساخت بسته)، رابطه خود با یک یا چند تریگر را اعلان می‌کند.

این فایل حاوی دستورالعمل‌ها، یکی در هر خط، است. فاصله‌های خالی ابتدا و انتهای خط و هر چیزی پس از اولین # در هر خط حذف شده و خطوط خالی نادیده گرفته می‌شوند.

دستورالعمل‌های کنترلی تریگر که در حال حاضر پشتیبانی می‌شوند عبارتند از:

مشخص می‌کند که بسته به تریگر نام‌برده علاقه‌مند است (به آن نیاز دارد). تمام تریگرهایی که یک بسته به آن‌ها علاقه‌مند است باید با استفاده از این دستورالعمل در فایل کنترلی تریگرها فهرست شوند.

گونه‌های “await”، بسته به نحوه فعال‌سازی تریگر، بسته فعال‌کننده را در وضعیت triggers-awaited (در انتظار تریگر) قرار می‌دهند. گونه “noawait” بسته‌های فعال‌کننده را در وضعیت triggers-awaited قرار نمی‌دهد، حتی اگر بسته فعال‌کننده یک فعال‌سازی “await” را اعلان کرده باشد (خواه با یک دستورالعمل activate-await یا activate، یا با استفاده از گزینه خط فرمان --no-await در dpkg-trigger). گونه “noawait” باید زمانی استفاده شود که قابلیت ارائه‌شده توسط تریگر حیاتی نیست.

ترتیبی می‌دهد که تغییرات در وضعیت این بسته، تریگر مشخص‌شده را فعال کند. تریگر در ابتدای عملیات‌های زیر فعال خواهد شد: unpack (استخراج)، configure (پیکربندی)، remove (حذف، از جمله به سود بسته‌ای دارای تعارض)، purge (پاکسازی کامل) و deconfigure (لغو پیکربندی).

گونه‌های “await” بسته فعال‌کننده را تنها در صورتی در وضعیت triggers-awaited قرار می‌دهند که دستورالعمل interest نیز “await” باشد. گونه “noawait” هرگز بسته‌های فعال‌کننده را در وضعیت triggers-awaited قرار نمی‌دهد. گونه “noawait” باید زمانی استفاده شود که قابلیت ارائه‌شده توسط تریگر حیاتی نیست.

اگر این بسته در حین استخراج بسته‌ای دیگر ناپدید شود (disappear)، تریگر هنگامی فعال خواهد شد که این ناپدید شدن در اواخر عملیات استخراج ثبت شود. پردازش تریگر و انتقال از وضعیت triggers-awaited به installed، باعث فعال‌سازی تریگر نمی‌شود. در مورد unpack (استخراج)، تریگرهای ذکرشده در هر دو نسخه قدیمی و جدید بسته فعال خواهند شد.

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

در صورت امکان، همواره باید گونه‌های “-noawait” ترجیح داده شوند؛ زیرا بسته‌های فعال‌کننده در وضعیت triggers-awaited قرار نمی‌گیرند و در نتیجه می‌توانند بلافاصله و بدون نیاز به پردازش تریگر پیکربندی شوند. اگر بسته‌های فعال‌کننده از وابستگی‌های بسته‌های ارتقایافته دیگر باشند، این کار از اجرای زودهنگام پردازش تریگر جلوگیری کرده و این امکان را فراهم می‌سازد که تریگر فقط یک‌بار به عنوان یکی از مراحل پایانی ارتقا اجرا شود.

گونه‌های “-noawait” از dpkg نسخه 1.16.1 پشتیبانی می‌شوند و در صورت استفاده با نسخه‌های قدیمی‌تر dpkg با خطا مواجه خواهند شد.

گونه‌های نام مستعار “-await” از dpkg نسخه 1.17.21 پشتیبانی می‌شوند و در صورت استفاده با نسخه‌های قدیمی‌تر dpkg با خطا مواجه خواهند شد.

هنگامی که یک بسته دستورالعمل interest-noawait را ارائه می‌دهد، هرگونه فعال‌سازی، بسته فعال‌کننده را صرف‌نظر از حالت انتظار درخواست‌شده توسط فعال‌سازی (خواه “await” یا “noawait”) در حالت “noawait” قرار می‌دهد. هنگامی که یک بسته دستورالعمل interest یا interest-await را ارائه می‌دهد، هرگونه فعال‌سازی بسته فعال‌کننده را بسته به نحوه فعال‌سازی آن در حالت “await” یا “noawait” قرار می‌دهد.

dpkg-trigger(1), dpkg(1), /usr/share/doc/dpkg/spec/triggers.txt.

2026-03-06 1.23.7-dirty