ثلاث طرق لترقية نواة نظام التشغيل CentOS للحاسوب الصناعي
أثناء استخدام نظام التشغيل CentOS، لا مفر من ترقية النواة، ولكن في بعض الأحيان بسبب مشكلات تبعية تجميع التعليمات البرمجية المصدرية، لا تدعم جميع البرامج أحدث إصدار من النواة، لذلك سنقدم فيما يلي ثلاث طرق لترقية النواة.
ملحوظة:
حول أنواع النواة:
يشير الاختصار ml في kernel-ml إلى [mainline stable] باللغة الإنجليزية، ويتم إدراج أحدث إصدار مستقر من mainline في elrepo-kernel.
يشير lt في kernel-lt إلى اختصار [الدعم طويل الأمد] باللغة الإنجليزية، ويتم إدراج إصدار الدعم طويل الأمد في elrepo-kernel.
تحقق من إصدار النواة
uname -r

جدول المحتويات
1. تثبيت yum
1. استورد مصدر المستودع
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. عرض الحزم القابلة للتثبيت
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. اختر إصدار ML أو LT للتثبيت
إذا لم يتم تحديد إصدار، فسيتم تثبيت أحدث إصدار افتراضيًا
قم بتثبيت إصدار التعلم الآلي
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
قم بتثبيت إصدار LT، وحدد هذا الخيار لجميع إصدارات K8S.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. تحقق من تسلسل إقلاع النواة الحالي
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. تعديل عنصر التمهيد الافتراضي
يمثل xxx الرقم التسلسلي، الذي يحدد العنصر رقم x في قائمة التمهيد كعنصر التمهيد، ويبدأ العد من 0.
grub2-set-default xxxx
على سبيل المثال، إذا كنت ترغب في ضبطه للإقلاع باستخدام النواة 4.4
ثم أدخل مباشرةً "grub2-set-default 0"، ويمكنك البدء من الإصدار 4.4 في المرة القادمة التي تبدأ فيها التشغيل
تحقق من تسلسل إقلاع النواة
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
قم بتعيين رقم تسلسل التمهيد
[root@localhost ~] grub2-set-default 0
إعادة التشغيل
إعادة التشغيل
تحقق من إصدار النواة
uname -r
2. تركيب RPM
تحقق من إصدار النواة
uname -r
1. ابحث عن الإصدار
لأن مصدر ELRepo هو أحدث إصدار، فلا يمكن تنزيل الإصدار القديم من النواة إلا يدويًا.
ابحث عن النسخة التاريخية من حزمة kernel rpm:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. تحتاج إلى تنزيل ثلاثة أنواع من ملفات RPM
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3. تثبيت النواة
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
أو
#تثبيت الكل بنقرة واحدة
rpm -Uvh *.rpm
4. تأكد من إصدار النواة المثبتة
[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64
5. ضبط بدء التشغيل
تحقق من ترتيب بدء التشغيل
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
حدد ترتيب الإقلاع
[root@localhost ~]# grub2-set-default 0
أعد تشغيل الجهاز لتفعيل التغييرات
[root@localhost ~]# إعادة التشغيل
3. تثبيت الكود المصدري
1. قم بتثبيت حزمة البرامج الأساسية
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. أنشئ دليل تجميع النواة
استخدم دليل kernelbuild الموجود ضمن مجلد المستخدم الرئيسي
mkdir ~/kernelbuild
3. الحصول على شفرة المصدر الخاصة بالنواة
موقع جامعة تسينغهوا البديل:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
عنوان تنزيل حزمة تثبيت شفرة المصدر الأخرى:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
كلا التنسيقين مقبولان، لكن تنسيق tar.xz يتميز بمعدل ضغط أعلى وحجم ملف أصغر.
التنزيل عبر الإنترنت: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. فك ضغط كود النواة
بعد فك ضغط الملف، ادخل إلى مجلد المصدر:
القطران -xvJf linux-4.17.11.tar.xz
لضمان أن تكون شجرة النواة نظيفة تمامًا، ادخل إلى دليل النواة وقم بتنفيذ الأمر make mrproper:
cd linux-4.17.11
نظّف واجعل السيد لائقًا
5. تكوين النواة
انسخ ملف تكوين النواة الحالي
ملف config-3.10.0-862.el7.x86_64 هو ملف تهيئة نواة النظام في بيئتي الحالية، قم بتعديله وفقًا للوضع الفعلي.
cp /boot/config-3.10.0-862.el7.x86_64 .config
الإعدادات المتقدمة
يتم تفعيل الخيار y، ويتم تعطيل الخيار n، ويتم تفعيل الخيار m عند الحاجة.
make menuconfig: واجهة ncurses القديمة، تم استبدالها بـ nconfig
make nconfig: واجهة سطر أوامر جديدة باستخدام ncurses
6. تجميع وتثبيت
قم بتجميع النواة
إذا كان لديك جهاز رباعي النواة، فيمكن أن تكون قيمة x هي 8
make -jx
قم بتثبيت النواة
بعد تجميع النواة، قم بالتثبيت: تحذير: من الآن فصاعدًا، أنت بحاجة إلى امتيازات الجذر لتنفيذ الأوامر، وإلا فسوف تفشل العملية.
make modules_install install
7. إعداد بدء التشغيل
تحقق من تسلسل بدء التشغيل
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
قم بترتيب الإقلاع
[root@localhost ~]# grub2-set-default 0
أعد تشغيل الجهاز لتفعيل التغييرات
[root@localhost ~]# إعادة التشغيل
LET'S TALK ABOUT YOUR PROJECTS
- sinsmarttech@gmail.com
-
3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China
Our experts will solve them in no time.

جهاز كمبيوتر مثبت على رف
الحوسبة المدمجة
أجهزة الكمبيوتر الصناعية المحمولة
أجهزة لوحية متينة
كمبيوتر محمول متين
جهاز كمبيوتر لوحي صناعي
جهاز محمول متين
أدفانتك للحاسوب الصناعي