$ محدث ب
ابحث عن برامج التشغيل ذات الصلة بـ SCSI
$ حدد موقع scsi*.ko
ابحث عن برامج التشغيل ذات الصلة بـ USB
$ حدد موقع USB*.ko
هؤلاء السائقين هم
.كوهي لاحقة ويتم تجميعها في وحدة نمطية بشكل افتراضي عند تثبيت النظام. في الواقع، يمكن تجميعها كجزء من النواة، ما عليك سوى اختيار ذلك عند تجميع النواة.
[*]هذا كل شيء. ومع ذلك، في كثير من الحالات يتم تجميعها كوحدات نمطية، مما يقلل من حجم النواة ويوفر المرونة لتحميلها وتفريغها حسب الحاجة. يوضح ما يلي بإيجاز كيفية إلغاء تحميل وحدة، وتحميل وحدة، وعرض حالة الوحدة المحملة.
مقبول
/procنظام الملفات
وحداتملف للتحقق من حالة الوحدات المختلفة المحملة في النواة، أو بواسطة
com.lsmodالأمر لمشاهدتها مباشرة.
$ cat /proc/modules
أو
$lsmod
تحقق من برامج التشغيل ذات الصلة بـ scsi وusb، ويتم إدراج النتائج كاسم الوحدة، وحجم الوحدة، والمشار إليها بواسطة وحدات أخرى (عدد المراجع، والوحدات التي تشير إليها)
$ lsmod |.egrep scsi|usbusbhid 29536 0hid 28928 1 usbhidusbcore 138632 4 usbhid,ehci_hcd,ohci_hcdscsi_mod 147084 4 sg,sr_mod,sd_mod,libata.
إلغاء التثبيت أدناه
usbhidألقِ نظرة على الوحدة (لا تقم بإلغاء تثبيت برنامج تشغيل scsi! لأن نظامك قد يعمل عليه. إذا كنت تريد حقًا اللعب به، فتذكر حفظ البيانات قبل إلغاء التثبيت)، مرر
com.rmmodيمكن تحقيق ذلك عن طريق تشغيل الأمر، قم أولاً بالتبديل إلى المستخدم الجذر:
$ sudo -s# rmmod usbhid
تحقق من معلومات الوحدة مرة أخرى، ولم يعد بإمكانك رؤيتها.
$lsmod |.grep ^usbhid
إذا كان لديك ماوس USB، فحركه ووجدت أنك لا تستطيع تحريكه؟ نظرًا لأن برامج تشغيل الجهاز لم تعد متوفرة، فلا يمكن استخدام الجهاز. ولكن لا تقلق الآن بعد أن عرفت السبب، يمكنك فقط إعادة تحميل برنامج التشغيل
com.insmodباقة
usbhidيتم إعادة تحميل الوحدة.
$ sudo -s# insmod `تحديد موقع usbhid.ko`
حدد موقع usbhid.koهو معرفة ذلك
usbhid.koالمسار إلى الوحدة، إذا لم يكن هناك أي منها من قبل
محدثب، أعتقد أنه لا يمكنك العثور عليه باستخدامه، ولكن يمكنك أيضًا الانتقال مباشرةً إليه
/lib/modulesالمستخدمة في الدليل
يجدباقة
usbhid.koتم العثور على الملف.
# insmod $(find /lib/modules -name *usbhid.ko* | grep `uname -r`)
الآن يمكن استخدام الماوس مرة أخرى إذا كنت لا تصدق ذلك، حرك الماوس مرة أخرى:-)
في هذه المرحلة، يجب أن تكون العلاقة بين الأجهزة وبرامج تشغيل الأجهزة واضحة نسبيًا. إذا لم يكن الأمر كذلك، ثم تابع أدناه.
ترتبط برامج تشغيل أجهزة Linux بملفات الجهاز المقابلة، وتتوافق ملفات الجهاز مع الأجهزة واحدًا لواحد. يتم تخزين ملفات الجهاز هذه بشكل موحد في النظام
/ديف/دليل.
على سبيل المثال، يتوافق جهاز SCSI مع
/dev/sda,
/dev/sda1,
/dev/sda2...عرض معلومات الجهاز أدناه.
$ ls -l /dev/sda*brw-rw---- 1 قرص جذر 8, 0 2007-12-28 22:49 /dev/sdabrw-rw---- 1 قرص جذر 8, 1 2007-12- 28 22:50 /dev/sda1brw-rw---- 1 قرص جذر 8, 3 2007-12-28 22:49 /dev/sda3brw-rw---- 1 قرص جذر 8, 4 2007-12-28 22:49 /dev/sda4brw-rw---- 1 قرص جذر 8, 5 2007-12-28 22: 50 /dev/sda5brw-rw---- 1 قرص جذر 8, 6 2007-12-28 22:50 /dev/sda6brw-rw---- 1 قرص جذر 8, 7 2007-12-28 22:50 /dev/sda7brw-rw---- 1 قرص جذر 8, 8 2007-12-28 22: 50/ديف/sda8
يمكنك أن ترى أن الحرف الأول في العمود الأول هو
ب، العمود الخامس هو الرقم 8.
بيشير إلى أن الملف عبارة عن ملف جهاز كتلة، إذا كان كذلك
جويعني جهاز الشخصية (مثل `/dev/ttyS0). فيما يتعلق بالفرق بين جهاز الكتلة وجهاز الشخصية، يمكنك أن ترى هنا:
جهاز الأحرف: جهاز الأحرف هو جهاز يمكن الوصول إليه مثل دفق البايت والمنافذ التسلسلية هي أجهزة الأحرف.
أجهزة الحظر: يمكن استيعاب أنظمة الملفات على أجهزة الحظر. على عكس أجهزة الشخصيات، يمكن لأجهزة الحظر نقل كتلة كاملة واحدة أو أكثر في المرة الواحدة عند القراءة أو الكتابة. في نظام التشغيل Linux، يمكن للتطبيقات قراءة وكتابة أجهزة الكتل تمامًا مثل أجهزة الأحرف (قراءة أو كتابة بايتات عشوائية من البيانات في المرة الواحدة). لذلك، فإن الفرق بين أجهزة الكتلة وأجهزة الشخصيات هو فقط إدارة البيانات في النواة.
الرقم 8 هو رقم الجهاز المطابق للجهاز الموجود في النواة
الوثائق/الأجهزة.txtو
/proc/devicesابحث عن تعيين رقم الجهاز في الملف. ولكن لماذا يتوافق نفس الجهاز مع ملفات جهاز مختلفة (
/dev/sdaلماذا توجد أرقام مختلفة في النهاية، و
ليرة سوريةالعمود 6 في النتيجة يتوافق معهم). هذا في الواقع للتمييز بين الأجزاء المختلفة للأجهزة المختلفة. بالنسبة لمحركات الأقراص الثابتة، يتعامل هذا مع الأقسام المختلفة داخل القرص الصلب. فيما يتعلق بالنواة، فهي تحتاج فقط إلى العثور على الجهاز المقابل من خلال رقم الجهاز في العمود 5، ولكن بالنسبة لوحدة التشغيل، فإنها تحتاج أيضًا إلى معرفة كيفية التعامل مع الأقسام المختلفة، لذلك يوجد رقم جهاز مساعد إضافي ، هذا هو المحتوى المقابل للعمود 6. بهذه الطريقة، يحتوي الجهاز على رقم جهاز رئيسي (العمود 5) ورقم جهاز مساعد (العمود 6)، مما يسهل إدارة الأجهزة المختلفة.
لأن ملف الجهاز يتوافق مع الأجهزة، يمكنك الوصول مباشرة إلى الملف
/dev/sda(في حالة
بيئة تطوير متكاملةالقرص الصلب، ثم الجهاز المقابل هو
/dev/hda(لا) قراءة معلومات القرص الصلب من الجهاز، على سبيل المثال:
يستخدم
ديقوم الأمر بنسخ أول 512 بايت من القرص الصلب ويتطلب مستخدم Root
$ Sudo dd if=/dev/sda of=mbr.bin bs=512 count=1
يستخدم
ملفالأمر لعرض المعلومات المقابلة
ملف $ mbr.binmbr.bin: قطاع التمهيد x86، قسم تحميل التمهيد LInux i386؛ إزاحة 0x48
ويمكن أيضا أن تستخدم
التطوير التنظيميتتم قراءة الأمر بتنسيق سداسي عشري وتحليله.
$ od -x mbr.bin
بكالوريوسهو حجم الكتلة (بالبايت
بايتكوحدة)،
عددهو عدد الكتل
نظرًا لأن هذه المعلومات ليست بديهية (وسوف يتم تحليلها بشكل أكبر أدناه)، فلنلقي نظرة على ملف جهاز آخر أولاً، والذي سيكون قادرًا على إظهار المراسلات بين ملف الجهاز والأجهزة بشكل حدسي للغاية. لنأخذ الماوس كمثال، لنقرأ معلومات ملف الجهاز المقابل للماوس.
$ sudo -s# cat /dev/input/mouse1 |
قد يكون برنامج تشغيل الماوس الخاص بك مختلفًا، لذا قد يكون ملف الجهاز مختلفًا، ولكنه سيكون موجودًا بالكامل
/dev/inputتحت.
حرك الماوس ومعرفة ما إذا كنت تجد مخرجات معلومات مختلفة. وبناءً على هذا المبدأ، فإننا غالبًا ما نقرأ ملف الجهاز من طرف واحد
/dev/ttyS0المحتوى في ملف الجهاز على الطرف الآخر
/dev/ttyS0اكتب المحتوى للتحقق مما إذا كان خط المنفذ التسلسلي تالفًا.
في هذه المرحلة، يجب أن تكون أكثر إعجابًا بالعلاقة بين برامج تشغيل الأجهزة وملفات الأجهزة والأجهزة. إذا كنت ترغب في الحصول على فهم متعمق لمبدأ عمل برامج تشغيل الأجهزة وكتابة برامج تشغيل الأجهزة، فقم بإلقاء نظرة على المعلومات ذات الصلة المدرجة أدناه وابدأ عملية كتابة برامج تشغيل الأجهزة.
مراجع:
تجميع نواة لينكس 2.6
مبادئ كتابة برامج تشغيل الأجهزة لأنظمة Linux
المبادئ والتكوينات والمشكلات الشائعة لأجهزة USB في نظام التشغيل Linux
دليل برمجة وحدة Linux Kernel
تطوير برنامج تشغيل جهاز Linux
في الواقع، يمكن استخدام الذاكرة وقرص USB وما إلى ذلك كجهاز "تخزين" أساسي لنظام الملفات، لكننا هنا نستخدم القرص الصلب فقط كمثال لتقديم العلاقة بين الأقراص والأقسام.
في الوقت الحاضر، لا يزال تقسيم Linux يعتمد مبدأ التقسيم الذي استخدمه القرص الصلب الأول للكمبيوتر الشخصي، ويتم تحليل مبدأ التقسيم هذا وتوضيحه خطوة بخطوة أدناه.
دعونا نلقي نظرة على بعض المفاهيم أولاً:
إدارة الأجهزة وتقسيمها
في نظام التشغيل Linux، يتوافق كل جهاز تخزين مع ملف جهاز النظام بالنسبة للأقراص الثابتة، وما إلى ذلك.
بيئة تطوير متكاملةو
SCSIالجهاز، في النظام
/devيمكن العثور على الأحرف المحتوية المقابلة في الدليل
hdو
SDملفات الجهاز. اعتمادًا على واجهة جهاز اللوحة الأم وواجهة كابل البيانات التي يتصل بها القرص الصلب،
hdأو
SDبعد الحرف، يمكنك إضافة حرف من
أيصل
ضالشخصيات، على سبيل المثال
hda,
hdb,
hdcو
sda,
sdb,
sdcإلخ. بالإضافة إلى ذلك، من أجل التمييز بين الأقسام المختلفة لنفس الجهاز، يمكن إضافة رقم في النهاية، على سبيل المثال
hda1,
hda2,
hda3و
sda1,
sda2,
sda3، حتى في
/devالدليل، يمكنك رؤية العديد من ملفات الأجهزة المشابهة.
دور كل قسم
عند التقسيم، غالبًا ما نواجه مشكلة الأقسام الأساسية والأقسام المنطقية، وذلك في الواقع لتسهيل توسيع الأقسام، تمامًا كما يهدف إدخال وحدات التخزين المنطقية لاحقًا إلى إدارة الأقراص الثابتة المتعددة بشكل أفضل، يمكن إدخال الأقسام الأساسية والأقسام المنطقية. يتم تنفيذها بسهولة.
يتكون كل جهاز قرص ثابت في نظام Linux من ما يصل إلى 4 أقسام أساسية (بما في ذلك الأقسام الموسعة).
يستخدم الكمبيوتر القسم الأساسي لبدء تشغيل نظام التشغيل، لذلك يجب تخزين برنامج بدء التشغيل لكل نظام تشغيل، أو برنامج التمهيد، على القسم الأساسي. ينص Linux على أن القسم الأساسي (أو القسم الموسع) يحتل أرقام الأقسام الأربعة الأولى. لذلك سترى أن ملف الجهاز المطابق للقسم الأساسي هو
/ديف/hda1-4أو
/dev/sda1-4، بدلا من
hda5أو
sda5.
تُستخدم الأقسام الموسعة لتوسيع الأقسام المنطقية في نظام التشغيل Linux
hda5-16أو
sda5-16انتظر 12 رقما.
نوع التقسيم
وهو يحدد نوع نظام الملفات على هذا القسم. يدعم Linux العديد من أنواع أنظمة الملفات مثل msdoc، وvfat، وext2، وext3، وما إلى ذلك. سيتم تقديم المزيد من المعلومات في القسم التالي.
بعد ذلك، من خلال تحليل أول 512 بايت من القرص الصلب (أي 512 بايت).
إم بي آر) لتحليل وفهم الأقسام.
دعونا نلقي نظرة على هذه الصورة أولا:
يتم استخدامه لوصف
إم بي آربناء.
إم بي آربما في ذلك جزء التمهيد وجدول الأقسام وعلامة النهاية `(55AAH)، تشغل على التوالي 446 بايت و64 بايت و2 بايت من 512 بايت. نركز هنا فقط على جزء جدول الأقسام، أي الجزء الأوسط البالغ 64 بايت والجزء الأيسر في الشكل.
منذ أن أستخدم
SCSIالقرص الصلب، ما يلي هو من
/dev/sdaانسخ أول 512 بايت من القرص الصلب إلى الملف الموجود في الجهاز
mbr.binوسط.
$ sudo -s# dd if=/dev/sda of=mbr.bin bs=512 count=1
استخدم أدناه
ملف,
التطوير التنظيمي,
fdiskانتظر الأمر لتحليل هذه الفقرة
إم بي آرالبيانات ومقارنتها بالرسم البياني أعلاه للحصول على فهم أعمق.
ملف $ mbr.binmbr.bin: قطاع التمهيد x86، قسم تحميل التمهيد LInux i386؛ إزاحة 0x48$ od -x mbr.bin |.tail -6 # التركيز فقط على الـ 64 بايت الوسطى، لذلك يتم اعتراض الأسطر الستة الأخيرة في النتيجة 0000660 0000 0000 0000 0000 a666 a666 0000 01800000700 0001 fe83 ffff 003f 0000 148 1 012a 00000000720 0000 0000 0000 0000 0000 0000 0000 fe000000740 ffff fe82 ffff 14c0 012a e7fa 001d fe000000760 ffff fe05 ffff fcba 0147 9507 0360 aa55$ Sudo -s# fdisk -l |.grep ^/ # قم بتحليل الأجزاء ذات الصلة بـ MBR فقط، ولا تقم بتحليل جزء القسم المنطقي /dev/sda1 * 1 1216 9767488+ 83 Linux/dev/sda3 1217 1338 979965 82 Linux مبادلة / سولاريس / ديف / sda4 1339 4865 28330627+ 5 ممتد
ملفتظهر نتيجة الأمر أن الـ 512 بايت التي تم نسخها للتو هي قطاع التمهيد، والأجزاء المفصولة بفواصل منقوطة هي
محمل الإقلاع، القسم 3 والقسم 4. نوع القسم 3 هو 82، أي
تبديلالتقسيم (يمكن القيام به عبر
fdiskآمر
لالأمر لسرد المعلومات ذات الصلة)، والذي يتوافق مع
fdiskفي نتائج
/dev/sda3في العمود الخامس من الصف، عدد القطاعات في القسم 3 هو 1959930، والذي يتم تحويله إلى بايت هو
1959930*512(حاليًا، حجم القطاع الافتراضي لمحركات الأقراص الثابتة هو 512 بايت)، بينما
تبديلحجم الكتلة الافتراضي للقسم هو 1024 بايت، وبالتالي فإن عدد الكتل هو 1024 بايت
:
$ صدى 1959930*512/1024 |
بالضبط
fdiskالنتيجة في
/dev/sda3وبالمثل، يمكن مقارنة عدد الكتل المقابلة للعمود الرابع من الصف
fdiskو
ملفيتم تحليل النتائج للقسم 4.
دعونا نرى مرة أخرى
التطوير التنظيمييتم عرض نتيجة الأمر بالنظام الست عشري، ضع في اعتبارك أيضًا القسم 3. وبعد الحساب، وجد أن القسم 3 يتوافق مع
التطوير التنظيمينتيجة الأمر هي:
fe00 ففف fe82 ففف 14c0 012a e7fa 001d
الأول هو علامة التقسيم،
00ح، من الصورة أعلاه، يمكنك أن ترى أنه ليس قسم تمهيد (
80 ساعةالقسم المحدد هو قسم التمهيد)، وماذا عن نوع القسم؟ ل
82 ح،و
ملفنتائج العرض متسقة الآن دعونا ننتبه إلى حجم القسم
ملفعدد القطاعات في النتيجة.
$ echo ibase=10;obase=16;1959930 |
يتوافق فقط
e7fa 001d، ضع في اعتبارك أيضًا نتائج قسم التمهيد:
0180 0001 fe83 ففف 003f 0000 1481 012a
علامة التقسيم:
80 ساعة، مما يعكس فقط أن هذا القسم هو قسم تمهيد، متبوعًا بحالة قطاع القرص حيث يوجد قسم التمهيد، 010100، أي جانب واحد، 0 مسارات، وقطاع واحد. يمكن مقارنة المحتوى الآخر وتحليله.
وبالنظر إلى ضيق الوقت، يرجى الرجوع إلى المعلومات الواردة أدناه أو دليل النظام ذي الصلة لمزيد من التفاصيل.
الملحق: عند تثبيت النظام، يمكنك استخدامه
fdisk,
cfdiskانتظر الأمر بالتقسيم. إذا كنت تريد التمهيد من قسم معين، فأنت بحاجة إلى الكتابة
80 ساعةالعلامة، على سبيل المثال عبر
cfdiskتعيين قسم ل
قابل للتشغيللتحقيق.
مراجع:
داخل عملية التمهيد لينكس
تطوير نظام التشغيل الخاص بك: التشغيل
مقدمة إلى قسم القرص Redhat9
كيفية قسم لينكس
قبل إدخال وحدات التخزين المنطقية، تم التعامل مع أنواع الأقسام وأنواع أنظمة الملفات بشكل متساوٍ تقريبًا، وكانت عملية تحديد نوع القسم هي عملية تنسيق القسم وإنشاء نوع نظام الملفات المقابل.
يقدم ما يلي بشكل أساسي كيفية إنشاء العلاقة بين الأقسام وأنواع نظام الملفات، أي كيفية تنسيق الأقسام كأنواع نظام ملفات محددة.
دعونا أولاً نلقي نظرة على الأنواع الشائعة لأنظمة الملفات في Linux (إذا كنت تريد عرض جميع أنواع الملفات التي يدعمها Linux، يمكنك استخدام
fdiskآمر
لأمر للعرض، أو المرور
رجل خللعرض، يمكنك أيضًا استخدام
/proc/أنظمة الملفاتالتحقق من أنواع نظام الملفات التي يدعمها النواة الحالية)
تحويلة2,
تحويلة3,
تحويلة4: هذه الأنواع الثلاثة هي الأنواع الشائعة الاستخدام في أنظمة ملفات جذر Linux.
تبديل: هذا هو نظام ملفات يستخدم لتنفيذ ذاكرة Linux الافتراضية، أثناء التثبيت، من الضروري بشكل عام إنشاء قسم خاص وتهيئته
تبديلنظام الملفات (إذا كنت ترغب في إضافة المزيد
تبديلبالنسبة للتقسيم، يمكنك الرجوع إلى المواد المرجعية في هذا القسم للتعرف عليها
د,
com.mkswap,
معرف com لهذا التطبيق هو com.swapon,
مبادلةاستخدام الأوامر الأخرى)
بروك: هذا نظام ملفات خاص نسبيًا يوجد كواجهة بين النواة والمستخدمين وهو مدمج في الذاكرة (يمكن الوصول إليه من خلال
قطةعرض الأمر
/procيمكن حتى تعديل الملفات الموجودة ضمن النظام بواسطة
/proc/sysيمكن للملف أدناه ضبط تكوين kernel في الوقت الفعلي. الفرضية الحالية هي أنك تحتاج إلى ذلك
بروكعلى جبل نظام الملفات:
جبل -t بروك بروك /بروك
بالإضافة إلى أنواع أنظمة الملفات المذكورة أعلاه، يتضمن دعم Linux
vfat,
ايزو,
com.xfs,
nfsمن بين أنواع أنظمة الملفات الشائعة المختلفة، ضمن Linux، يمكنك بحرية عرض وتشغيل أنظمة الملفات التي تستخدمها أنظمة التشغيل الأخرى مثل Windows.
إذًا كيف يمكنك إنشاء الارتباط بين الأقراص وأنواع أنظمة الملفات هذه؟ شكل.
إن عملية التنسيق هي في الواقع عملية إعادة تنظيم القسم، والتي يمكن أن تكون
mkfsالقيادة لتحقيق، بالطبع، يمكنك أيضا تمريرها
fdiskانتظر حتى يتم تنفيذ الأمر. هنا نقدم فقط
mkfs,
mkfsيمكن استخدامه لتهيئة قسم موجود، ولكن لا يمكنه تنفيذ عمليات التقسيم (إذا كنت تريد تقسيم قرص وتهيئته، يمكنك استخدام
fdisk). بعد التنسيق، يتم تنظيم البيانات الموجودة على القسم المقابل حسب نوع نظام ملفات خاص.
على سبيل المثال: ضع
/dev/sda9يتم تنسيق القسم كما
تحويلة3نظام الملفات.
$ sudo -s# mkfs -t ext3 /dev/sda9
إذا كنت تريد سرد أنواع نظام الملفات لكل قسم، يمكنك استخدام
فديسك -lطلب.
يرجى الرجوع إلى المواد التالية لمزيد من المعلومات.
مراجع:
خطوات تحميل قسم المبادلة ضمن Linux
إنتاج وحرق ملفات صور ISO في نظام التشغيل Linux
شرح تقسيم قرص ذاكرة الوصول العشوائي:[1],[2]
دليل منفذ نظام الملفات المتقدم
قام القسم السابق بتنسيق القسم مباشرة كنوع معين من نظام الملفات، ولكن مع الأخذ في الاعتبار الحاجة إلى توسيع أجهزة تخزين جديدة، قدم المطورون وحدات تخزين منطقية بين نظام الملفات والقسم. مع مراعاة ضيق الوقت، لن أخوض في التفاصيل هنا، يرجى الرجوع إلى المرجع: شرح تفصيلي لإدارة الحجم المنطقي لنظام Linux
ما يقدمه نظام الملفات أخيرًا هو بنية مرئية، والتي يمكن تقديمها باستخدام أوامر مثل ls، وfind، وtree. إنها مثل "شجرة" مقلوبة، ويمكن تركيب "أشجار" جديدة على عقد الشجرة.
فيما يلي مقدمة موجزة لتركيب نظام الملفات.
يمكن تركيب نظام الملفات عبر جهاز (
جبل) إلى دليل يسمى نقطة التحميل. ومن المثير للاهتمام، في نظام التشغيل Linux، يمكن تثبيت الدليل نفسه على دليل آخر، ويمكن أيضًا تثبيت الملف المنسق من خلال جهاز خاص.
/dev/loopللتركيب (على سبيل المثال.
ايزووثيقة). بالإضافة إلى ذلك، فيما يتعلق بأنظمة الملفات، فإن Linux لا يدعم أنظمة الملفات المحلية فحسب، بل يدعم أيضًا أنظمة الملفات البعيدة (مثل
nfs).
يقدم ما يلي بإيجاز عدة أمثلة لتركيب نظام الملفات.
تركيب نظام الملفات الجذر
يتطلب التثبيت أذونات الجذر، على سبيل المثال، تثبيت نظام الملفات الجذر للنظام
/dev/sda1يصل
/mnt
$ sudo -s# mount -t ext3 /dev/sda1 /mnt/
يفحص
/dev/sda1كما ترون من حالة التركيب، يمكن تركيب الجهاز عدة مرات.
$ mount |.grep sda1/dev/sda1 على / اكتب ext3 (rw,errors=remount-ro)/dev/sda1 على /mnt اكتب ext3 (rw)
بالنسبة لنظام الملفات المثبت بالفعل، يمكن إعادة تركيبه لدعم سمات مختلفة.
$ mount -n -o إعادة التحميل، rw /
قم بتركيب جهاز جديد
إذا كانت النواة تدعم بالفعل واجهة USB، فعند إدخال محرك أقراص فلاش USB، يمكنك المرور
com.dmesgأمر لعرض رقم الجهاز المقابل وتثبيته.
يفحص
com.dmesgبالنسبة للأسطر القليلة الأخيرة في النتائج، ابحث عن شيء مثل
/dev/sdNمعلومات لمعرفة رقم الجهاز المطابق لقرص USB
$dmesg
ومن المفترض هنا أن يكون قرص USB
vfatالتنسيق بحيث يمكن استخدامه أيضًا على نظام التشغيل Windows في بعض محلات الطباعة
# mount -t vfat /dev/sdN /path/to/mountpoint_directory
قم بتحميل ملف ISO أو قرص مضغوط
بالنسبة لبعض ملفات ISO أو الأقراص بتنسيق ISO، يمكنك أيضًا استخدام
جبلأمر بالتركيب.
بالنسبة لملفات الأيزو:
# mount -t iso9660 /path/to/isofile /path/to/mountpoint_directory
للقرص المضغوط:
# mount -t iso9660 /dev/cdrom /path/to/mountpoint_directory
تركيب نظام الملفات البعيد
# mount -t nfs Remote_ip:/path/to/share_directory /path/to/local_directory
قم بتركيب نظام ملفات proc
# جبل -t بروك بروك /proc
بروكيتم تنظيم نظام الملفات في الذاكرة، ولكن يمكن تركيبه على الدليل. عادة ما يتم تركيبه فيه
/procالدليل بحيث يمكن لبعض أدوات إدارة النظام وتكوينه استخدامه. على سبيل المثال
قمةيستخدمه الأمر لتحليل استخدام الذاكرة (read
/proc/meminfoو
/proc/statإلخ. الملفات)؛
com.lsmodأمر يمكن من خلاله الحصول على حالة وحدة kernel (read
/proc/modules);
netstatأمر للحصول على حالة الشبكة من خلاله (اقرأ
/proc/net/devوغيرها من الوثائق). وبطبيعة الحال، يمكن أيضا كتابة الأدوات ذات الصلة. بالإضافة إلى ذلك، عن طريق التعديل
/proc/sysيمكن للملفات الموجودة في الدليل ضبط تكوين النظام ديناميكيًا، مثل الانتقال إلى
/proc/sys/net/ipv4/ip_forwardإن كتابة الرقم 1 في الملف يمكّن النواة من دعم إعادة توجيه الحزم. (لمزيد من المعلومات يرجى الرجوع إلى
بروكيساعد،
رجل ``بروك)
جبل الدليل
$ mount --bind /path/to/needtomount_directory /path/to/mountpoint_directory
هذا أمر مثير للاهتمام للغاية، على سبيل المثال، يمكنك تحميل دليل إلى الدليل الجذر لخدمة بروتوكول نقل الملفات، وتوفير الموارد في الدليل المقابل ليتمكن الآخرون من مشاركتها دون نسخ المحتوى.
التثبيت المذكور أعلاه فقط، فكيف يمكن إلغاء التثبيت؟ يستخدم
umountما عليك سوى اتباع الأمر باستخدام عنوان المصدر أو نقطة التثبيت (الجهاز، الملف، الدليل البعيد، وما إلى ذلك) للتثبيت. على سبيل المثال:
$ umount /path/to/mountpoint_directory
أو
$ umount /path/to/mount_source
إذا كنت تريد إدارة عدد كبير من الخدمات المثبتة بشكل متكرر، فإن التثبيت يدويًا في كل مرة يعد فكرة سيئة. يمكنك استخدامه الآن
جبلملف التكوين
/etc/fstab،باقة
جبلتتم كتابة المعلمات المقابلة كما
/etc/fstabيمكن تحقيق تركيب الدفعة في العمود المقابل للملف (
جبل -أ) وإلغاء التثبيت (
أوماونت -أ).
/etc/fstabالأعمدة هي نظام الملفات ونقطة التثبيت والنوع والخيارات ذات الصلة. لمزيد من المعلومات يرجى الرجوع إلى
com.fstabيساعد (
رجل fstab).
مراجع:
قسم القرص الصلب لنظام التشغيل Linux ومبدأ التركيب الخاص به
النظر إلى نظام الملفات الظاهري Linux من ملف I/O
تحليل كود المصدر: تحليل ثابت رسم تخطيطي لاستدعاء وظيفة برنامج C
توجد بعض الدلائل الأساسية ضمن نظام ملفات Linux، ويتم تخزين الملفات المتنوعة ذات الوظائف المختلفة في أدلة مختلفة. الدلائل الأساسية هي
/إلخ,
/lib,
/dev,
/binوما إلى ذلك، والتي تخزن ملفات تكوين النظام وملفات المكتبة وملفات الجهاز والبرامج القابلة للتنفيذ على التوالي. تعد هذه الدلائل ضرورية بشكل عام عند القيام بالتطوير المضمن، فأنت بحاجة إلى استخدامها يدويًا أو
com.businessboxانتظر الأدوات اللازمة لإنشاء نظام الملفات الأساسي هذا. هنا نقوم فقط بإنشاء نظام ملفات بسيط جدًا ونقوم بتنفيذ عمليات تقليدية مختلفة على نظام الملفات لتعميق فهمنا لنظام الملفات.
لا تزال تتذكر
دأمر؟ مجرد استخدامه لإنشاء ملف بحجم ثابت، هذا هو
1 م (1024*1024 بايت)ملفات
$ dd if=/dev/zero of=minifs bs=1024 العد=1024
عرض أنواع الملفات هنا
minifsهو كامل
\0ملف بدون أي بنية بيانات محددة
ملف $ minifsminifs: data
يوضح:
/dev/zeroهو جهاز خاص جدًا، إذا قرأته، يمكنك الحصول على أي عدد منه
\0.
يتم بعد ذلك تنسيق الملف في نظام ملفات من نوع ملف محدد. (هل يبدو من غير المعقول إمكانية تنسيق الملفات أيضًا؟ نعم، لا يقتصر الأمر على الأجهزة فحسب، بل يمكن أيضًا تنظيم الملفات في أنواع معينة من أنظمة الملفات، ولكن تجدر الإشارة إلى أن بعض أنظمة الملفات (مثل
تحويلة3) يتطلب تنسيق الهدف ليكون على الأقل
64 مفضاء).
$ mkfs.ext2 minifs
تحقق من نوع الملف في هذا الوقت، الملف
minifsفقط خذ
تحويلة2تنسيق نظام الملفات منظم
ملف $ minifsminifs: بيانات نظام ملفات Linux rev 1.0 ext2
نظرًا لأن الملف منظم حسب نوع نظام الملفات، يمكنك استخدامه
جبلالأمر لتركيبه واستخدامه.
يرجى التبديل إلى
جذريقوم المستخدم بتثبيته وتمريره
-يا حلقةخيار ربطه بجهاز معين
/dev/loop
$ sudo -s# mount minifs /mnt/ -o حلقة
عرض معلومات نظام الملفات ورؤية ملف دليل واحد فقط
فقدت + وجدت
$ ls /mnt/lost+found
إجراء العديد من العمليات المنتظمة ضمن نظام الملفات هذا، بما في ذلك القراءة والكتابة والحذف وما إلى ذلك. (قبل كل عملية، من فضلك
minifsاحفظ نسخة من الملف للمقارنة، مع المعلومات ذات الصلة، يمكنك إجراء تحليل متعمق للتغييرات التي تطرأ على نظام الملفات بسبب العمليات المختلفة، وبالتالي فهم متعمق لمبادئ تنفيذ نظام الملفات كوسيلة. لتنظيم البيانات، الخ.)
$ cp minifs minifs.bak$ cd /mnt$ touch hello$ cd -$ cp minifs minifs-touch.bak$ od -x minifs.bak > orig.od$ od -x minifs-touch.bak > touch.od
بعد إنشاء ملف، قم بمقارنة أوجه التشابه والاختلاف بين نظام الملفات الحالي ونظام الملفات السابق.
$ diff orig.od touch.oddiff orig.od touch.od61,63c61,64< 0060020 000c 0202 2e2e 0000 000b 0000 03e8 020a< 0060040 6f6c 7473 662b 756f 646e 0000 0000 0000< 0060060 0000 0000 0000 0000 0000 0000 0000 ---> 0060020 000c 0202 2e2e 0000 000b 0000 0014 020a> 0060040 6f6c 7473 662b 756f 646e 0000 000c 0000> 0060060 03d4 0105 6568 6c6c 006f 0000 0000 0000> 0060100 0000 0000 0000 0000 0000 0000 0000 0000
من خلال المقارنة، وجد أنه عند إضافة ملف، يتغير الموقع المقابل لنظام الملفات بشكل ملحوظ.
$ صدى مرحباً بالعالم > /mnt/hello
ينفذ
مزامنةللتأكد من كتابة البيانات الموجودة في ذاكرة التخزين المؤقت على القرص (تذكر الشكل 1 من هذا القسم
ذاكرة التخزين المؤقتحسنا، هنا هو عليه
مخبأتتم كتابة البيانات الموجودة على القرص)
$ sync$ cp minifs minifs-echo.bak$ od -x minifs-echo.bak > echo.od
بعد كتابة محتوى الملف، قم بمقارنة أوجه التشابه والاختلاف بين نظام الملفات والنظام السابق.
$ فرق touch.od echo.od
عرض السلاسل في نظام الملفات
$ سلاسل minifslost+foundhellohello، العالم
يمسح
مرحبًاملف، عرض تغييرات نظام الملفات
$ rm /mnt/hello$ cp minifs minifs-rm.bak$ od -x minifs-rm.bak > rm.od$ diff echo.od rm.od
من خلال النظر إلى السلاسل الموجودة في نظام الملفات، وجدنا أنه لم تتم الكتابة فوق محتوى الملف عند حذف الملف، لذلك من الناحية النظرية لا يزال المحتوى قابلاً للاسترداد في هذا الوقت.
$ سلاسل minifslost+foundhellohello، العالم
يوضح ما ورد أعلاه فقط بعض الأدوات الشائعة لتحليل أنظمة الملفات ويحلل العديد من العمليات الشائعة. إذا كنت ترغب في الحصول على فهم متعمق جدًا لمبادئ تنفيذ أنظمة الملفات، فيرجى التعرف على استخدام الأدوات المذكورة أعلاه وقراءة المواد ذات الصلة.
مراجع:
بناء نظام ملفات صغير في لينكس من الصفر
قم ببناء نظام ملفات صغير في Linux باستخدام BusyBox
نظام الملفات ext2
جنبا إلى جنب مع
فتيلمع ظهور الصمامات، أصبح من الممكن تطوير أنظمة الملفات في مساحة المستخدم. إذا كنت ترغب في تطوير نظام الملفات الخاص بك، فمن المستحسن قراءة: استخدم الصمامات لتطوير نظام الملفات الخاص بك.
في 22 ديسمبر 2007، قمت بجمع الكثير من المعلومات وكتبت الإطار العام.
تم الانتهاء من المسودة الأولى بعد ظهر يوم 28 ديسمبر 2007. ونظرًا لضيق الوقت، لم يتم تحليل الكثير من التفاصيل، بالإضافة إلى ذلك، قد تكون هناك مشاكل في الفهم في بعض الأجزاء، ونحن نرحب بالانتقادات والتصحيحات.
وفي مساء يوم 28 ديسمبر 2007، تم تعديل بعض المعلومات ونشر الوثيقة رسميًا.
رقم 29 إضافة قسم خاص ببرامج تشغيل الأجهزة والأجهزة