أساسيات

ما هو لينكس: النواة والتوزيعات ونظام الملفات بلغة مبسطة

آخر تحديث: · Skillaria.Top

لينكس هو نواة نظام تشغيل مفتوحة المصدر تدير المعالج والذاكرة والأقراص والشبكة. وعندما تُضاف إليها الأدوات ومدير الحزم ونظام التهيئة، تتكوّن التوزيعة، مثل Ubuntu أو Debian أو Fedora. يعمل لينكس على معظم الخوادم والحاويات والسحابة، لذلك فإن التعامل معه مهارة أساسية لمهندس DevOps ومدير الأنظمة.

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

لينكس نواة، وليس النظام كله

بالمعنى الدقيق، لينكس هو النواة (kernel) فقط. النواة برنامج يُشغَّل أولاً بعد المُحمِّل، ويبقى في الذاكرة طوال تشغيل الحاسوب. وهي توزّع وقت المعالج بين العمليات، وتخصص الذاكرة، وتتعامل مع الأقراص وبطاقات الشبكة عبر برامج التشغيل، وتتحقق من صلاحيات الوصول.

البرامج العادية لا تتعامل مع العتاد مباشرة. فعندما يحفظ المحرر ملفاً، يُجري استدعاءً للنظام (open، write، close)، ثم تقرر النواة على أي كتلة من القرص تُكتب البيانات، وهل يملك البرنامج الصلاحية لذلك. هذا التقسيم يجعل النظام أكثر استقراراً: إذا تعطّل برنامج، لا يسقط الحاسوب كله.

يمكنك معرفة إصدار النواة بأمر واحد:

$ uname -r
6.8.0-45-generic

أنشأ Linus Torvalds النواة عام 1991، وهي تُطوَّر بشكل مفتوح منذ ذلك الحين. يُنشر الكود المصدري بموجب رخصة GNU GPL الإصدار 2، ويستطيع أي شخص قراءته وتعديله وتوزيعه بالشروط نفسها.

ما هي توزيعة لينكس

النواة وحدها لا تكفي: نحتاج إلى واجهة سطر أوامر (shell)، وأدوات للتعامل مع الملفات، ومكتبات، وبرنامج لتثبيت التطبيقات. معظم الأدوات الأساسية (ls، cp، bash، grep) جاءت من مشروع GNU، لذلك يُسمّى النظام أحياناً GNU/Linux. النواة مع هذه المجموعة المجمّعة والمختبرة معاً تُسمّى توزيعة.

تختلف التوزيعات أساساً في مدير الحزم وسياسة التحديثات والجمهور المستهدف.

العائلةأمثلةالحزمأين تُستخدم
DebianDebian، Ubuntu، Linux Mint.deb، aptالخوادم والسحابة وأجهزة العمل
Red HatRHEL، Fedora، Rocky Linux، AlmaLinux.rpm، dnfالخوادم المؤسسية
AlpineAlpine Linuxapkصور Docker التي يهم فيها الحجم الصغير
ArchArch Linux، Manjaropacmanالمتحمسون والراغبون في أحدث الإصدارات

يمكنك معرفة التوزيعة التي أمامك من الملف /etc/os-release:

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
ID=ubuntu
ID_LIKE=debian

للتعلم وتشغيل الخوادم، يُختار غالباً Ubuntu LTS أو Debian، لوفرة الوثائق ولأن الأوامر في التعليمات المنشورة على الإنترنت تعمل عادةً دون تعديل.

بنية النظام: النواة وسطر الأوامر ومساحة المستخدم

يسهل فهم لينكس إذا تخيلناه طبقات. في الأسفل العتاد، فوقه النواة، وفوقها مساحة المستخدم: خدمات النظام والمكتبات (مثل glibc) والبرامج. بين الإنسان والنظام توجد الواجهة (shell)، وغالباً تكون bash، وهي التي تستقبل الأوامر وتشغّل البرامج.

  • النواة: العمليات والذاكرة وأنظمة الملفات والشبكة وبرامج التشغيل.
  • نظام التهيئة: أول عملية بمعرّف PID 1، وهي في معظم التوزيعات الحديثة systemd، وتشغّل بقية الخدمات.
  • الخدمات (daemons): خادم الويب، وخادم SSH، وcron، وسجل النظام.
  • الواجهة والأدوات: ما تتعامل معه في الطرفية مباشرة.

عادةً لا توجد واجهة رسومية على الخادم: يتصل مدير النظام عبر SSH ويعمل من سطر الأوامر. لذلك فإن تعلم لينكس هو قبل كل شيء تعلم الطرفية.

نظام ملفات لينكس: كل شيء يبدأ من الجذر /

لا توجد في لينكس أقراص باسم C: أو D:. توجد شجرة واحدة من المجلدات تبدأ من الجذر /. تُربط جميع الأقراص وأقراص USB ومجلدات الشبكة (تُركَّب mount) في مجلد ما داخل هذه الشجرة. ومبدأ آخر: كل شيء تقريباً في لينكس يُمثَّل كملف، سواء كان ملفاً عادياً أو مجلداً أو جهازاً، حتى معلومات العمليات.

$ ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

يصف معيار FHS (Filesystem Hierarchy Standard) تنظيم المجلدات، لذلك تكون ملفات الإعداد في الأماكن نفسها تقريباً في أي توزيعة.

المجلدما يحويه
/etcإعدادات النظام والخدمات: /etc/passwd، /etc/ssh/sshd_config، /etc/fstab
/homeالمجلدات الشخصية للمستخدمين: /home/alice
/rootالمجلد الشخصي للمستخدم الأعلى root
/varالبيانات المتغيرة: السجلات في /var/log، وذاكرة التخزين المؤقت للحزم، وقواعد البيانات، وطوابير البريد
/usrالبرامج والمكتبات المثبّتة: /usr/bin، /usr/lib
/bin، /sbinالأوامر الأساسية؛ وهي في التوزيعات الحديثة روابط إلى /usr/bin و/usr/sbin
/bootالنواة (vmlinuz-*) وinitramfs وملفات المُحمِّل
/devملفات الأجهزة: /dev/sda، /dev/null
/proc، /sysأنظمة ملفات افتراضية: تعرض النواة من خلالها العمليات والإعدادات
/tmpملفات مؤقتة، وغالباً تُفرَّغ عند إعادة التشغيل
/optبرامج خارجية تُوزَّع كحزمة كاملة
/mnt، /mediaنقاط تركيب الأقراص ووسائط التخزين القابلة للإزالة

المسارات المطلقة والنسبية

يبدأ المسار المطلق بـ / ولا يتغير بحسب مكانك الحالي، مثل /var/log/syslog. أما المسار النسبي فيُحسب من المجلد الحالي، مثل ../logs/app.log. النقطة . تعني المجلد الحالي، والنقطتان .. تعنيان المجلد الأب، والشرطة المائلة المعكوسة للتيلدة ~ تعني مجلدك الشخصي.

$ pwd
/home/alice
$ cd /var/log
$ cd ..
$ pwd
/var
$ cd ~
$ pwd
/home/alice

/proc: النظام كمجموعة ملفات

المجلد /proc لا يُخزَّن على القرص، بل تُنشئه النواة أثناء التشغيل. مثلاً، يعرض cat /proc/cpuinfo معلومات المعالجات، ويعرض cat /proc/meminfo معلومات الذاكرة، ولكل عملية مجلد /proc/<PID> يحوي سطر أوامرها والملفات المفتوحة. تقرأ أدوات مثل ps وtop هذه الملفات.

التركيب (mount)

يُظهر الأمر df -h ما الذي رُكِّب أين، وكم من المساحة متاح فيه:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        40G   12G   26G  32% /
/dev/sda1       1.1G  6.1M  1.1G   1% /boot/efi
tmpfs           393M  1.2M  392M   1% /run

تُوصف نقاط التركيب الدائمة في /etc/fstab، ويقرأ النظام هذا الملف عند الإقلاع.

كيف يقلع لينكس: من تشغيل الجهاز حتى موجه تسجيل الدخول

فهم الإقلاع يساعد عندما «لا يعمل» الخادم بعد إعادة التشغيل. الخطوات مبسّطة كما يلي:

  1. البرنامج الثابت (UEFI أو BIOS) يفحص العتاد ويعثر على المُحمِّل.
  2. مُحمِّل GRUB يعرض القائمة ويحمّل النواة وصورة initramfs من /boot إلى الذاكرة.
  3. النواة تُهيّئ العتاد، وباستخدام initramfs تجد نظام الملفات الجذري وتُركّبه.
  4. systemd يعمل كعملية PID 1 ويشغّل الخدمات بالترتيب الصحيح: الشبكة والسجلات وSSH وcron وغيرها.
  5. موجه تسجيل الدخول يظهر في الطرفية أو يصبح متاحاً عبر SSH.

يمكن عرض رسائل النواة أثناء الإقلاع بالأمر sudo dmesg أو journalctl -k، ومدة مراحل الإقلاع بالأمر systemd-analyze.

المستخدمون والصلاحيات: حماية مدمجة

لينكس نظام متعدد المستخدمين منذ البداية. لكل ملف مالك ومجموعة وصلاحيات للقراءة والكتابة والتنفيذ. لا يستطيع المستخدم العادي إفساد ملفات النظام، وتُنفَّذ الأعمال الإدارية عبر sudo. المستخدم الأعلى root يستطيع كل شيء، لذلك لا يُنصح بالعمل بهذا الحساب باستمرار.

$ ls -l /etc/passwd
-rw-r--r-- 1 root root 2847 Oct  1 10:12 /etc/passwd

يُقرأ هذا السطر هكذا: ملف عادي، يستطيع مالكه root القراءة والكتابة، ويستطيع الآخرون القراءة فقط.

لماذا يحتاج مهندس DevOps إلى لينكس

بالنسبة لمهندس DevOps، لينكس ليس موضوعاً من بين مواضيع أخرى، بل البيئة التي تتم فيها تقريباً كل الأعمال. وهذه أماكن ملاقاته اليومية:

  • الخوادم. خوادم الويب وقواعد البيانات وطوابير الرسائل تعمل في الغالب على لينكس.
  • الحاويات. يستخدم Docker آليات النواة مثل namespaces وcgroups. الحاوية عملية لينكس معزولة، والصورة مبنية على توزيعة مثل Debian أو Alpine.
  • السحابة وKubernetes. الأجهزة الافتراضية في السحابة وعقد المجموعات تعمل بلينكس أيضاً.
  • CI/CD. عمليات البناء في خطوط الأنابيب تُنفَّذ على مشغّلات لينكس، وسكريبتات البناء تُكتب غالباً بلغة bash.
  • التشخيص. عندما تتوقف خدمة، يُبحث عن السبب في journalctl وtop وss وdf. من دون معرفة هذه الأدوات لا يمكن تحليل الحوادث.

الحد الأدنى من المهارات: التنقل بثقة في نظام الملفات، وفهم الصلاحيات، وتثبيت الحزم، وإدارة الخدمات بـ systemctl، وقراءة السجلات، والتعامل مع العمليات والشبكة وSSH، وكتابة سكريبتات bash بسيطة.

كيف تبدأ تعلم لينكس

لا يلزم تثبيت لينكس بدلاً من نظامك الأساسي. هناك عدة طرق آمنة للتجربة:

  • جهاز افتراضي (VirtualBox، VMware) مع Ubuntu Server، يمكنك كسره ثم استعادته من لقطة (snapshot).
  • WSL على Windows: بيئة Ubuntu كاملة داخل طرفية Windows، ويكفي تنفيذ wsl --install.
  • خادم سحابي: أقرب خيار إلى العمل الفعلي، والاتصال عبر SSH.
  • حاوية Docker: الأمر docker run -it --rm ubuntu bash يعطيك واجهة أوامر خلال ثوانٍ.

ابدأ بالتنقل (pwd، ls، cd)، ثم الملفات والصلاحيات، ثم الحزم والعمليات والخدمات. المساعدة المدمجة متاحة دائماً: man ls أو ls --help.

الخلاصة

لينكس هو النواة، والتوزيعة هي النواة مع الأدوات والمكتبات ومدير الحزم وsystemd. النظام كله شجرة مجلدات تبدأ من الجذر /، حيث تكون الإعدادات في /etc، والسجلات في /var/log، والبرامج في /usr. فهم ما هو لينكس وكيف يقلع يمنحك الأساس الذي تقوم عليه الخوادم والحاويات والسحابة. يُشرح نظام الملفات والإقلاع وإدارة النظام عملياً في دورة لينكس.

الأسئلة الشائعة

هل لينكس نظام تشغيل أم نواة؟

رسمياً، لينكس نواة، أما نظام التشغيل فتكوّنه التوزيعة، أي النواة مع أدوات GNU والمكتبات ومدير الحزم ونظام التهيئة. وفي الحديث اليومي، كلمة «لينكس» تعني النظام كله عادةً.

هل لينكس مجاني؟

النواة ومعظم التوزيعات (مثل Ubuntu وDebian وFedora) متاحة مجاناً بتراخيص مفتوحة المصدر. المدفوع هو اشتراكات الدعم، مثل Red Hat Enterprise Linux.

أي توزيعة لينكس أختار كمبتدئ؟

لتعلم إدارة الخوادم، تناسب Ubuntu LTS وDebian، لأن إصداراتهما مستقرة وتوفر وثائق كثيرة. المعرفة تنتقل بين التوزيعات، والفرق الأساسي يكون في مدير الحزم.

هل أحتاج إلى معرفة لينكس لاستخدام Docker؟

نعم، على الأقل بشكل أساسي. الحاويات مبنية على آليات نواة لينكس، والصور تحوي توزيعة، ويتم التصحيح بأوامر الواجهة.

ما الفرق بين لينكس ويونكس؟

يونكس عائلة من الأنظمة ظهرت في السبعينيات، أما لينكس فهو نواة كُتبت بشكل مستقل وتعيد استخدام أفكار يونكس وواجهاته (معيار POSIX). لذلك تتشابه الأوامر ومبادئ العمل كثيراً.

تعلّم هذا الموضوع بالفيديو

يُشرح هذا الموضوع بالتفصيل مع التطبيق العملي في دورة «Linux: с нуля до уверенного администрирования».

الانتقال إلى الدورة