أهلاً وسهلاً بك‫!‬ إذا كانت هذه أول زيارة لك، يمكنك متابعة آخر مواضيع المدونة عبر الإشتراك في صفحتنا على الفيسبوك أو الإشتراك في النشرة البريدية للمدونة عبر القائمة البريدية .

ما هو الكيرنل و كيفية تحديثه ؟

kernel
قمت اليوم بتحديث للكيرنل الخاص بأوبونتو الدي أعمل عليه ، من 3.5 إلى 3.6 كانت طرقة سهلة ليس كما يضن بعض الناس لدلك قررت شرحها ، ليستفيد الكل ، كما وجدتها فرصة رشرح ما هو الكيرنل و الفرق بين مختلف إصداراته.

ماهو الكيرنل؟

الكيرنل "kernel" عبارة عن نواة  لينُكس هي كالدماغ المسؤول عن إدارة نظام التشغيل، و هي  تسمح للنظام  و بعض التطبيقات بالتحكم بالمعالج والذاكرة و تقوم بتنسيق و ادارة المصادر و الموارد بالنظام  و تقوم بتنظيم العلاقة بين النظام و قطع الجهاز و الملحقات الخارجية التي ربطها بالجهاز، كما تبين هده الصورة :
http://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Kernel_Layout.svg/220px-Kernel_Layout.svg.png

لمدا نقوم بتحديثه؟

يقوم المطورين  بتعديلات على الكيرنل الأصلي لتحسين اداء الأجهزة مثل الرام و طريقة تعامله مع قطع الجهاز و موارد الجهاز بشكل افضل , مما ينتج اداء افضل للمعالج و حل بعض المشاكل مثل ارتفاع حرارة الجهاز و حل بعض الأشكاليات مع بعض قطع الجهاز و اجعل تلك القطع تعمل بكفائة اعلى .

 اصدارات الكيرنل

 إحدى الصفات التي تميز الكيرنل هي ارقام إصدارات هذا الكيرنل هذا كان قبل السلسلة 2.6
فالرقم الذي بخرج به معنى ابعد من كونه رقم متسلسل، و لهذا الرقم الرقم إصداران
  • اصدار زوجى مثل 2.2 و 2.4 و 2.6.
  • اصدار فردي و يكون مثل 2.3 و 2.5 و هكذا.
فان كان هذا الرقم "فردي" هذا ان الكرنل تحت التطويل و التجربه، وبالتالي فان المتعاملين معه هم الباحثين و المطورين الذين يختبرون هذا الاصدار من الكيرنل و بالتالي يتم تصحيح الكود ان كان فيه خطأ.
وان كان هذا الرقم "زوجي" فمعنى هذا الكيرنل تم اختيار و بالتالي يمكن الأعتماد عليه، و هذا بالطبع الكرنل الذي نتعامل معه نحن المستخدمين.
ويسمى الكيرنل ذو الرقم الفردي بـ development release او الإصدار الذي تحت التطوير.
ويسمى الكيرنل ذو الرقم الفردي بـ stable relese او الإصدار المستقر.

ايضا رقم الكرنل هذا عبارة عن ثلاثة اجزاء
  • major  ويعني التغيرات الكبيرة التي يطرأ على الكيرنل.
  • minor و تعني التغييرات الصغيرة في الكيرنل.
  • revision number و التي بدورها تعني التعديلات التي يتم ادماجها في الكيرنل.
و كمثال لهذه الأرقام فان الكيرنل بكون له الشكل التالي 2.4.22
فرقم 2 دليل على الـ major ، عندما تم اصدار الكرنل 2 هذا عام 1996 فانه اصبح كيرنل يعمل بنظام الـ modules ( قدرة الكيرنل على تحميلاجزاء من الكود الخاص به اثناء عمله ).
و الرقم 4 دليل على الـ minor ، و التي تعني بمعنى بسيط ، عمل up grade للخصائص التي يوفرها الكيرنل ، و هي بالفعل موجودة فيه.
اما الرقم 22 فهو دليل على الـ revision جديد ( ولا فرق أن يكون فردي أو زوجي ، بكس الإتنان الصابقان )
و قد تضيف الإصدارات المختلفة مثل ردهارت و غيرها ، رقم إضافي الى هولاء الثلاثة ، و يكون بالتالي رقم الكرنل بهذا الشكل 8-2.4.22 . وهذا الرقم الاضافي بمثابة patch خاص بالأصدار نفسه.

