| FSCK(8) | إدارة النظام | FSCK(8) |
الاسم
fsck - افحص وأصلح نظام ملفات لينكس
موجز
fsck [-lsAVRTMNP] [-r [fd]] [-C [fd]] [-t fstype] [نظام_ملفات...] [--] [خيارات-خاصة-بنظام-الملفات]
الوصف
يُستخدم fsck لفحص وإصلاح نظام ملفات لينكس واحد أو أكثر اختيارياً. يمكن أن يكون نظام_ملفات اسم جهاز (مثل: /dev/hdc1، /dev/sdb2)، أو نقطة وصل (مثل: /، /usr، /home)، أو واصف UUID أو لصيقة نظام ملفات (مثل: UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd أو LABEL=root). عادةً، سيحاول برنامج fsck التعامل مع أنظمة الملفات على محركات أقراص فيزيائية مختلفة بالتوازي لتقليل إجمالي الوقت المطلوب لفحصها جميعاً.
إذا لم تُحدد أي أنظمة ملفات في سطر الأوامر، ولم يُحدد الخيار -A، فسيقوم fsck بشكل مبدئي بفحص أنظمة الملفات في /etc/fstab تسلسلياً. وهذا يكافئ الخيارات -As.
حالة الخروج التي يعيدها fsck هي مجموع الحالات التالية:
0
1
2
4
8
16
32
128
حالة الخروج التي تُعاد عند فحص أنظمة ملفات متعددة هي عملية OR الثنائية لحالات الخروج لكل نظام ملفات فُحص.
في الواقع، يُعد fsck مجرد واجهة أمامية لمختلف فاحصات أنظمة الملفات (fsck.fstype) المتاحة تحت لينكس. يُبحث عن الفاحص الخاص بنظام الملفات في متغير البيئة PATH. وإذا لم يكن PATH معرفاً، يتم الرجوع إلى /sbin.
يرجى مراجعة صفحات الدليل الخاصة بفاحص كل نظام ملفات لمزيد من التفاصيل.
الخيارات
-l
-r [fd]
/dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186
قد تحدد الواجهات الرسومية الأمامية واصف ملف fd، وفي هذه الحالة ستُرسل معلومات شريط التقدم إلى واصف الملف هذا بتنسيق قابل للتحليل آلياً. على سبيل المثال:
/dev/sda1 0 92828 4.002804 2.677592 0.86186
-s
-t fslist
يمكن تضمين واصفات الخيارات في fslist المفصولة بفواصل. يجب أن تكون بالتنسيق opts=fs-option. إذا وجد واصف خيارات، فستُفحص فقط أنظمة الملفات التي تحتوي على fs-option في حقل خيارات الوصل الخاص بها في /etc/fstab. إذا سُبق واصف الخيارات بعامل نفي، فستُفحص فقط أنظمة الملفات التي لا تحتوي على fs-option في حقل خيارات الوصل في /etc/fstab.
على سبيل المثال، إذا ظهر opts=ro في fslist، فستُفحص فقط أنظمة الملفات المدرجة في /etc/fstab مع الخيار ro.
للتوافق مع توزيعات Mandrake التي تعتمد سكربتات إقلاعها على تغيير غير مصرح به في واجهة برنامج fsck، إذا وُجد نوع نظام ملفات loop في fslist، فسيُعامل كما لو كان opts=loop قد حُدد كمعامل للخيار -t.
عادةً، يُستنتج نوع نظام الملفات بالبحث عن filesys في ملف /etc/fstab واستخدام المدخل المقابل. إذا تعذر استنتاج النوع، وكان هناك نظام ملفات واحد فقط مُعطى كمعامل للخيار -t، فسيستخدم fsck نوع نظام الملفات المحدد. إذا لم يكن هذا النوع متاحًا، فسيُستخدم نوع نظام الملفات المبدئي (حالياً ext2).
-A
يُفحص نظام ملفات الجذر أولاً ما لم يُحدد الخيار -P (انظر أدناه). بعد ذلك، تُفحص أنظمة الملفات بالترتيب المحدد في حقل fs_passno (السادس) في ملف /etc/fstab. تُتخطى أنظمة الملفات التي تحمل القيمة 0 في fs_passno ولا تُفحص على الإطلاق. أما أنظمة الملفات التي تزيد قيمة fs_passno فيها عن الصفر فتُفحص بالترتيب، مع البدء بأنظمة الملفات ذات الرقم الأدنى. وإذا وُجدت عدة أنظمة ملفات بنفس رقم المرور، فسيحاول fsck فحصها بالتوازي، مع تجنب إجراء عمليات فحص متعددة لأنظمة الملفات على نفس القرص المادي.
لا يفحص fsck الأجهزة المتراصة (RAIDs، dm-crypt، ...) بالتوازي مع أي جهاز آخر. انظر أدناه بخصوص إعداد FSCK_FORCE_ALL_PARALLEL. يُستخدم نظام ملفات /sys لتحديد التبعيات بين الأجهزة.
لذا، من الإعدادات الشائعة جداً في ملفات /etc/fstab تعيين قيمة fs_passno لنظام ملفات الجذر لتكون 1، وتعيين القيمة 2 لبقية أنظمة الملفات الأخرى. يتيح هذا لأداة fsck تشغيل فاحصات أنظمة الملفات آلياً بالتوازي إذا كان ذلك مفيداً. وقد يختار مديرو النظام عدم استخدام هذا الإعداد إذا احتاجوا لتجنب تشغيل فاحصات متعددة بالتوازي لسبب ما - على سبيل المثال، إذا كان الحاسوب المعني يعاني من نقص في الذاكرة بحيث يصبح التبديل (paging) المفرط مصدر قلق.
عادةً لا يتحقق fsck مما إذا كان الجهاز موجوداً بالفعل قبل استدعاء الفاحص الخاص بنظام الملفات. لذا، قد تتسبب الأجهزة غير الموجودة في دخول النظام إلى وضع إصلاح نظام الملفات أثناء الإقلاع إذا أرجع الفاحص خطأً فادحاً. يمكن استخدام خيار الوصل nofail في /etc/fstab لجعل fsck يتخطى الأجهزة غير الموجودة. كما يتخطى fsck الأجهزة غير الموجودة التي تملك نوع نظام ملفات خاص يسمى auto.
-C [fd]
-M
-N
-P
-R
-T
-V
-?، --help
--version
خيارات خاصة بنظام الملفات
الخيارات التي لا يفهمها fsck تُمرر إلى الفاحص الخاص بنظام الملفات!
هذه الخيارات يجب ألا تأخذ معطيات، إذ لا توجد وسيلة تمكن fsck من تخمين الخيارات التي تتطلب معطيات من التي لا تتطلبها.
تُعامل الخيارات والمعطيات التي تلي -- على أنها خيارات خاصة بنظام الملفات لتُمرر إلى الفاحص الخاص بنظام الملفات.
يرجى ملاحظة أن fsck لم يُصمم لتمرير خيارات معقدة بشكل عشوائي إلى فاحصات أنظمة الملفات. إذا كنت تقوم بأمر معقد، فيرجى تنفيذ الفاحص الخاص بنظام الملفات مباشرة. إذا مررت إلى fsck خيارات ومعطيات شديدة التعقيد ولم يعمل كما تتوقع، فلا تكلف نفسك عناء التبليغ عن علة. فمن المؤكد أنك تفعل شيئاً لا ينبغي فعله باستخدام fsck. إن خيارات أدوات fsck الخاصة بأنظمة الملفات المختلفة ليست موحدة.
البيئة
يتأثر سلوك برنامج fsck بمتغيرات البيئة التالية:
FSCK_FORCE_ALL_PARALLEL
FSCK_MAX_INST
PATH
FSTAB_FILE
LIBBLKID_DEBUG=all
LIBMOUNT_DEBUG=all
الملفات
/etc/fstab
ملاحظات
أثناء الإقلاع، لا يستدعي systemd الأمر fsck -A. بدلاً من ذلك، يقوم بجدولة تفعيل عمليات الوصل بشكل فردي، مع مراعاة التبعيات على الأجهزة المساندة، والشبكات، وعوامل أخرى. وبناءً عليه، يُستدعى fsck بشكل فردي لكل جهاز.
المؤلفين
Theodore Ts’o <tytso@mit.edu>، Karel Zak <kzak@redhat.com>
انظر أيضاً
fstab(5)، mkfs(8)، fsck.ext2(8) أو fsck.ext3(8) أو e2fsck(8)، fsck.cramfs(8)، fsck.jfs(8)، fsck.nfs(8)، fsck.minix(8)، fsck.msdos(8)، fsck.vfat(8)، fsck.xfs(8)، reiserfsck(8)
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر fsck جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |