تحديث النواة وإدارة GRUB: دليل آمن
تحديث النواة بـ apt/yum، التحقق من إصدار النواة الحالي، تهيئة GRUB، الرجوع إلى نواة سابقة وإدارة النواة بأمان على خوادم Linux.
جدول المحتويات
تحديث النواة وإدارة GRUB: دليل آمن
نواة Linux هي جوهر نظام التشغيل وتشكّل الجسر بين الأجهزة والبرامج. تُغلق تحديثات النواة ثغرات الأمان وتضيف دعماً لأجهزة جديدة وتوفر تحسينات في الأداء. يغطي هذا الدليل عملية تحديث النواة وتهيئة GRUB وكيفية الرجوع إلى إصدار نواة سابق عند حدوث مشكلات.
التحقق من إصدار النواة الحالي
# عرض إصدار النواة الجارية
uname -r
# معلومات تفصيلية عن النواة
uname -a
# سرد جميع إصدارات النواة المثبتة (Ubuntu/Debian)
dpkg --list | grep linux-image
# RHEL/CentOS/AlmaLinux
rpm -qa | grep kernel
تحديث النواة
تحديث النواة على Ubuntu/Debian
# تحديث قائمة الحزم
sudo apt update
# سرد التحديثات المتاحة
apt list --upgradable | grep linux
# تحديث النظام بالكامل (بما في ذلك النواة)
sudo apt upgrade -y
# تحديث النواة فقط
sudo apt install linux-image-generic linux-headers-generic
# تثبيت إصدار نواة محدد
sudo apt install linux-image-5.15.0-91-generic
# إعادة التشغيل بعد التحديث
sudo reboot
تحديث النواة على RHEL/CentOS/AlmaLinux
# تحديث قائمة الحزم
sudo dnf update
# تحديث النواة فقط
sudo dnf update kernel
# سرد إصدارات النواة المثبتة
sudo dnf list installed kernel
# إعادة التشغيل بعد التحديث
sudo reboot
إعادة التشغيل مطلوبة بعد تحديث النواة. احفظ جميع الأعمال المهمة ودوّن الخدمات الجارية قبل إعادة التشغيل.
التحقق بعد التحديث
# التحقق من إصدار النواة الجديد
uname -r
# فحص سجلات النظام
sudo journalctl -b | head -50
# التحقق من الخدمات الحرجة
sudo systemctl status nginx
sudo systemctl status mysql
تهيئة GRUB
GRUB (Grand Unified Bootloader) هو محمّل الإقلاع في أنظمة Linux. يدير أي نواة يتم تحميلها عند تثبيت إصدارات متعددة.
عرض قائمة GRUB
# سرد إدخالات قائمة GRUB
grep -E "^menuentry|^submenu" /boot/grub/grub.cfg
# تنسيق أكثر قابلية للقراءة
grep -E "menuentry '" /boot/grub/grub.cfg | head -20
# النواة الافتراضية الحالية
grub-editenv list
ملف تهيئة GRUB
# تعديل ملف تهيئة GRUB الرئيسي
sudo nano /etc/default/grub
# معاملات GRUB المهمة:
# اختيار النواة الافتراضية (0 = الأولى، 1 = الثانية، إلخ)
GRUB_DEFAULT=0
# وقت انتظار القائمة (ثوانٍ)
GRUB_TIMEOUT=5
# إظهار القائمة دائماً
GRUB_TIMEOUT_STYLE=menu
# معاملات النواة
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# تحديث تهيئة GRUB
sudo update-grub # Ubuntu/Debian
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS
تغيير النواة الافتراضية
# سرد إدخالات قائمة GRUB مرقّمة
awk -F\' '/menuentry / {print i++" : "$2}' /boot/grub/grub.cfg
# تغيير النواة الافتراضية (فهرس يبدأ من 0)
sudo grub-set-default 1
# التحقق من التغيير
grub-editenv list
# تحديث GRUB
sudo update-grub
الرجوع إلى نواة سابقة
الطريقة 1: الاختيار اليدوي من قائمة GRUB
عند إعادة تشغيل الخادم في قائمة GRUB:
- اختر الخيارات المتقدمة لـ Ubuntu
- اختر إصدار النواة القديم من القائمة
- اضغط Enter للتشغيل
للخوادم البعيدة، استخدم ميزة وحدة تحكم KVM/VNC في لوحة تحكم REXE للوصول إلى قائمة GRUB.
الطريقة 2: تعيين النواة القديمة كافتراضية
# سرد إصدارات النواة المثبتة
dpkg --list | grep linux-image | grep -v meta
# إيجاد اسم إدخال القائمة الكامل
grep "menuentry '" /boot/grub/grub.cfg | grep "5.15.0-88"
# تعيين كافتراضي
sudo grub-set-default "Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-88-generic"
# تحديث GRUB
sudo update-grub
# إعادة التشغيل
sudo reboot
الطريقة 3: إزالة النواة الإشكالية
# إزالة إصدار النواة الإشكالي (Ubuntu/Debian)
sudo apt remove linux-image-5.15.0-91-generic
sudo apt autoremove
# تحديث GRUB
sudo update-grub
معاملات النواة
# عرض معاملات النواة الحالية
cat /proc/cmdline
# تغيير معامل أثناء التشغيل (مؤقت)
sudo sysctl -w net.ipv4.ip_forward=1
# تغيير معامل دائم
sudo nano /etc/sysctl.d/99-custom.conf
# تطبيق التغييرات
sudo sysctl -p
معاملات النواة الشائعة
# أداء الشبكة
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
# إدارة الذاكرة
vm.swappiness = 10
vm.dirty_ratio = 15
# نظام الملفات
fs.file-max = 2097152
استراتيجية التحديث الآمن لخوادم الإنتاج
# 1. أخذ نسخة احتياطية
rsync -avz /var/www/ backup-server:/backup/
# 2. الاختبار في بيئة التجهيز أولاً
# 3. تحديد نافذة صيانة
# التحديث في ساعات انخفاض حركة المرور
# 4. التحديث وإعادة التشغيل
sudo apt update && sudo apt upgrade -y
sudo reboot
# 5. التحقق من الخدمات
sudo systemctl status nginx mysql
بدلاً من تطبيق تحديثات النواة فوراً على خوادم الإنتاج، اختبرها أولاً في بيئة التجهيز. للأنظمة الحرجة، حدد نافذة صيانة للتحديثات.
استكشاف الأخطاء وإصلاحها
النظام لا يعمل بعد تحديث النواة
# الوصول إلى قائمة GRUB عبر وحدة تحكم KVM في REXE
# اختيار النواة القديمة من الخيارات المتقدمة
# بعد التشغيل بالنواة القديمة، إزالة النواة الإشكالية
sudo apt remove linux-image-[الإصدار-الإشكالي]
sudo update-grub
وحدة النواة لا تُحمَّل
# سرد الوحدات المحمّلة
lsmod
# تحميل وحدة
sudo modprobe اسم-الوحدة
# فحص سجلات النواة
sudo dmesg | tail -50
الخلاصة
تحديثات النواة بالغة الأهمية لأمان وأداء خوادم Linux. تُغلق تحديثات النواة المنتظمة الثغرات الأمنية وتتيح الاستفادة من الميزات الجديدة. يتيح لك فهم تهيئة GRUB الرجوع بسرعة إلى إصدار نواة سابق عند حدوث مشكلات.
مقالات ذات صلة
الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
الاتصال بـ Windows VDS عبر RDP: دليل شامل للمبتدئين
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS: دليل إعادة التثبيت خطوة بخطوة
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.