مكونات نظام Linux: شرح النواة وShell ونظام الملفات ومدير الحزم
مكونات نظام Linux: شرح النواة وShell ونظام الملفات ومدير الحزم
مكونات Linux: يتكون النظام الذي نستخدمه فعليا من مجموعة من الأجزاء التي تعمل معا لإدارة الجهاز وتشغيل البرامج والتعامل مع الملفات والمستخدمين والعتاد. وأشهر هذه المكونات هي النواة Kernel وShell ونظام الملفات ومدير الحزم وواجهات المستخدم والأدوات الأساسية.
لفهم Linux بشكل صحيح: من المهم التفريق بين Linux كنواة وبين التوزيعة الكاملة التي يستخدمها الشخص يوميا. النواة مسؤولة عن إدارة موارد الجهاز، بينما تضيف التوزيعة بقية الأدوات والبرامج وواجهة الاستخدام اللازمة لتوفير نظام متكامل.
مكونات Linux في صورة سريعة
النواة التي تدير موارد الجهاز
تنفيذ الأوامر والتفاعل مع النظام
تنظيم الملفات والمجلدات
تثبيت البرامج وتحديثها
واجهة استخدام رسومية أو نصية
ما هي نواة Linux Kernel؟
النواة Kernel: هي الجزء المركزي من Linux الذي يدير موارد الجهاز ويعمل كحلقة وصل بين البرامج والعتاد. وتشمل وظائفها إدارة العمليات والذاكرة والتعامل مع الأجهزة وأنظمة الملفات وواجهات النظام التي تستخدمها البرامج. وتحتوي وثائق النواة الرسمية على أقسام متخصصة لإدارة الذاكرة والملفات والأنظمة الفرعية وبرامج التشغيل وغيرها.
التطبيقات والخدمات
إدارة الموارد والعتاد
CPU وRAM والأجهزة
ما هو Shell في Linux؟
Shell: هو برنامج أو مفسر أوامر يسمح للمستخدم بالتفاعل مع النظام من خلال أوامر نصية. ومن أشهر هذه البيئات Bash، وهو اختصار لـ Bourne Again SHell، ويعمل كمفسر للأوامر مع وظائف تفاعلية وبرمجية.
$ pwd
/home/user
$ ls
Documents Downloads Pictures
وظيفة Shell: عندما تكتب أمرا في الطرفية، يقوم الـShell بتفسير الأمر وتشغيل البرنامج أو العملية المناسبة، ويمكنه أيضا تنفيذ السكربتات وربط الأوامر معا وتوجيه المدخلات والمخرجات.
ما هو نظام الملفات Filesystem؟
نظام الملفات: هو الطريقة التي ينظم بها Linux الملفات والمجلدات والبيانات الموجودة على وحدات التخزين. وتعمل طبقة Virtual File System في النواة على توفير واجهة موحدة للتعامل مع أنظمة الملفات المختلفة. وتوثق نواة Linux هذه الطبقة وعددا كبيرا من أنظمة الملفات المدعومة.
البنية الأساسية
الجذر
ملفات المستخدمين
الإعدادات
بيانات متغيرة وسجلات
ملفات مؤقتة
/proc: يعد حالة خاصة، فهو نظام ملفات افتراضي يوفر واجهة لعرض معلومات عن العمليات والنواة وبعض خصائص النظام الجاري تشغيله. وتوضح وثائق النواة أن /proc يحتوي على مجلدات خاصة بالعمليات وبيانات مرتبطة بالنظام.
أهم مجلدات Linux ووظيفة كل منها
| المجلد | الوظيفة بشكل مبسط |
|---|---|
| / | جذر نظام الملفات. |
| /home | مجلدات وملفات المستخدمين. |
| /etc | ملفات إعدادات النظام. |
| /var | بيانات متغيرة مثل بعض السجلات. |
| /tmp | ملفات مؤقتة. |
| /boot | ملفات مرتبطة بمرحلة الإقلاع. |
| /dev | واجهات وأسماء تمثل أجهزة النظام. |
| /usr | جزء كبير من البرامج والملفات المشتركة. |
| /proc | معلومات افتراضية عن العمليات والنواة والنظام الجاري. |
ما هو مدير الحزم Package Manager؟
مدير الحزم: هو أداة تساعد في تثبيت البرامج وإزالتها وتحديثها وإدارة الملفات والتبعيات التي تحتاجها البرامج. تختلف الأداة حسب التوزيعة، لذلك قد تستخدم توزيعة Ubuntu وDebian أدوات مختلفة عن Fedora أو Arch Linux.
يستخدم على نطاق واسع في Debian وUbuntu.
مدير حزم أساسي في Fedora.
مدير الحزم في Arch Linux.
sudo apt update
sudo apt install package-name
الفكرة الأساسية: بدلا من البحث عن كل ملف وبرنامج يدويا، يتولى مدير الحزم جزءا كبيرا من عملية التثبيت والتحديث وإدارة التبعيات بطريقة منظمة.
ما هي واجهة المستخدم في Linux؟
واجهة المستخدم: هي الطريقة التي يتفاعل بها المستخدم مع النظام. ويمكن أن تكون رسومية من خلال سطح مكتب مثل GNOME أو KDE Plasma، أو نصية من خلال الطرفية والـShell.
سطح المكتب: لا يعد جزءا ثابتا من نواة Linux نفسها، بل تختار التوزيعة بيئة سطح المكتب المناسبة لها، ويمكن في كثير من الحالات تثبيت أكثر من بيئة على النظام نفسه.
كيف تعمل مكونات Linux معا؟
مثال بسيط: عندما تفتح ملفا من مدير الملفات، يتعامل البرنامج مع النظام عبر الواجهات المناسبة، ثم تتولى النواة تنفيذ عمليات الوصول إلى التخزين وإدارة الذاكرة والأجهزة اللازمة حتى يحصل البرنامج على البيانات المطلوبة.
مكونات إضافية مهمة في Linux
الخدمات Services: هي برامج تعمل في الخلفية وتوفر وظائف للنظام أو التطبيقات، مثل خدمات الشبكات وتسجيل الأحداث والخوادم.
Drivers: هي برامج أو مكونات تسمح للنظام بالتعامل مع أنواع مختلفة من الأجهزة. كثير من دعم العتاد يتم من خلال منظومة برامج التشغيل داخل النواة أو الوحدات المرتبطة بها.
System Calls: هي واجهات تسمح للبرامج في مساحة المستخدم بطلب خدمات من النواة، مثل التعامل مع الملفات والعمليات والذاكرة.
للمهتم بالتفاصيل: النواة تفصل بين برامج المستخدم والعتاد، ولا تتعامل التطبيقات عادة مع الأجهزة بشكل مباشر، بل تستخدم واجهات النظام التي توفرها النواة والخدمات المرتبطة بها.
مميزات فهم مكونات Linux
يساعدك على معرفة أين تبحث عند حدوث عطل.
يسهل التعامل مع الملفات والبرامج والخدمات.
يفتح الطريق لفهم الأوامر والعمليات والواجهات.
أساس مهم لمن يريد العمل مع الخوادم والبنية التحتية.
الأسئلة الشائعة حول مكونات Linux
ما هي أهم مكونات Linux؟
أهم المكونات: النواة Kernel وShell ونظام الملفات ومدير الحزم وواجهة المستخدم والخدمات وبرامج التشغيل والأدوات الأساسية.
ما وظيفة Kernel في Linux؟
وظيفتها: إدارة موارد الجهاز مثل المعالج والذاكرة والعمليات والأجهزة، وتوفير واجهات تسمح للبرامج بالتعامل مع خدمات النظام.
ما وظيفة Shell؟
Shell: يفسر الأوامر ويسمح للمستخدم بتشغيل البرامج والعمليات والتعامل مع النظام من خلال واجهة الأوامر.
ما هو مدير الحزم؟
مدير الحزم: أداة لإدارة البرامج والحزم وتثبيتها وإزالتها وتحديثها بحسب التوزيعة.
ما هو /proc في Linux؟
/proc: نظام ملفات افتراضي يوفر معلومات عن العمليات والنواة والنظام الجاري تشغيله، ويعد واجهة للوصول إلى عدد من هياكل البيانات الداخلية للنواة.
الخلاصة
فهم مكونات Linux: هو الخطوة الأساسية للانتقال من مجرد معرفة اسم النظام إلى فهم طريقة عمله فعليا.
النواة: تدير موارد الجهاز، وShell يوفر طريقة لتنفيذ الأوامر، بينما ينظم نظام الملفات البيانات، ويساعد مدير الحزم في إدارة البرامج، وتوفر واجهة المستخدم طريقة مناسبة للتعامل مع النظام.
وبعد فهم هذه المكونات: تصبح الخطوة التالية هي تعلم أوامر Linux الأساسية وإدارة الملفات والصلاحيات والعمليات والخدمات، وهي موضوعات يمكن البناء عليها بشكل عملي.
مراجع موثوقة:
توثيق Linux Kernel
دليل GNU Bash
Filesystem Hierarchy Standard