مضى على الشبكة و يوم من العطاء.

درس جانبي : File System

الحالة
مغلق و غير مفتوح للمزيد من الردود.

الطاييرالطايير is verified member.

{ | مشرف قسم أنظمة التشغيل | }

firefox
linux

السمعة:

1721628078143.webp


قبل الشروع في تنزيل وتثبيت اللينكس كنظام أساسي يجب علينا الإطلاع على بعض المفاهيم و بعض الآليات المهمة مثل الـ File System و الـ Partition Tables و الأقسام و أجهزة التخزين .

1721667533231.webp

أجهزة التخزين في لينكس
1721667630247.webp

في نظام التشغيل لينكس، تُعرف أجهزة التخزين بشكل عام باسم أجهزة الكتل أو block devices ، وذلك لأن البيانات تُقرأ وتُكتب من وإلى هذه الأجهزة في صورة blocks أو كتل من البيانات ذات أحجام ومواضع محددة. حيث يتم تحديد كل block device بواسطة ملف في الدليل /dev مع اسم الملف اعتمادًا على نوع الجهاز (IDE، SATA، SCSI، إلخ.) وأقسامه { لفهم الصورة كاملة ننصح بقراءة هذا -->الموضوع <-- }. ومن إصدار نواة لينكس 2.4 فما فوق، يتم الآن التعرف على معظم أجهزة التخزين كما لو كانت أجهزة SCSI، بغض النظر عن نوعها المادي. سيتم إضافة بادئة sd لأجهزة الكتل IDE، SSD و USB. بالنسبة لأقراص IDE، سيتم استخدام بادئة sd، ولكن سيتم اختيار الحرف الثالث اعتمادًا على ما إذا كان محرك الأقراص أساسي (master) أو ثانوي (slave) (في القناة الأولى IDE، سيكون الأساسي sda والثانوي سيكون sdb وهكذا ... ) .


يتم سرد الأقسام رقميًا. يتم استخدام المسارات /dev/sda2، /dev/sda1، إلخ. لأول وثاني قسم من القرص المحدد أولاً الأساسي أو الـ master و /dev/sdb2، /dev/sdb1، إلخ لأول وثاني قسم من القرص الثانوي أو الـ slave مثل الـ USB .


الاستثناء من هذا النمط يحدث مع بطاقات الذاكرة (بطاقات SD) وأجهزة NVMe (SSD تكون متصلة بناقل PCI Express في اللوحة الأم ). بالنسبة لبطاقات SD، يتم استخدام المسارات /dev/mmcblk0p2، /dev/mmcblk0p1، إلخ. لأول وثاني قسم من الجهاز المحدد أولاً و /dev/mmcblk1p2، /dev/mmcblk1p1، إلخ. تُستخدم لتحديد أول وثاني قسم من الجهاز المحدد ثانيًا. تتلقى أجهزة NVMe بادئة nvme، كما في /dev/nvme0n1p1 و /dev/nvme0n1p2 .

والآن نحتاج إلى فهم العلاقة بين الأقراص Disks والأقسام Partitions وأنظمة الملفات File Systems
فكر في القرص الـ disk (أو جهاز التخزين ، نظرًا لأن الأجهزة الحديثة لا تحتوي على أي "أقراص" على الإطلاق) على أنه "حاوية مادية" لبياناتك. , ولكن قبل أن يتمكن الكمبيوتر من استخدام القرص ، يلزم تقسيمه.

القسم أو الـ partition هو مجموعة فرعية منطقية من القرص الفعلي ، مثل "سور" منطقي فالتقسيم هو طريقة لتقسيم المعلومات المخزنة على القرص ، وفصل بيانات نظام التشغيل عن بيانات المستخدم ، على سبيل المثال.

ويحتاج كل قرص إلى قسم واحد على الأقل ، ولكن يمكن أن يحتوي على أقسام متعددة إذا لزم الأمر ، ويتم تخزين المعلومات المتعلقة بها في جدول الأقسام الـ partition table . ويشتمل هذا الجدول على معلومات حول القطاعات الأولى والأخيرة (first and last sectors) للقسم ونوعه ، بالإضافة إلى تفاصيل أخرى حول كل قسم .

داخل كل قسم يوجد نظام ملفات أو File system . يصف نظام الملفات الطريقة التي يتم بها تخزين المعلومات بالفعل على القرص. تتضمن هذه المعلومات كيفية تنظيم الملفات والمجلدات ، وما هي العلاقة بينها ، وأين توجد بيانات كل ملف ، إلخ.

بعبارات أخرى :

تُستخدم أجهزة التخزين لتخزين البيانات في أجهزة الكمبيوتر. تأتي أجهزة التخزين في أشكال مختلفة، بما في ذلك محركات الأقراص الثابتة (HDDs) ومحركات الأقراص الصلبة (SSDs) وبطاقات الذاكرة.

