e2fsck.conf(5)

الاسم
e2fsck.conf - ملف الضبط لـ e2fsck

الوصف
ملف e2fsck.conf هو ملف الضبط لـ e2fsck(8). يتحكم في السلوك المبدئي لـ e2fsck(8) أثناء فحصه لأنظمة الملفات ext2، أو ext3، أو ext4.

يستخدم ملف e2fsck.conf تنسيقاً بنمط INI. تُحدَّد المقاطع (Stanzas) أو الأقسام ذات المستوى الأعلى بأقواس مربعة: [ ]. داخل كل قسم، يحدد كل سطر علاقة، والتي تُسند الوسوم إلى قيم، أو إلى قسم فرعي يحتوي على علاقات أو أقسام فرعية أخرى. يتبع أدناه مثال على تنسيق نمط INI المستخدم في ملف الضبط هذا:

  [section1]
  tag1 = value_a
  tag1 = value_b
  tag2 = value_c

  [section 2]
  tag3 = {
  subtag1 = subtag_value_a
  subtag1 = subtag_value_b
  subtag2 = subtag_value_c
  }
  tag1 = value_d
  tag2 = value_e
  }

تُفصل التعليقات بفاصلة منقوطة (';') أو حرف هاش ('#') في بداية التعليق، وتنتهي بحرف نهاية السطر.

يجب اقتباس اللصيقات والقيم باستخدام علامات اقتباس مزدوجة إذا كانت تحتوي على مسافات. داخل السلسلة المقتبسة، تنطبق تفسيرات الشرطة المائلة الخلفية القياسية: "\n" (لمحرف سطر جديد)، و "\t" (لمحرف الجدولة)، و "\b" (لمحرف مسح الخلف)، و "\\" (لمحرف الشرطة المائلة الخلفية).

تُستخدم المقاطع التالية في ملف e2fsck.conf. ستُوصف بمزيد من التفصيل في أقسام لاحقة من هذا المستند.

[options]
    يحتوي هذا المقطع على معاملات ضبط عامة لسلوك e2fsck.

[defaults]
    يحتوي على علاقات تحدد المعاملات المبدئية التي يستخدمها e2fsck(8). بوجه عام، يمكن تجاوز هذه القيم المبدئية بواسطة خيارات سطر الأوامر التي يوفرها المستخدم.

[problems]
    يسمح هذا المقطع للمدير بإعادة ضبط كيفية تعامل e2fsck مع مختلف حالات عدم اتساق نظام الملفات.

[scratch_files]
    يتحكم هذا المقطع في متى سيحاول e2fsck استخدام ملفات مؤقتة لتقليل الحاجة إلى الذاكرة.

فقرة [options]
العلاقات التالية معرفة في قسم [options].

allow_cancellation
    إذا ضُبطت هذه العلاقة على قيمة منطقية صحيحة (true)، فعندما يقاطع المستخدم e2fsck باستخدام ^C، ولم يُعلَّم نظام الملفات صراحةً باحتوائه على أخطاء، سيخرج e2fsck بحالة خروج 0 بدلاً من 32. القيمة المبدئية لهذا الإعداد هي خطأ (false).

accept_time_fudge
    لسوء الحظ، ونظراً لقرار التصميم المؤسف لنظام ويندوز بضبط ساعة العتاد لتعمل بالتوقيت المحلي، بدلاً من توقيت UTC الأكثر ملاءمة والأقل عرضة للأخطاء، ينتهي المطاف بالعديد من المستخدمين في وضع تكون فيه ساعة النظام مضبوطة بشكل غير صحيح عند وقت تشغيل e2fsck.

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

broken_system_clock
    يحتوي برنامج e2fsck(8) على بعض الاستدلالات التي تفترض أن ساعة النظام صحيحة. بالإضافة إلى ذلك، تقدم العديد من برامج النظام افتراضات مشابهة. على سبيل المثال، تعتمد مكتبة UUID على عدم تراجع الوقت لكي تتمكن من تقديم ضماناتها بشأن إصدار معرفات فريدة عالمياً. الأنظمة ذات ساعات النظام المعطلة، هي، حسناً، معطلة. ومع ذلك، توجد ساعات نظام معطلة، خاصة في الأنظمة المدمجة. سيحاول E2fsck استخدام الاستدلالات لتحديد ما إذا كان لا يمكن الوثوق بالوقت؛ وتخطي الفحوصات القائمة على الوقت إذا كان هذا صحيحاً. إذا ضُبطت هذه القيمة المنطقية على صحيحة (true)، فسيفترض e2fsck دائماً أنه لا يمكن الوثوق بساعة النظام.

