| 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 |