الأقراص

يُشار إلى أجهزة التخزين بشكل عام باسم الأقراص. تُقاس سعة القرص بالجيجا بايت (GB) أو التيرابايت (TB).

الأقسام

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

أنظمة الملفات

يُستخدم نظام الملفات لتنظيم البيانات على القرص. يحدد نظام الملفات كيفية تخزين البيانات على القرص وكيفية الوصول إليها.

العلاقة بين الأقراص والأقسام وأنظمة الملفات

- القرص هو جهاز التخزين المادي.
- القسم هو جزء منطقي من القرص.

- نظام الملفات هو طريقة لتنظيم البيانات على القرص.

مثال توضيحي


لنفترض أن لدينا قرصًا صلبًا بسعة 1 تيرابايت. نريد تقسيم القرص إلى قسمين: قسم واحد لنظام التشغيل Windows وقسم واحد لبيانات المستخدم.

استخدم أداة تقسيم القرص لتقسيم القرص إلى قسمين.
تنسيق كل قسم بنظام ملفات مختلف.
قم بتثبيت نظام التشغيل Windows على القسم الأول.
قم بتخزين بيانات المستخدم على القسم الثاني.

أنواع الأقسام


هناك نوعان رئيسيان من الأقسام:

الأقسام الرئيسية (MBR): تدعم أقسام MBR ما يصل إلى أربعة أقسام أساسية أو أقسامًا رئيسية واحدة وعدد غير محدود من الأقسام المنطقية.
جدول أقسام GUID (GPT): تدعم أقسام GPT ما يصل إلى 128 قسمًا.

أنواع أنظمة الملفات

هناك العديد من أنواع أنظمة الملفات، بما في ذلك:

NTFS: نظام الملفات الافتراضي لنظام التشغيل Windows.
exFAT: نظام ملفات مُصمم للاستخدام مع محركات الأقراص المحمولة مثل الـ USBs.
ext4: نظام ملفات لينكس شائع.
HFS+: نظام الملفات الافتراضي لنظام التشغيل macOS.

الخلاصة

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

1721671144751.webp

Mounts Points
1721671501069.webp

قبل أن يتمكن نظام Linux من الوصول إلى نظام الملفات، يجب أن يكون Mounted . وهذا يعني ربط نظام الملفات بنقطة معينة في شجرة دليل النظام system directory tree الخاص بك ، تسمى نقطة التعليق (mount point) .

في حالة أنه mounted ، سيتوفر محتوى نظام الملفات تحت الـ Mount point . على سبيل المثال، تخيل أن لديك قسمًا يحتوي على بيانات المستخدمين الشخصية (دلائل المنزل الخاصة بهم home directory ) ، بما في ذلك الدلائل /user1 و /user2 و /user3 . فعندما يكون في حالة mounted تحت /home ، سيتوفر محتوى هذه الدلائل تحت /home/user1 و /home/user2 و /home/user3 .

يجب أن تكون الـ mount point متاحة وجاهزة قبل عمل mount لنظام الملفات الـ file system فلا يمكننا عمل mount لقسم تحت /mnt/userdata مثلاً اذا لم يمكن هذا المسار أو الدليل (directory) متاح أو موجود سابقاً ومع ذلك، في حالة إذا كان هذا المسار أو الدليل موجودًا ويحتوي على ملفات بالفعل ، فيجب أولاً عمل unmount لهذه الملفات فلن تكون هذه الملفات متاحة الا ان تقوم بعمل mount مرة أخرى في ذلك المسار المذكور سابقاً أو مسار آخر كـ mount point . بمعنى انه اذا قمت بعمل mount لنظام ملفات File system في نقطة ما تحتوي بالفعل على ملفات فسترى الملفات المخزنة على نظام الملفات المعلق the mounted file system وليس المحتوى الأصلي لهذا الدليل .

يمكن عمل mount لانظمة المفات في أي مكان تريده ومع ذلك، هناك بعض الممارسات الجيدة التي يجب اتباعها لتسهيل إدارة النظام ، في السابق، كان /mnt هو الدليل الذي يتم تحته عمل mount لجميع الأجهزة الخارجية وكان هناك عدد من نقاط الربط mount points المعدة مسبقًا للأجهزة الشائعة، مثل محركات الأقراص المضغوطة (/mnt/cdrom) والأقراص المرنة (/mnt/floppy) موجودة تحته .

تم استبدال هذا بـ /media، الذي أصبح الآن نقطة التعليق الافتراضية لأي وسائط قابلة للإزالة للمستخدم (على سبيل المثال، الأقراص الخارجية، ومحركات أقراص USB المحمولة، وقارئات بطاقات الذاكرة، والأقراص البصرية، إلخ) المتصلة بالنظام. وأيضاً الأقسام المختلفة في القرص الأساسي .