buggy_init_scripts
    هذه العلاقة المنطقية هي اسم مستعار لـ accept_time_fudge من أجل التوافق مع الإصدارات السابقة؛ في السابق كان السلوك المحدد بواسطة accept_time_fudge أعلاه افتراضياً على خطأ (false)، وكان buggy_init_scripts يُمكّن حقل وقت الـ superblock من أن يكون خاطئاً بما يصل إلى 24 ساعة. عندما غيّرنا القيمة المبدئية، قمنا أيضًا بإعادة تسمية هذه العلاقة المنطقية إلى accept_time_fudge.

clear_test_fs_flag
    تتحكم هذه العلاقة المنطقية في ما إذا كان e2fsck(8) سيعرض مسح وسم test_fs إذا كان نظام ملفات ext4 متاحاً على النظام أم لا. القيمة المبدئية هي صحيحة (true).

defer_check_on_battery
    تتحكم هذه العلاقة المنطقية في ما إذا كان يجب مضاعفة الفاصل الزمني بين فحص أنظمة الملفات (سواء كان قائماً على الوقت أو عدد مرات الوصل) إذا كان النظام يعمل على البطارية. القيمة المبدئية لهذا الإعداد هي صحيحة (true).

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

inode_count_fullmap
    إذا كانت هذه العلاقة المنطقية صحيحة (true)، وازن بين استخدام الذاكرة والسرعة عند فحص نظام ملفات يحتوي على عدد كبير من الملفات ذات الوصلات الثابتة. كمية الذاكرة المطلوبة تتناسب مع عدد الـ inodes في نظام الملفات. بالنسبة لأنظمة الملفات الكبيرة، قد يصل هذا إلى جيجابايت من الذاكرة. (على سبيل المثال، نظام ملفات بحجم 40 تيرابايت مع 2.8 مليار inode سيستهلك ذاكرة إضافية قدرها 5.7 جيجابايت إذا مُكّن هذا التحسين). القيمة المبدئية لهذا الإعداد هي خطأ (false).

log_dir
    إذا كانت علاقات log_filename أو problem_log_filename تحتوي على مسار نسبي، فسيُوضع ملف السجل في الدليل المسمى بواسطة علاقة log_dir.

log_dir_fallback
    تحتوي هذه العلاقة على دليل بديل سيُستخدم إذا كان الدليل المحدد بواسطة log_dir غير متاح أو غير قابل للكتابة.

log_dir_wait
    إذا كانت هذه العلاقة المنطقية صحيحة (true)، فإذا كانت الأدلة المحددة بواسطة log_dir أو log_dir_fallback غير متاحة أو غير قابلة للكتابة بعد، فسيحفظ e2fsck المخرجات في خبيئة ذاكرة، وستقوم عملية فرعية باختبار دوري لمعرفة ما إذا أصبح دليل السجل متاحاً بعد أن قام تسلسل الإقلاع بوصل نظام الملفات المطلوب للقراءة/الكتابة. ينفذ هذا الوظيفة التي يوفرها logsave(8) لملفات سجل e2fsck.

log_filename
    تحدد هذه العلاقة اسم الملف الذي ستُكتب فيه نسخة من مخرجات e2fsck. إذا قُمِعَت تقارير مشكلات معينة باستخدام علاقة max_count_problems، (أو على أساس كل مشكلة باستخدام علاقة max_count)، فستُكتب المجموعة الكاملة لتقارير المشكلات في ملف السجل. قد يحتوي اسم الملف على تعبيرات نسبية متنوعة (%D، و%T، و%N، إلخ) والتي ستُوسَّع بحيث يمكن لاسم ملف السجل أن يتضمن أشياء مثل التاريخ، والوقت، واسم الجهاز، ومعاملات أخرى أثناء التشغيل. انظر قسم LOGGING لمزيد من التفاصيل.

max_count_problems
    تحدد هذه العلاقة الحد الأقصى لعدد تقارير المشكلات من نوع معين التي ستُطبع على المخرجات المعيارية (stdout) قبل قمع تقارير المشكلات الإضافية من هذا النوع. يمكن أن يكون هذا مفيداً إذا كانت وحدة التحكم بطيئة (أي متصلة بمنفذ تسلسلي) وبالتالي قد تنتهي كمية كبيرة من المخرجات بتأخير عملية الإقلاع لفترة طويلة (قد تصل إلى ساعات).

no_optimize_extents
    إذا كانت هذه العلاقة المنطقية صحيحة (true)، فلا تعرض تحسين شجرة الامتداد عن طريق تقليل عرض الشجرة أو عمقها. القيمة المبدئية لهذا الإعداد هي خطأ (false).

