Skip to content
VDS · الأمان

تحديثات الأمان التلقائية

كيف تُعدّ unattended-upgrades على Debian و Ubuntu و dnf-automatic على AlmaLinux لتثبّت التصحيحات نفسها دون توقف الخدمة ليلًا.

آخر تحديث 23 أغسطس 2026

معظم الاختراقات تحدث عبر ثغرات جرى سدّها منذ أشهر. التحديثات اليدوية تؤجَّل، أما التلقائية فلا. الإعداد السليم يثبّت تحديثات الأمان فقط ويترك كل ما عداها دون مساس.

Debian وUbuntu

apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades

الملف /etc/apt/apt.conf.d/50unattended-upgrades:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Package-Blacklist {
    "postgresql-.*";
    "docker-ce";
};
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Mail "you@example.com";

يوجد الجدول الزمني في /etc/apt/apt.conf.d/20auto-upgrades:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

تشغيل تجريبي، دون إجراء أي تغييرات:

unattended-upgrade --dry-run --debug
systemctl status unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log

AlmaLinux وCentOS Stream

dnf install -y dnf-automatic

في /etc/dnf/automatic.conf:

[commands]
upgrade_type = security
apply_updates = yes
reboot = never
systemctl enable --now dnf-automatic.timer
systemctl list-timers | grep dnf

ما الذي يجب استثناؤه

أضف إلى قائمة الاستثناء كل ما يتعطّل عند تغيّر إصداره بشكل غير متوقع: خادم قاعدة البيانات، وDocker، ومحرّك التطبيق نفسه. حدّثها يدويًا في وقت هادئ — راجع تحديثات النظام والحزم.

تُثبَّت تحديثات أمان النواة أيضًا، لكنها لا تدخل حيز التنفيذ إلا بعد إعادة التشغيل:

test -f /var/run/reboot-required && cat /var/run/reboot-required.pkgs

إعادة التشغيل: قرار بشري فقط

الإغراء قوي لضبط Automatic-Reboot "true"، لكن إعادة التشغيل الليلية التلقائية تعني أن الخدمة تُعاد بلا أحد يراقب. وإذا لم تعُد إحدى الخدمات للعمل، فستعرف بالأمر صباحًا من مستخدميك.

حل وسط معقول: تُثبَّت التحديثات تلقائيًا، وتعيد التشغيل يدويًا مرة واحدة في الشهر مع مراقبة الطرفية في لوحة /hosting/vds/m/<id>. وأثناء ذلك، تحقق من أن الخدمات تبدأ من تلقاء نفسها:

systemctl is-enabled nginx postgresql
systemctl list-units --state=failed

أخطاء شائعة

الخطأالنتيجةالإصلاح
تفعيل التحديثات لكل المستودعات، لا لمستودعات الأمان فقطوصول تغييرات في الميزاتالإبقاء على مصدر -security فقط
قاعدة البيانات ليست في قائمة الاستثناءإصدار رئيسي يتلف البياناتإضافتها إلى Package-Blacklist
إعادة تشغيل تلقائية في الليللم تعُد الخدمة للعمل ولم يلاحظ أحدAutomatic-Reboot "false"
الإعداد ثم النسيانالنواة تُحدَّث لكن التحديث لا يُطبَّقفحص reboot-required مرة في الشهر
الحزم المنزَّلة تملأ القرصنفاد المساحةالإبقاء على تنظيف ذاكرة التخزين المؤقت التلقائي مفعّلًا

التحديثات التلقائية تأمين، وليست بديلًا عن الانتباه. مرة في الشهر، افتح الجهاز، وانظر في سجل التحديثات، وقائمة الخدمات الفاشلة، وما إذا كانت إعادة التشغيل مطلوبة. خمس عشرة دقيقة شهريًا تغطي معظم السيناريوهات الواردة في مقال علامات الاختراق.