في معظم توزيعات لينكس الحديثة وبيئات سطح المكتب، يتم عمل mount للأجهزة القابلة للإزالة removable media مثل الـ USB مثلاً أو الهارد الخارجي تحت /media/user/label عند توصيلها بالنظام، حيث الـ user هو اسم المستخدم والـ label هو إسم الجهاز. فعلى سبيل المثال، سيتم عمل mount لمحرك أقراص USB محمول يحمل الإسم FlashDrive ويتم توصيله من قبل المستخدم Ahmed تحت /media/Ahmed/FlashDrive/.

وتختلف الطريقة التي يتم بها التعامل مع هذا الأمر


إبقاء الأمور منفصلة


في لينكس، هناك بعض الدلائل Directories التي يجب عليك التفكير في وضعها على أقسام partitions منفصلة ؛ هناك العديد من الأسباب لذلك: فعلى سبيل المثال، من خلال وضع الملفات المتعلقة بالـ Bootloader (المخزنة في /boot) على قسم خاص بالـ Bootloader ، فإنك تضمن أن نظامك سيكون قادراً على التشغيل حتى في حالة حدوث عطل في نظام الملفات الجذر Root file system .

وضع الدلائل الشخصية Home Directories للمستخدم (تحت /home) على قسم منفصل يجعل
إعادة تثبيت النظام أسهل دون خطر المساس ببيانات المستخدم عن طريق الخطأ. أيضاً وضع البيانات المتعلقة بخادم ويب أو قاعدة بيانات (عادةً تحت /var) على قسم منفصل (أو حتى قرص منفصل) يجعل إدارة النظام أسهل إذا احتجت إلى إضافة مساحة تخزين أكبر لتلك الاستخدامات.

قد تكون هناك أسباب أدائية أيضاً لوضع دلائل معينة على أقسام منفصلة. قد ترغب في وضع نظام الملفات الجذر (/) على وحدة SSD سريعة، والدلائل الأكبر مثل /home و /var على أقراص صلبة أبطأ توفر مساحة أكبر بكثير مقابل جزء بسيط من التكلفة.




1723816724896.webp

The Root Partition قسم الجذر (/)
1723816952868.webp

قسم الجذر في لينكس هو القسم الأساسي الذي يتم فيه تثبيت نظام التشغيل الأساسي. تخيل أنه قلب النظام، حيث يحتوي على جميع الملفات والبيانات الضرورية لتشغيل لينكس مثل نواة النظام (kernel) فهي قلب النظام، وتتحكم في الأجهزة وتدير الموارد و أيضاً يحتوي على البرامج الأساسية حيث يشمل الأدوات والأوامر التي تستخدمها للتفاعل مع النظام و أيضاً ملفات التكوين حيث يحتوي على إعدادات النظام المختلفة

يجب أن يكون حجم قسم الجذر كافيًا لتثبيت النظام والبرامج التي تحتاجها، مع ترك مساحة كافية للتحديثات حيث أن قسم الجذر هو أعلى دليل في شجرة دلائل لينكس حيث يحتوى على جميع الدلائل الفرعية .

في لينكس يمكن استخدام نظام ملفات موثوق به مثل ext4 أو Btrfs لقسم الجذر .

1723817342402.webp

The Boot Partition قسم التمهيد (/boot)
1723817424207.webp

يحتوي قسم التمهيد على الملفات التي يستخدمها برنامج التمهيد (البوت لودر) لتحميل نظام التشغيل. في أنظمة لينكس، يكون برنامج التمهيد عادةً GRUB2، أو في الأنظمة القديمة، GRUB Legacy. عادةً ما يتم تثبيت هذا القسم في المجلد /boot وتخزين ملفاته في /boot/grub.

من الناحية الفنية، ليس من الضروري وجود قسم تمهيد منفصل، حيث يمكن لبرنامج GRUB في معظم الحالات أن يقوم بتركيب القسم الجذري (/) وتحميل الملفات من مجلد /boot منفصل.

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

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

1723817868951.webp

The EFI System Partition (ESP) قسم نظام EFI في (/boot/efi)
1723818212897.webp

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

عندما تقوم بتشغيل جهاز الكمبيوتر، فإن وحدة UEFI تقوم بقراءة المعلومات المخزنة في قسم EFI وتحديد نظام التشغيل الذي تريد تشغيله. ثم تقوم بتحميل الـ Bootloader من قسم EFI وتشغيله، والذي بدوره يقوم بتحميل نظام التشغيل الرئيسي.

