پیکربندی به روز رسانی خودکار با yum-cron در CentOS 7
به طور منظم سیستم CentOS شما یکی از مهمترین جنبه های امنیت سیستم کلی است. اگر شما بسته های سیستم عامل خود را با آخرین تکه های امنیتی به روز نکنید، دستگاه خود را از حملات آسیب پذیر می سازید.
اگر شما چندین دستگاه CentOS را مدیریت می کنید، دستیابی به صورت دستی سیستم های بسته بندی ممکن است وقت گیر باشد. حتی اگر شما یک نصب Single CentOS را مدیریت کنید گاهی اوقات شما ممکن است یک به روز رسانی مهم را نادیده بگیرید. این جایی است که به روزرسانی های خودکار مفید است.
در این آموزش، ما از طریق فرایند پیکربندی به روز رسانی خودکار در CentOS 7 انجام خواهیم داد. همان دستورالعمل ها برای CentOS 6 اعمال می شود.
پیش نیازها
قبل از ادامه این آموزش، اطمینان حاصل کنید که به عنوان کاربر با امتیازات sudo وارد سیستم شوید.
نصب بسته yum-cron
بسته yum-cron
به شما این امکان را می دهد که به طور خودکار دستور yum را به عنوان یک cron job برای اجرا، دانلود و اعمال به روزرسانی اجرا کنید. احتمالا این بسته قبلا در سیستم CentOS شما نصب شده است. اگر نصب نشد، می توانید بسته را با اجرای دستور زیر نصب کنید:
sudo yum install yum-cron
پس از نصب کامل، سرویس را فعال و شروع کنید:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
برای تأیید اینکه سرویس در حال اجرا است، دستور زیر را تایپ کنید:
systemctl status yum-cron
اطلاعات مربوط به وضعیت سرویس yum-cron بر روی صفحه نمایش داده می شود:
● yum-cron.service - Run automatic yum updates as a cron job Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled) Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS) Main PID: 2713 (code=exited, status=0/SUCCESS) CGroup: /system.slice/yum-cron.service
پیکربندی yum-cron
yum-cron دارای دو فایل پیکربندی است که در پوشه /etc/yum
ذخیره می شوند، فایل پیکربندی ساعتی yum-cron.conf
و فایل پیکربندی روزانه yum-cron-hourly.conf
.
سرویس yum-cron
تنها کنترل می کند که آیا کارهای cron اجرا خواهند شد یا خیر. ابزار yum-cron
توسط /etc/cron.hourly/0yum-hourly.cron
و /etc/cron.daily/0yum-daily.cron
cron نامگذاری می شود.
به طور پیش فرض، ساعت cron به صورتی پیکربندی شده برای انجام هیچ کاری نیست. ا
اگر به روز رسانی در دسترس باشد، روزانه cron برای دانلود تنظیم شده است، اما آپدیت های موجود را نصب نکنید و پیام ها را به stdout ارسال کنید. پیکربندی پیش فرض برای سیستم های تولید بحرانی کافی است که شما می خواهید دریافت اطلاعیه ها را انجام دهید و به روز رسانی را به صورت دستی پس از آزمایش به روز رسانی در سرور های تست انجام دهید.
فایل پیکربندی در بخش ها ساختار دارد و هر بخش حاوی نظراتی است که هر خط پیکربندی را توصیف می کند.
برای ویرایش فایل پیکربندی yum-cron، فایل را در ویرایشگر متن خود باز کنید:
sudo nano /etc/yum/yum-cron-hourly.conf
بخش اول
در بخش اول، [commands]
شما می توانید انواع بسته هایی را که می خواهید به روز شود، فعال کنید و پیام ها و دریافت ها را تعریف کنید و تنظیم کنید تا زمانی که در دسترس هستند، به روز رسانی خودکار انجام شود. به طور پیش فرض update_cmd
به طور پیش فرض تنظیم شده است که همه بسته ها را به روز رسانی می کند. اگر میخواهید به روزرسانی های خودکار را بدون استفاده انجام دهید، توصیه میشود که مقدار security
را تغییر دهید که به شما اجازه میدهد تا بسته هایی را که فقط مسئله امنیتی را حل می کنند، به روز کنید.
در مثال زیر ما update_cmd
به security
تغییر update_cmd
و به روز رسانی های ناخواسته را با تنظیم apply_updates
به yes
تغییر apply_updates
: /etc/yum/yum-cron-hourly.conf
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360
بخش دوم
نحوه ارسال پیام ها را مشخص می کند. برای ارسال پیام به هر دو stdout و ایمیل تغییر مقدار emit_via
به stdio,email
.
/etc/yum/yum-cron-hourly.conf
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80
در بخش [email]
می توانید آدرس ایمیل گیرنده و گیرنده را تنظیم کنید. اطمینان حاصل کنید که شما ابزارهایی دارید که می توانند ایمیل هایی که روی سیستم شما نصب شده اند، از قبیل mailx یا postfix ارسال کنند.
/etc/yum/yum-cron-hourly.conf
[email]
email_from = root@centos.host
email_to = me@example.com
email_host = localhost
بخش [base] به شما اجازه می دهد تنظیمات تعریف شده در فایل yum.conf را لغو کنید. اگر می خواهید بسته های خاص را از به روز رسانی حذف کنید می توانید از پارامتر exclude
استفاده کنید. در مثال زیر ما بسته [ mongodb
] را حذف می کنیم.
/etc/yum/yum-cron-hourly.conf
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*
شما نیازی به ری استارت سرویس yum-cron
برای ایجاد تغییرات ایجاد ندارید.
مشاهده لاگ ها
با استفاده از grep برای بررسی اینکه آیا کارهای مربوط به cron با yum اجرا می شوند، از دستور زیر استفاده کنید:
sudo grep yum /var/log/cron
May 4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May 4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron
تاریخ به روز رسانی yum در /var/log/yum
شده است. شما می توانید آخرین به روز رسانی با استفاده از دستور تیل مشاده کنید:
sudo tail -f /var/log/yum.log
May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64
نتیجه
در این آموزش، شما آموزش پیکربندی به روز رسانی خودکار با yum-cron در CentOS 7 را یاد گرفتید. با ارسال نظرات و مشکلات خود ما را همراهی کنید.
بر گرفته از: linuxize.com
اولین نفری باشید که از آموزشها و تخفیفهای ویژه با خبر میشوید 😉
با عضویت در خبرنامه از 80 درصد تخفیف بهره مند شوید
اولین نفر باشید که نظر ارسال میکنید