شرح بُنية ملفات لينيكس

معظم مستخدمي لينيكس شاهدوا مكونات الجذر، ولكن لا يعلم الكثيرون ما عمل هذه المجلدات. في ويندوز على سبيل المثال، هناك مجلد Windows حيث يوجد النظام وهناك Program Files حيث توجد البرامج، ولكن في لينيكس الموضوع مختلف تماما!
هذا الموضوع مختلف لمستخدمي ويندوز فقط فكما نعلم ويندوز ولينيكس كان لهما طريق تطور مختلف. في البداية كان هناك MsDos وفي وقت لاحق تم اضافة ويندوز. نظام ويندوز استخدم الحروف لوصف أجهزة التخزين وكان هناك القرص A والقرص B.في وقت لاحق، تم اضافة القرص C.لينيكس تطور بشكل مختلف وبالتالي طريقة ترتيب محتويات الجذر تغيرت معه. لينيكس أيضا لا يقوم بتثبيت البرامج مثل ويندوز. عند إطلاق ويندوز 95، قامت مايكروسوفت بعمل مجلد Program Files وفيه تم تثبيت برامج المستخدم في نظام ويندوز. اما لينيكس فقداتبع معايير يونيكس في العديد من الأمور مثل تثبيت البرامج والمجلدات.
الصورة التالية تعبر عن ما يعرف بـ FHS وهو اختصار لـ “Filesystem HierarchyStandard” ومعناه نظام الملفات الهرمي المتسلسل القياسي. هذا هو نظام الملفات المتعارف عليه بشكل افتراضي في لينيكس ولكن قد ترى بعض التوزيعات التي لا تلتزم به.
فيما يلي سوف نقوم بكتابة اسم كل مجلد وما هو عمله وما محتوياته في نظام لينيكس بشكل عام. أيضا نود التنبيه أن التلاعب بهذه المجلدات بدون علم او معرفة بكيفية التلاعب بها قد يمنع جهازك من العمل مجددا وبالتالي تحتاج الى عملية إصلاح أو حتى إعادة تثبيت النظام في حال لم تعلم ما الذي قمت به وكيفية التراجع عنه.

bin و sbin

مجلد bin هو اختصار لكلمة binary وهي البرامج الأساسية للنظام. هنا سوف تجد البرامج الأساسية جدا مثل ls و cat وغيرها.اما sbin فهو اختصار لـ System Binary وهي برامج النظام الأساسية والتي لا يملك المستخدم حق الوصول إليها بشكل افتراضي.

المجلد bin و sbin يجب أن يكونوا قابلين للوصول في وضعية Single User Mode وهو وضع خاص في لينيكس يسمح للمستخدم بالوصول الى الكمبيوتر في حال كان هناك خلل في النظام. في هذا الوضع يكون لك وصول مطلق للنظام ويتم تعطيل جميع أنواع الاتصالات لأسباب أمنية.

عند تثبيت البرامج في لينيكس، لن تجدها هنا.

boot

هذا المجلد خاص بمعلومات إقلاع النظام وصدقني لا تريد تغيير أي شيء فيه. تغيير حرف واحد قد يمنع جهازك من البدء.

cdrom

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

dev

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

etc

هذا المجلد تسبب بالعديد من النقاشات الحادة لوقت طويل حيث ان هناك من اعتقد انه اختصار لـ Edit To Configure أو etcetera او غيرها من الأسماء. ولكن في النهاية تبين أن الإسم اختصار لـ etcetera او ما يعرف بـ “الخ” باللغة العربية.

هذا المجلد يحتوي على جميع أنواع الإعدادات الخاصة بالنظام وبرامج النظام، والتعديل في هذا المجلد سوف يتسبب في تعديل الإعدادات لجميع المستخدمين الحاليين و المستقبليين.

home

مجلد home يعني المنزل. في هذا المجلد يتم تخزين بيانات المستخدمين ولكل مستخدم لديه مجلد خاص به ولا يمكن لأي مستخدم الوصول الى مجلد مستخدم آخر بدون استخدام صلاحيات الجذر.في هذا المجلد يوجد العديد من الملفات المؤقتة الخاصة بمستخدم معين وهناك عدد كبير جدا من ملفات الإعدادات الخاصة بالمستخدم وتكون موجودة في مجلد .config. النقطة قبل اسم المجلد تعني أنه مجلد مخفي ولن يظهر للمستخدم في الوضع الإفتراضي.