يتم تنسيق قسم EFI باستخدام نظام ملفات FAT، وهو نظام ملفات بسيط وموثوق به. ويتم التعرف على قسم EFI بواسطة معرّف فريد (GUID) يضمن عدم الخلط بينه وبين الأقسام الأخرى على القرص. وعادة ما يكون قسم EFI هو القسم الأول على القرص، ولكن ليس بالضرورة.

1723819386588.webp

القسم الرئيسي Home Partition (/home)
1723819428394.webp

لكل مستخدم في النظام مجلد رئيسي خاص به لتخزين الملفات الشخصية والتفضيلات، ومعظم هذه المجلدات تقع تحت المجلد /home. عادةً ما يكون اسم المجلد الرئيسي هو نفسه اسم المستخدم، لذا فإن المستخدم "Ahmed" سيكون له مجلد تحت /home/Ahmed.

ومع ذلك، هناك استثناءات. على سبيل المثال، المجلد الرئيسي للمستخدم الجذر هو /root، وقد يكون هناك بعض خدمات النظام المرتبطة بمستخدمين لديهم مجلدات رئيسية في أماكن أخرى. وهنا يجب الأخذ في الاعتبار أن (/root) هو مجلد المستخدم root وليس (/) الدليل الجذر للنظام .

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

شرح أكثر تفصيلاً :
  • ما هو القسم الرئيسي؟

    • هو قسم خاص بكل مستخدم في النظام التشغيلي، عادةً ما يكون نظام لينكس أو ماك.
    • يعمل كحاوية لكل ملفات المستخدم الشخصية، مثل المستندات، الصور، الموسيقى، والبرامج التي قام المستخدم بتثبيتها.
    • يعتبر بمثابة "المنزل" الخاص بكل مستخدم داخل النظام.
    • الخصوصية: يضمن أن ملفات كل مستخدم منفصلة عن الآخرين.
    • التنظيم: يساعد في تنظيم الملفات الشخصية للمستخدم.
    • الأمان: يمكن حماية هذا القسم بكلمات مرور أو تشفير لحماية البيانات الشخصية.

ملخص:

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


1723819980438.webp

Linux Swap (مساحة التبديل)
1723820516210.webp

ما هي مساحة التبديل (Swap) في لينكس؟

مساحة التبديل هي منطقة مخصصة على القرص الصلب لنظام لينكس تعمل كذاكرة مؤقتة عندما تمتلئ الذاكرة العشوائية (RAM). تخيلها كمساحة إضافية يمكنك استئجارها عندما يصبح منزلك مزدحماً للغاية. عندما تحتاج إلى تخزين المزيد من الأشياء، تقوم بنقل بعضها إلى المخزن. وبالمثل، عندما تمتلئ ذاكرة الوصول العشوائي، يقوم لينكس بنقل بعض البيانات غير النشطة إلى مساحة التبديل.

لماذا نحتاج إلى مساحة تبديل؟


  • منع تعطل النظام: إذا امتلأت الذاكرة العشوائية بالكامل ولم يكن هناك مكان لوضع بيانات جديدة، فقد يتوقف النظام عن الاستجابة أو يتعطل. مساحة التبديل تمنع حدوث ذلك من خلال توفير مساحة إضافية للبيانات.
  • تحسين الأداء: على الرغم من أن الوصول إلى مساحة التبديل أبطأ بكثير من الوصول إلى الذاكرة العشوائية، إلا أنها أفضل من تعطل النظام. في بعض الحالات، يمكن أن يساعد استخدام مساحة التبديل في تحسين الأداء بشكل طفيف، خاصة إذا كنت تستخدم تطبيقات تستهلك الكثير من الذاكرة.
كيف تعمل مساحة التبديل؟

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

ملاحظات هامة:


  • سرعة: الوصول إلى مساحة التبديل أبطأ بكثير من الوصول إلى الذاكرة العشوائية. لذلك، من الأفضل تجنب الحاجة إلى استخدام مساحة التبديل قدر الإمكان.
  • الحجم: حجم مساحة التبديل المثالي يعتمد على مقدار الذاكرة العشوائية المتاحة لديك وعلى نوع الاستخدام الذي تقوم به لنظامك. بشكل عام، يُوصى بمساحة تبديل تساوي حجم الذاكرة العشوائية أو ضعفها.

متى لا تحتاج إلى مساحة تبديل؟

  • أنظمة ذات ذاكرة عشوائية كبيرة: إذا كان لديك نظام مزود بذاكرة عشوائية كبيرة (16 جيجابايت أو أكثر)، فمن المحتمل أنك لن تحتاج إلى مساحة تبديل.
  • أنظمة خادم: في بعض حالات الخادم، قد يكون من الأفضل تعطيل مساحة التبديل تمامًا لتحسين الأداء.



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


 
التعديل الأخير:
الحالة
مغلق و غير مفتوح للمزيد من الردود.

آخر المشاركات

فانوس

رمضان
عودة
أعلى