DNF5-AUTOMATIC(8) dnf5 DNF5-AUTOMATIC(8) نام (NAME) dnf5-automatic - دستور اجرای خودکار به‌روزرسانی‌ها در DNF5 خلاصه دستور (SYNOPSIS) dnf5 automatic [options] توضیحات (DESCRIPTION) رابط خط فرمان جایگزین برای dnf upgrade همراه با امکانات ویژه جهت مناسب‌سازی آن برای اجرای خودکار و منظم از طریق تایمرهای systemd، جاب‌های cron و موارد مشابه. نحوه عملکرد این ابزار توسط فایل‌های پیکربندی کنترل می‌شود. مقادیر پیش‌فرض از فایل پیکربندی /usr/share/dnf5/dnf5-plugins/automatic.conf تنظیم می‌گردند. سپس بازنویسی‌های مختص هر میزبان از فایل /etc/dnf/automatic.conf اعمال می‌شوند. این ابزار متاداده بسته‌ها را در صورت نیاز همگام‌سازی کرده و سپس به‌روزرسانی‌های موجود برای سیستم مورد نظر را بررسی می‌کند؛ پس از آن یا خارج می‌شود، یا بسته‌ها را بارگیری می‌کند و یا به‌روزرسانی‌ها را بارگیری کرده و اعمال می‌نماید. در نهایت، نتیجه عملیات توسط سازوکار انتخاب‌شده گزارش داده می‌شود؛ به عنوان مثال از طریق خروجی استاندارد، رایانامه (ایمیل) یا پیام‌های MOTD. واحد تایمر سیستم‌دی dnf5-automatic.timer مطابق با آنچه در فایل پیکربندی مشخص شده است (در ادامه ببینید)، در رابطه با بارگیری یا اعمال به‌روزرسانی‌ها رفتار خواهد کرد. گزینه‌ها (OPTIONS) --timer اعمال تاخیر تصادفی پیش از اجرا. گزینه‌های زیر می‌توانند برای بازنویسی مقادیر تعیین‌شده در فایل پیکربندی استفاده شوند. --downloadupdates بارگیری خودکار بسته‌های به‌روزرسانی‌شده. --no-downloadupdates بسته‌های به‌روزرسانی‌شده را به صورت خودکار بارگیری نکن. --installupdates نصب خودکار به‌روزرسانی‌های بارگیری‌شده (گزینه --downloadupdates را نیز در بر دارد). --no-installupdates به‌روزرسانی‌های بارگیری‌شده را به صورت خودکار نصب نکن. اجرای سرویس خودکار DNF5 (RUN DNF5 AUTOMATIC SERVICE) این سرویس معمولاً با استفاده از تایمر سیستم‌دی dnf5-automatic.timer اجرا می‌شود. برای پیکربندی سرویس، فایل /etc/dnf/automatic.conf را سفارشی‌سازی کنید. می‌توانید فایل پیکربندی توزیع را از /usr/share/dnf5/dnf5-plugins/automatic.conf کپی کرده و به عنوان مبنا استفاده نمایید، یا فایل پیکربندی اختصاصی خود را از ابتدا فقط با بازنویسی‌های لازم ایجاد کنید. سپس واحد تایمر را فعال کنید: systemctl enable --now dnf5-automatic.timer قالب فایل پیکربندی (CONFIGURATION FILE FORMAT) فایل پیکربندی به بخش‌های موضوعی مختلف تقسیم شده است. بخش [commands] ([commands] section) تنظیم حالت عملکرد برنامه. apply_updates بولی (boolean)، پیش‌فرض: False مشخص می‌کند که آیا بسته‌های شامل به‌روزرسانی‌های موجود باید توسط dnf5-automatic.timer اعمال شوند (یعنی از طریق RPM نصب شوند) یا خیر. این گزینه مستلزم download_updates است. توجه داشته باشید که اگر این مقدار روی False تنظیم شود، بسته‌های بارگیری‌شده تا تراکنش موفق بعدی DNF در حافظه موقت (کَش) باقی می‌مانند. download_updates بولی (boolean)، پیش‌فرض: True مشخص می‌کند که آیا بسته‌های شامل به‌روزرسانی‌های موجود باید توسط dnf5-automatic.timer بارگیری شوند یا خیر. network_online_timeout زمان به ثانیه، پیش‌فرض: 60 حداکثر زمانی (به ثانیه) که dnf5 automatic منتظر برخط (آنلاین) شدن سیستم می‌ماند. مقدار 0 به این معنی است که تشخیص در دسترس بودن شبکه نادیده گرفته می‌شود. random_sleep زمان به ثانیه، پیش‌فرض: 0 حداکثر تاخیر تصادفی پیش از بارگیری (تنها در صورتی اعمال می‌شود که از گزینه --timer استفاده شده باشد). توجه داشته باشید که به طور پیش‌فرض، تایمرهای systemd نیز یک تاخیر تصادفی تا سقف ۱ ساعت اعمال می‌کنند. upgrade_type یکی از مقادیر default، security، distro-sync، پیش‌فرض: default نوع ارتقاهایی که باید بررسی شوند. مقدار default به معنای جستجو برای تمام به‌روزرسانی‌های موجود است، security فقط مواردی را که دارای هشدار امنیتی صادرشده هستند بررسی می‌کند، و distro-sync بسته‌ها را با آخرین نسخه‌های موجود در مخازن فعال همگام‌سازی می‌نماید (مشابه دستور dnf5 distro-sync). reboot یکی از مقادیر never، when-changed، when-needed، پیش‌فرض: never زمان راه‌اندازی مجدد (ریبوت) سیستم پس از ارتقاها را تعیین می‌کند. مقدار never سیستم را ریبوت نمی‌کند. مقدار when-changed پس از هرگونه ارتقا راه‌اندازی مجدد را آغاز می‌کند. مقدار when-needed تنها در صورتی سیستم را ریبوت می‌کند که برای اعمال تغییرات ضروری باشد، مانند زمانی که systemd یا کرنل (هسته سیستم‌عامل) ارتقا یافته باشند. reboot_command رشته، پیش‌فرض: shutdown -r +5 'Rebooting after applying package updates' دستوری را که باید برای راه‌اندازی مجدد سیستم اجرا شود مشخص می‌کند. برای مثال، برای نادیده گرفتن تاخیر ۵ دقیقه‌ای و پیام همگانی (wall)، از shutdown -r استفاده کنید. بخش [emitters] ([emitters] section) انتخاب نحوه گزارش نتایج. emit_via فهرست، پیش‌فرض: stdio فهرست منتشرکننده‌ها (emitters) برای گزارش نتایج از طریق آن‌ها. منتشرکننده‌های موجود عبارتند از: stdio برای چاپ نتیجه در خروجی استاندارد، command برای ارسال نتیجه به یک دستور سفارشی، command_email برای ارسال ایمیل با استفاده از یک دستور، email برای ارسال گزارش از طریق ایمیل با استفاده از سرور SMTP (نیازمندی‌ها را در بخش [email] ببینید)، و motd که نتیجه را به فایل /etc/motd.d/dnf5-automatic ارسال می‌کند. system_name رشته، پیش‌فرض: نام میزبان (hostname) سیستم داده‌شده نامی که سیستم در گزارش‌ها با آن خوانده می‌شود. emit_no_updates بولی (boolean)، پیش‌فرض: False مشخص می‌کند که آیا در صورت عدم رخ دادن رویدادی خاص - یعنی عملیات موفق بوده و هیچ بسته‌ای برای نصب در دسترس نبوده یا نصب نشده است - پیامی ارسال شود یا خیر. بخش [command] ([command] section) پیکربندی منتشرکننده دستوری. متغیرهای قابل استفاده در آرگومان‌های رشته قالب‌بندی شامل body با بدنه پیام است. command_format رشته قالب‌بندی، پیش‌فرض: cat دستور شل برای اجرا. stdin_format رشته قالب‌بندی، پیش‌فرض: {body} داده‌هایی که باید از طریق ورودی استاندارد (stdin) به دستور ارسال شوند. بخش [command_email] ([command_email] section) پیکربندی منتشرکننده ایمیل دستوری. متغیرهای قابل استفاده در آرگومان‌های رشته قالب‌بندی عبارتند از: body با بدنه پیام، subject با موضوع ایمیل، email_from با نشانی "From:" و email_to با فهرستی از گیرندگان که با فاصله از هم جدا شده‌اند. command_format رشته قالب‌بندی، پیش‌فرض: mail -Ssendwait -s {subject} -r {email_from} {email_to} دستور شل برای اجرا. email_from رشته، پیش‌فرض: root نشانی فرستنده پیام ("From:"). email_to فهرست، پیش‌فرض: root فهرست گیرندگان پیام. stdin_format رشته قالب‌بندی، پیش‌فرض: {body} داده‌هایی که باید از طریق ورودی استاندارد (stdin) به دستور ارسال شوند. بخش [email] ([email] section) پیکربندی منتشرکننده ایمیل. این منتشرکننده پیام‌ها را مستقیماً از طریق یک سرور SMTP با استفاده از libcurl ارسال می‌کند و به libcurl همراه با پشتیبانی از پروتکل SMTP نیاز دارد. برخی توزیع‌ها نسخه‌ای کمینه از libcurl را بدون پشتیبانی از SMTP ارائه می‌دهند. در فدورا، این مشکل با اجرای دستور dnf5 swap libcurl-minimal libcurl برطرف می‌شود. به عنوان راهکار جایگزین، می‌توانید از منتشرکننده command_email استفاده کنید که نیازی به پشتیبانی SMTP در libcurl ندارد. اطلاعات احراز هویت برای سرور SMTP از فایل ~/.netrc خوانده می‌شود. email_from رشته، پیش‌فرض: root نشانی فرستنده پیام ("From:"). email_to فهرست، پیش‌فرض: root فهرست گیرندگان پیام. email_host رشته، پیش‌فرض: localhost نام میزبان سرور SMTP که برای ارسال پیام استفاده می‌شود. email_port عدد صحیح، پیش‌فرض: 25 شماره درگاهی (پورت) که باید در سرور SMTP به آن متصل شد. email_tls یکی از مقادیر no، yes، starttls، پیش‌فرض: no مشخص می‌کند که برای اتصال به سرور SMTP از TLS، STARTTLS یا بدون رمزنگاری استفاده شود. بخش [base] ([base] section) می‌تواند برای بازنویسی تنظیمات موجود در فایل پیکربندی اصلی DNF استفاده شود. dnf5.conf(5) را ببینید. نویسندگان (AUTHORS) فایل AUTHORS.md را در توزیع منبع dnf5 ببینید. حق نشر (COPYRIGHT) مشارکت‌کنندگان در پروژه dnf5. September 6, 2026 DNF5-AUTOMATIC(8)