problem_log_filename
    تحدد هذه العلاقة اسم الملف الذي سيُكتب فيه سجل برموز المشكلات التي وجدها e2fsck. قد يحتوي اسم الملف على تعبيرات نسبية متنوعة (%D، و%T، و%N، إلخ) والتي ستُوسَّع بحيث يمكن لاسم ملف السجل أن يتضمن أشياء مثل التاريخ، والوقت، واسم الجهاز، ومعاملات أخرى أثناء التشغيل. انظر قسم LOGGING لمزيد من التفاصيل.

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

readahead_kb
    استخدم هذه الكمية من الذاكرة لقراءة كتل البيانات الوصفية قبل خيط الفحص الرئيسي. ضبط هذه القيمة على صفر يعطل القراءة المسبقة (readahead) تماماً. بشكل مبدئي، تُضبط هذه القيمة على حجم جداول inode لمجموعتي كتل (عادةً 4 ميجابايت على نظام ملفات ext4 عادي)؛ إذا كانت هذه الكمية أكثر من 1/50 من إجمالي الذاكرة المادية، تُعطل القراءة المسبقة.

report_features
    إذا كانت هذه العلاقة المنطقية صحيحة (true)، فسيقوم e2fsck بطباعة ميزات نظام الملفات كجزء من تقريره المفصل (أي إذا حُدد الخيار -v)

report_time
    إذا كانت هذه العلاقة المنطقية صحيحة (true)، فسيتم تشغيل e2fsck كما لو كانت الخيارات -tt محددة دائماً. سيؤدي هذا إلى جعل e2fsck يطبع إحصائيات التوقيت على أساس كل تمريرة (pass) لفحوصات نظام الملفات الكاملة.

report_verbose
    إذا كانت هذه العلاقة المنطقية صحيحة (true)، فسيتم تشغيل e2fsck كما لو كان الخيار -v محدداً دائماً. سيؤدي هذا إلى جعل e2fsck يطبع بعض المعلومات الإضافية في نهاية كل فحص كامل لنظام الملفات.

فقرة [defaults]
العلاقات التالية معرفة في قسم [defaults].

undo_dir
    تحدد هذه العلاقة الدليل الذي يجب تخزين ملف التراجع فيه. يمكن تجاوزه عبر متغير البيئة E2FSPROGS_UNDO_DIR. إذا ضُبط موقع الدليل على القيمة none، فلن ينشئ e2fsck ملف تراجع.

مقطع [problems]
يسمي كل وسم في مقطع [problems] رمز مشكلة محدد ببادئة "0x" متبوعة بستة أرقام ست عشرية. قيمة الوسم هي قسم فرعي حيث تتجاوز العلاقات الموجودة في ذلك القسم الفرعي المعالجة المبدئية لرمز المشكلة ذلك.

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

داخل القسم الفرعي لكل رمز مشكلة، يمكن استخدام الوسوم التالية:

description
    تسمح هذه العلاقة بتجاوز الرسالة التي تُطبع عند اكتشاف عدم اتساق نظام الملفات هذا.

preen_ok
    تتجاوز هذه العلاقة المنطقية السلوك المبدئي الذي يتحكم في ما إذا كان يجب إصلاح مشكلة نظام الملفات هذه آلياً عندما يعمل e2fsck في وضع preen.

max_count
    تتجاوز هذه العلاقة الصحيحة مُعامل max_count_problems (المضبوط في قسم الخيارات) لهذه المشكلة المحددة.

no_ok
    تتجاوز هذه العلاقة المنطقية السلوك المبدئي الذي يحدد ما إذا كان سيُعلَّم نظام الملفات كغير متسق في حال رفض المستخدم إصلاح المشكلة المُبلغ عنها.

no_default
    تتجاوز هذه العلاقة المنطقية ما إذا كانت الإجابة المبدئية لهذه المشكلة (أو السؤال) يجب أن تكون "لا".

preen_nomessage
    تتجاوز هذه العلاقة المنطقية السلوك المبدئي الذي يتحكم فيما إذا كان يجب كتم وصف مشكلة نظام الملفات هذه عند تشغيل e2fsck في نمط التنظيف (preen mode).

no_nomsg
    تتجاوز هذه العلاقة المنطقية السلوك المبدئي الذي يتحكم فيما إذا كان يجب كتم وصف مشكلة نظام الملفات هذه عند إجبار مشكلة على عدم الإصلاح، إما لأن e2fsck شُغِّل مع الخيار -n أو لأن الراية force_no ضُبطت للمشكلة.