أما بعد السلسلة  2.6 فقد تم تغير أسلوب القديم إلى أسلوب جديد و هو كتالي :
الإصدارات الحالية تتبع صيغة 4 أعداد : A.B.C.D
A:
يمثل إصدار النواة و هو لا يتغير إلا نادرا و يكون ذلك للدلالة على تغييرات كبيرة في الشفرة أو في المفاهيم العامة للنواة.
لقد تم تغيير هذا العدد في 1994 (إصدار 1.0) و في 1996 (إصدار 2.0).
B:
يدل على الإصدار الرئيسي للنواة. فبم تعد تهم أن كانت زوجية أم فردية، بدءا مع سلسلة الإصدارات 2.6، كل التحديثات صارت تدخل على نفس سلسلة الإصدار للينكس.
C:
يدل على الإصدار الثانوي للنواة. في السابق كان هذا العدد يغير عند ترقيع النواة لأغراض أمنية، عند تصليح الأخطاء، و عند إضافة خدمات جديدة أو سائق(driver) أو معرف جديد لجهاز معين. مع السياسة الجديدة في الترقيم صار تبديل C محصورا على إضافة خدمات جديدة أو معرف جديد و أصبح العدد الرابع. D يدل على التغييرات الثانوية فقط.

أول عددD أضيف بعد العثور على خطأ (bug) حساس في شفرة نظام الملفات الشبكي NFS في النواة 2.6.8 في ذلك الوقت لم يكن هناك عدد معتبر من التغييرات الأخرى يستدعي رفع ترقيم الإصدار الثانوي إلى 2.6.9 عندها قام لينوس بإصدار النواة 2.6.8.1 و التي أضافـت فقط تصليح الخلل المذكور، مع الإصدار 2.6.11، تم اعتماد الترقيم الجديد بأربعة أعداد.

حاليا قبل ظهور إي إصدار جديد، تقوم لينُكس بإخراج نسخة تحتوي في آخر ترقيمها على الحرفين -rc اللذان يدلان على أن هذه النسخة مرشحة للإصدار القادم (release candidate) ، أي أنها نسخة  تجريبية تكون غير ثابتة.

تحديث الكيرنل

النسخة الأحدث و النهائية من نواة لينُكس 3.6 تحتوي على مجموعة من التحسينات مقارنة بالتسخ السلبقة . هنا قائمة كاملة بهده التغيرات من هنا
هده النسخة تدعم التوزيعات التالية :
  • ubuntu 12.10 /12.04 /11.10 or older
  • Linux Mint 13/12 or older
قم بمعرفة الإصدار الحالي للكيرنل بهدا الأمر
uname -r
للقيام بالتحديث قم بتنفيد هذه الأوامر :
cd /tmp

sudo wget http://dl.dropbox.com/u/47950494/upubuntu.com/linux-kernel-3.6 -O linux-kernel-3.6

chmod +x linux-kernel-3.6

sudo sh linux-kernel-3.6
طبعا يجب عليك عمل روستارت بعد الإنتهاء
و إن أردت حدف الإصدار الجديد و الرجوع للقديم نفد الأمر التالي:
sudo apt-get purge linux-image-3.6.0-030600
ان واجهتك مشاكل في الإقلاع لا قدر الله يمكنك تنفيد الالخطوات التالية

شكرا للأخ أبو عبد الرحمن عقبة من مجتمع لينُكس العربي الدي ساهم بملاحضاته في هدا الموضوع.