يمكن استخدام مجلد home لعمل تخصيصات كبيرة على النظام وهي تكون فاعلة للمستخدم نفسه فقط وليس لأي شخص آخر.

lib و lib32 و lib64

هذه المجلدات تحتوي على المكتبات وهي أجزاء من برامج يمكن للبرامج استعمالها للقيامبأشياء متعددة. المكتبات هي مثل ملفات dll في ويندوز.

media و mnt

في هذه المجلدات سوف تجد الأقراص الخاصة بك منصبه وقابلة للوصول. هنا سوف يتم عمل مجلدات خاصة لكل ما تم توصيله بالكمبيوتر مثل بطاقات الذاكرة والأقراص الضوئية وذواكر Flash والأقراص الصلبة.ملف media يعتبر حديث العهد فلطالما كان هناك مجلد mnt فقط. اما الان فيوجد مجلد media ومن المفضل تركه للنظام ليتحكم به، ومجلد mnt لتقوم أنت بتنصيب الأقراص فيه بشكل يدوي.

opt

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

proc

هذا المجلد مختصر لكلمة process. هنا سوف تجد معلومات متعلقة بكل عملية تجري في الجهاز. كل عملية هنا سوف يكون لها مجلد خاص بها. الملفات الموجودة هنا ليست حقيقية وهي عبارة عن محاولة النواة ترجمة كل شيء الى ملفات كما هو الحال في ملف dev.

root

هذا المجلد هو مجلد المنزل الخاص بالمستخدم root. هذا المجلد لا يحتوي الملفات العادية مثل سطح المكتب والتنزيلات وما الى ذلك، هذا المجلد موجود هنا وبشكل منفصل لضمان وصول المستخدم root الى النظام في حال انك قمت بعمل من شأنه تخريب مجلد home او في حال انك حذفت جميع المستخدمين من النظام.

run

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

srvهذا المجلد إختصار لكلمة server وهو متعلق بأمور الخادم على النظام. يعني في حالكان لديك سيرفر على نظامك الخاص يجب أن تكون ملفاته العامة موجودة هنا.

sys

وهو اختصار لكلمة system وهو موجود منذ زمن طويل جدا في نظام لينيكس وهذا المجلد مخصص للتعامل مع النواة هذا المجلد مثل مجلد run حيث أنه غير موجود بشكل فعلي على القرص الصلب. يتم إنشاء هذا المجلد عند تشغيل النظام ويختفي عند إيقاف التشغيل.

tmp

مجلد tmp هو اختصار لكلمة temporary ويعني مؤقت. وهنا يتم وضع الملفات بشكل مؤقت للتعامل معها. على سبيل المثال لو كنت تقوم بكتابة ملف نصي و حصل انقطاع في التيار الكهربائي، يجب أن تبحث هنا لتجد نسخة من الملف. يتم إفراغ هذا الملف بشكل عام عند إيقاف التشغيل ولكن قد تعلق بعض الملفات هنا لسبب ما ويمكنك حذفها من خلال صلاحيات root.

usr

مجلد usr وهو اختصار لـ user خاص بالمستخدم وهنا يتم تثبيت برامج المستخدم التي قام بتثبيتها. هذا المجلد شبيه بمجلد bin ولكنه خاص بالمستخدم والبرامج الموجودة هنا تعتبر غير أساسية لعمل النظام.

البرامج التي يتم تثبيتها هنا سوف يتم تثبيتها في أحد الأماكن مثل bin او sbin اوlocal/bin او local/sbin والمكتبات الخاصة بهذه البرامج سوف يتم تثبيتها في مجلد lib الخاص بالمستخدم داخل المجلد usr.معظم البرامج التي سيتم تثبيتها من خلال الكود المصدري سوف تنتهي في مجلد local والبرامج الضخمة قد تنتهي في مجلد share. اما البرامج المتعلقة بالنواة سوف تنتهي في مجلد src.

var

مجلد var مختصر لكلمة variable وهذا يعني متغيرات. المجلد يحتوي على الملفات التي من المتوقع أن يكبر حجمها بشكل كبير خلال استخدام النظام مثل مجلد السجلات وقواعد بيانات البريد الداخلي.