force_no
    هذا الخيار المنطقي، إذا ضُبط إلى صح، يجبر المشكلة على ألا تُصلح أبداً. أي، سيكون الأمر كما لو أن المستخدم يجيب بـ 'لا' على سؤال 'هل يجب إصلاح هذه المشكلة؟'. يتجاوز الخيار force_no حتى الخيار -y المُعطى في سطر الأوامر (للمشكلة المحددة فقط، بالطبع).

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

قسم [scratch_files]
العلاقات التالية مُعرفة في قسم [scratch_files].

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

numdirs_threshold
    إذا ضُبطت هذه العلاقة، فستُستخدم بنى البيانات في الذاكرة إذا كان عدد الأدلة في نظام الملفات أقل من الكمية المحددة.

dirinfo
    تتحكم هذه العلاقة فيما إذا كان يجب استخدام دليل ملفات المسودة بدلاً من بنية بيانات في الذاكرة لمعلومات الأدلة. قيمتها المبدئية صح.

icount
    تتحكم هذه العلاقة فيما إذا كان يجب استخدام دليل ملفات المسودة بدلاً من بنية بيانات في الذاكرة عند تتبع أعداد الـ inode. قيمتها المبدئية صح.

التسجيل
يتمتع E2fsck بميزة حفظ المعلومات من تشغيل e2fsck في دليل حتى يتمكن مدير النظام من مراجعة مخرجاته في وقت فراغه. يسمح هذا بحفظ المعلومات المُلتقطة أثناء تشغيل e2fsck الآلي في نمط التنظيف، وكذلك عند تشغيل e2fsck يدوياً، للرجوع إليها مستقبلاً. تُتحكم في هذه الميزة بواسطة العلاقات log_filename و log_dir و log_dir_fallback و log_dir_wait في قسم [options].

قد يحتوي اسم الملف في log_filename على تعبيرات النسبة المئوية التالية التي ستُوسع كما يلي.

%d  يوم الشهر الحالي

%D  التاريخ الحالي؛ وهو يكافئ %Y%m%d

%h  اسم المضيف للنظام.

%H  الساعة الحالية بتنسيق 24 ساعة (00..23)

%m  الشهر الحالي كرقم من خانتين (01..12)

%M  الدقيقة الحالية (00..59)

%N  اسم الجهاز الكتلي الذي يحتوي على نظام الملفات، مع إزالة أي مسار دليل.

%p  معرف العملية (PID) لعملية e2fsck

%s  الوقت الحالي معبراً عنه بعدد الثواني منذ 1970-01-01 00:00:00 حسب التوقيت العالمي المنسق (UTC)

%S  الثانية الحالية (00..59)

%T  الوقت الحالي؛ وهو يكافئ %H%M%S

%u  اسم المستخدم الذي يشغل e2fsck.

%U  تعبير النسبة المئوية هذا لا يُوسع إلى أي شيء، ولكنه يشير إلى أن أي تعبيرات تاريخ أو وقت تالية يجب أن تُعبر عنها بالتوقيت العالمي المنسق (UTC) بدلاً من المنطقة الزمنية المحلية.

%y  آخر خانتين من السنة الحالية (00..99)

%Y  السنة الحالية (أي، 2012).

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

  [problems]
  0x040002 = {
  preen_ok = true
  description = "@u @i %i. "
  }

ستتسبب الوصفة التالية في كتابة ملف سجل e2fsck إلى الدليل /var/log/e2fsck، مع اسم ملف يحتوي على اسم الجهاز، واسم مضيف النظام، والتاريخ، والوقت: مثلًا، "e2fsck-sda3.server.INFO.20120314-112142". إذا كان الدليل الذي يحتوي على /var/log يقع على نظام ملفات الجذر الذي وُصل مبدئياً للقراءة فقط، فسيُحفظ المخرج في الذاكرة ويُكتب بمجرد إعادة وصل نظام ملفات الجذر للقراءة/الكتابة. لتجنب كتابة الكثير من التفاصيل إلى وحدة التحكم التسلسلية (مما قد يبطئ تسلسل الإقلاع)، اطبع ما لا يزيد عن 16 حالة من كل نوع من فساد نظام الملفات.

  [options]
  max_count_problems = 16
  log_dir = /var/log/e2fsck
  log_filename = e2fsck-%N.%h.INFO.%D-%T
  log_dir_wait = true

الملفات

/etc/e2fsck.conf
    ملف الضبط لـ e2fsck(8).

انظر أيضًا
e2fsck(8)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.