mtools(1)

الاسم
mtools - أدوات للوصول إلى أقراص DOS في يونكس.

مقدمة
Mtools هي مجموعة أدوات تسمح لأنظمة يونكس بمعالجة ملفات MS-DOS: قراءة، وكتابة، ونقل الملفات على نظام ملفات MS-DOS (عادةً قرص مرن). حيثما كان ذلك معقولاً، يحاول كل برنامج محاكاة أمر MS-DOS المكافئ. ومع ذلك، لا تُحاكى القيود غير الضرورية وغرائب DOS. على سبيل المثال، من الممكن نقل أدلة فرعية من دليل فرعي إلى آخر.

تعد Mtools كافية لمنح الوصول إلى أنظمة ملفات MS-DOS. على سبيل المثال، تعمل أوامر مثل mdir a: على القرص المرن a: دون أي وصل أو تهيئة مسبقة (بافتراض أن ملف الإعداد المبدئي `/etc/mtools.conf' يعمل على جهازك). باستخدام mtools، يمكن للمرء تغيير الأقراص المرنة أيضًا دون فصل ووصل.

أين تحصل على mtools

يمكن العثور على Mtools في الأماكن التالية (ومراياها):

http://ftp.gnu.org/gnu/mtools/mtools-4.0.49.tar.gz

تُسمى هذه الرقاع mtools-version-ddmm.taz، حيث يمثل version الإصدار الأساسي، و dd اليوم، و mm الشهر. ونظرًا لضيق المساحة، عادةً ما أترك أحدث رقعة فقط.

توجد قائمة بريدية لـ mtools في info-mtools @ gnu.org . يُرجى إرسال جميع تقارير العلل إلى هذه القائمة. يمكنك الاشتراك في القائمة عبر https://lists.gnu.org/mailman/listinfo/info-mtools. (ملاحظة: يُرجى إزالة المسافات حول الرمز "@". لقد تركتها هناك لخداع برامج البريد العشوائي.) ستُرسل إعلانات إصدارات mtools الجديدة أيضًا إلى القائمة، بالإضافة إلى مجموعات أخبار إعلانات لينكس. تُؤرشف القائمة البريدية في http://lists.gnu.org/pipermail/info-mtools/

الميزات المشتركة لجميع أوامر mtools

  الخيارات وأسماء الملفات
تتكون أسماء ملفات MS-DOS من حرف محرك أقراص متبوعًا بنقطتين، ودليل فرعي، واسم ملف. يعد جزء اسم الملف فقط إلزاميًا، بينما يكون حرف محرك الأقراص والدليل الفرعي اختياريين. تشير أسماء الملفات التي لا تحتوي على حرف محرك أقراص إلى ملفات يونكس. يمكن لأسماء الأدلة الفرعية استخدام الفاصل '/' أو '\'. يتطلب استخدام الفاصل '\' أو المحارف البديلة وضع الأسماء بين علامتي اقتباس لحمايتها من الصدفة. ومع ذلك، لا ينبغي وضع المحارف البديلة في أسماء ملفات يونكس بين علامتي اقتباس، لأننا هنا نريد من الصدفة توسيعها.

تتبع روتينات "مطابقة النمط" للتعبير المنتظم قواعد نمط يونكس. على سبيل المثال، يطابق `*' جميع ملفات MS-DOS بدلاً من `*.*'. وتُتجاهل بتات سمات الأرشفة، والخفاء، والقراءة فقط، والنظام أثناء مطابقة النمط.

تستخدم جميع الخيارات المحرف - (ناقص) كأول محرف لها، وليس المحرف / كما هو متوقع في MS-DOS.

تسمح معظم أوامر mtools بمعاملات أسماء ملفات متعددة، وهو ما لا يتبع قواعد MS-DOS، ولكنه أكثر سهولة للمستخدم.

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

تقبل جميع الأوامر العلم -i الذي يسمح بتحديد ملف صورة (راجع قسم حروف محركات الأقراص).

تقبل جميع الأوامر العلم -V الذي يطبع الإصدار، وتقبل معظمها العلم -v الذي يفعل الوضع المسهب. في الوضع المسهب، تطبع هذه الأوامر أسماء ملفات MS-DOS التي تعمل عليها، ما لم يُنص على خلاف ذلك. راجع قسم الأوامر لوصف الخيارات الخاصة بكل أمر.

  حروف محركات الأقراص

يعتمد معنى حروف محركات الأقراص على البنى المستهدفة. ومع ذلك، في معظم البنى المستهدفة، يكون محرك الأقراص A هو أول محرك أقراص مرن، ومحرك الأقراص B هو ثاني محرك أقراص مرن (إن وجد)، ومحرك الأقراص J هو محرك Jaz (إن وجد)، ومحرك الأقراص Z هو محرك Zip (إن وجد). في الأنظمة التي يُشتق فيها اسم الجهاز من معرف SCSI، يُفترض أن محرك Jaz موجود عند هدف SCSI رقم 4، ومحرك Zip عند هدف SCSI رقم 5 (إعدادات المصنع المبدئية). في لينكس، يُفترض أن كلا المحركين هما المحرك الثاني على ناقل SCSI (/dev/sdb). يمكن تغيير الإعدادات المبدئية باستخدام ملف إعداد (راجع قسم الضبط).

حرف محرك الأقراص : (النقطتان) له معنى خاص. إذ يُستخدم للوصول إلى ملفات الصور المحددة مباشرة في سطر الأوامر باستخدام خيارات -i.

مثال:

 mcopy -i my-image-file.bin ::file1 ::file2 .

ينسخ هذا الأمر file1 و file2 من ملف الصورة (my-image-file.bin) إلى الدليل /tmp.

يمكنك أيضًا توفير إزاحة داخل ملف الصورة بتضمين @@offset في اسم الملف.

مثال:

 mcopy -i my-image-file.bin@@1M ::file1 ::file2 .

يبحث هذا عن الصورة عند إزاحة 1 ميغابايت في الملف، بدلاً من بدايته.

  الأحجام والإزاحات

تسمح لك أوامر معينة، مثل mformat، بتحديد حجم قرص صلب.

الحجم هو رقم، تتبعه لاحقة وحدة اختيارية.

يُفسر الرقم كرقم سداسي عشري إذا بدأ بـ 0x، أو كرقم ثماني إذا بدأ بالرقم 0، أو كرقم عشري إذا بدأ بأي رقم آخر.

الوحدات التالية مدعومة:

*   S قطاعات (سعة 512 بايت)

*   K كيلوبايت

*   M ميغابايت

*   G غيغابايت

*   T تيرابايت

إذا لم تُحدد وحدة، فإن المبدئي يعتمد على السياق. يفترض خيار T في mformat، وخيار l في mpartition قطاعات، بينما تفترض جميع المواضع الأخرى (خيار o في mshowfat، وخيار offset في ضبط محرك الأقراص، وخيار data_map في ضبط محرك الأقراص) أنها بايتات.

  دليل العمل الحالي

يُستخدم الأمر mcd (`mcd') لتعيين الجهاز ودليل العمل الحالي (نسبةً إلى نظام ملفات MS-DOS)، وإلا فيُفترض أن المبدئي هو A:/. ومع ذلك، على عكس MS-DOS، يوجد دليل عمل واحد فقط لجميع محركات الأقراص، وليس واحدًا لكل محرك. علاوة على ذلك، إذا ضبطت محرك الأقراص ::/، فإن mtools لا يتذكر ملف الصورة المرتبط، بل يتذكر فقط حقيقة أنك تعمل على ملف صورة بشكل عام.

  أسماء ملفات طويلة بنمط VFAT

يدعم هذا الإصدار من mtools أسماء الملفات الطويلة بنمط VFAT. إذا كان اسم ملف يونكس طويلاً جدًا بحيث لا يتسع لاسم DOS قصير، فسيُخزن كاسم VFAT طويل، ويُولد اسم قصير مرافق له. هذا الاسم القصير هو ما تراه عندما تفحص القرص بإصدار من DOS أقدم من 7.0.
 يوضح الجدول التالي بعض الأمثلة للأسماء القصيرة:

الاسم الطويل       اسم MS-DOS     سبب التغيير ---------       ----------      --------------------- thisisatest     THISIS~1        اسم الملف طويل جدًا alain.knaff     ALAIN~1.KNA     الامتداد طويل جدًا prn.txt         PRN~1.TXT       PRN هو اسم جهاز .abc            ABC~1           اسم ملف فارغ hot+cold        HOT_CO~1        محرف غير مسموح به

 كما ترى، تحدث التحويلات التالية لاشتقاق اسم قصير:

*   تُستبدل المحارف غير المسموح بها بشرطات سفلية. المحارف غير المسموح بها هي ;+=[]',\"*\\<>/?:|.

*   تُزال النقاط الإضافية التي لا يمكن تفسيرها كفاصل بين الاسم الرئيس والامتداد

*   يُولد رقم ~n،

*   يُقصر الاسم ليتناسب مع حدود 8+3

 يُطلق على اسم ملف يونكس الأصلي (سواء كان طويلاً أو قصيرًا) أيضًا الاسم الرئيس، ويُطلق على الاسم القصير المشتق أيضًا الاسم الثانوي.

 مثال:

 mcopy /etc/motd a:Reallylongname

ينشئ Mtools مدخلاً بنمط VFAT لـ Reallylongname، ويستخدم REALLYLO كاسم قصير. يكون Reallylongname هو الاسم الرئيس، و REALLYLO هو الاسم الثانوي.

 mcopy /etc/motd a:motd

يتناسب motd مع حدود أسماء ملفات DOS. لا يحتاج Mtools إلى اشتقاق اسم آخر. يكون motd هو الاسم الرئيس، ولا يوجد اسم ثانوي.

 باختصار: الاسم الرئيس هو الاسم الطويل إن وجد، أو الاسم القصير إذا لم يكن هناك اسم طويل.

 على الرغم من أن VFAT أكثر مرونة بكثير من FAT، إلا أنه لا تزال هناك أسماء غير مقبولة، حتى في VFAT. لا تزال هناك بعض المحارف غير المسموح بها المتبقية (\"*\\<>/?:|)، وأسماء الأجهزة لا تزال محجوزة.

اسم يونكس       الاسم الطويل       سبب التغيير ---------       ----------      --------------------- prn             prn-1           PRN هو اسم جهاز ab:c            ab_c-1          محرف غير مسموح به

 كما ترى، تحدث التحويلات التالية إذا كان الاسم الطويل غير مسموح به:

*   تُستبدل المحارف غير المسموح بها بشرطات سفلية،

*   يُولد رقم -n،

  تضارب الأسماء

عند كتابة ملف إلى القرص، قد يتعارض اسمه الطويل أو القصير مع ملف أو دليل موجود بالفعل. قد يحدث هذا مع جميع الأوامر التي تنشئ مدخلات أدلة جديدة، مثل mcopy و mmd و mren و mmove. عندما يحدث تضارب في الأسماء، يسألك mtools عما يجب فعله، ويقدم عدة خيارات:

استبدال
    يستبدل الملف الموجود. لا يمكن استبدال دليل بملف.

إعادة تسمية
    يعيد تسمية الملف المنشأ حديثًا. يطلب Mtools اسم الملف الجديد

autorename
    يعيد تسمية الملف المنشأ حديثًا. يختار Mtools اسمًا بنفسه، دون طلب ذلك

skip
    يتخلى عن هذا الملف، وينتقل إلى الملف التالي (إن وجد)

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

يمكنك أيضًا اختيار إجراءات (لكل الملفات) من سطر الأوامر عند استدعاء mtools:

-D o
    يستبدل الأسماء الرئيسة مبدئيًا.

-D O
    يستبدل الأسماء الثانوية مبدئيًا.

-D r
    يعيد تسمية الاسم الرئيس مبدئيًا.

-D R
    يعيد تسمية الاسم الثانوي مبدئيًا.

-D a
    يعيد تسمية الاسم الرئيس آليًا مبدئيًا.

-D A
    يعيد تسمية الاسم الثانوي آليًا مبدئيًا.

-D s
    يتخطى الاسم الرئيس مبدئيًا.

-D S
    يتخطى الاسم الثانوي مبدئيًا.

-D m
    يسأل المستخدم عما يجب فعله بالاسم الرئيس.

-D M
    يسأل المستخدم عما يجب فعله بالاسم الثانوي.

لاحظ أن المحارف الصغيرة/الكبيرة في مفاتيح سطر الأوامر تفرق بين الاسم الرئيس والثانوي، بينما في الاختيارات التفاعلية، تفرق المحارف الصغيرة/الكبيرة بين "هذه المرة فقط" و "دائمًا".

الاسم الرئيس هو الاسم كما يُعرض في ويندوز 95 أو ويندوز NT: أي الاسم الطويل إن وجد، والاسم القصير بخلاف ذلك. والاسم الثانوي هو الاسم "المخفي"، أي الاسم القصير إذا وجد اسم طويل.

مبدئيًا، يُطلب من المستخدم التدخل إذا تعارض الاسم الرئيس، بينما يُعاد تسمية الاسم الثانوي آليًا.

إذا حدث تضارب في الأسماء في دليل يونكس، فإن mtools يسأل فقط عما إذا كان سيتم استبدال الملف أو تخطيه.

  حساسية حالة الأحرف في نظام ملفات VFAT

يستطيع نظام الملفات VFAT تذكر حالة الأحرف لأسماء الملفات. ومع ذلك، لا يُسمح بوجود أسماء ملفات تختلف فقط في حالة الأحرف في الدليل نفسه. على سبيل المثال، إذا خزنت ملفًا باسم LongFileName على نظام ملفات VFAT، فإن mdir سيعرض هذا الملف كـ LongFileName، وليس كـ Longfilename. ومع ذلك، إذا حاولت لاحقًا إضافة LongFilename إلى الدليل نفسه، فستُرفض المحاولة لأن حالة الأحرف تُتجاهل عند فحص التضارب.

يسمح نظام الملفات VFAT بتخزين حالة أحرف اسم الملف في بايت السمة، إذا كانت جميع أحرف اسم الملف من الحالة نفسها، وإذا كانت جميع أحرف الامتداد من الحالة نفسها أيضًا. يستخدم Mtools هذه المعلومات عند عرض الملفات، وأيضًا لتوليد اسم ملف يونكس عند النسخ إلى دليل يونكس. قد يؤدي هذا إلى نتائج غير متوقعة عند تطبيقه على ملفات كُتبت باستخدام إصدار DOS أقدم من 7.0: ففي الواقع، تتحول أسماء الملفات بالنمط القديم إلى أحرف كبيرة بالكامل. وهذا يختلف عن سلوك الإصدار القديم من mtools الذي كان يولد أسماء ملفات يونكس بأحرف صغيرة.

  تنسيقات عالية السعة

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

لتنسيق هذه الأقراص، تحتاج إلى استخدام أداة خاصة بنظام التشغيل. بالنسبة لـ لينكس، يمكن العثور على أدوات الأقراص المرنة المناسبة في حزمة fdutils في المواقع التالية~:

http://www.fdutils.linux.lu/.

انظر صفحات الدليل المضمنة في تلك الحزمة لمزيد من التفاصيل: استخدم superformat لتنسيق جميع التنسيقات باستثناء XDF، واستخدم xdfcopy لتنسيق XDF.

  قطاعات أكثر

تتمثل أقدم طريقة لتضمين مزيد من البيانات في القرص في استخدام قطاعات وأسطوانات أكثر. على الرغم من أن التنسيق القياسي يستخدم 80 أسطوانة و 18 قطاعًا (على قرص عالي الكثافة 3 1/2)، فمن الممكن استخدام ما يصل إلى 83 أسطوانة (في معظم المحركات) وما يصل إلى 21 قطاعًا. تسمح هذه الطريقة بتخزين ما يصل إلى 1743 كيلوبايت على قرص عالي الكثافة سعة 3 1/2. ومع ذلك، فإن الأقراص ذات 21 قطاعًا تكون أبطأ بمرتين من الأقراص القياسية ذات 18 قطاعًا لأن القطاعات معبأة بشكل متقارب جدًا مما يضطرنا إلى تداخلها. هذه المشكلة غير موجودة في التنسيقات ذات 20 قطاعًا.

هذه التنسيقات مدعومة بالعديد من أدوات DOS المشاركة مثل fdformat و vgacopy. في غطرسته اللامحدودة، اعتقد بيل غيتس$ أنه اخترع هذا، وأطلق عليه `أقراص DMF'، أو `أقراص منسقة بواسطة ويندوز'. ولكن في الواقع، كانت موجودة قبل ذلك بسنوات! يدعم Mtools هذه التنسيقات في لينكس، و SunOS، وحاسوب DELL Unix.

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

تسمح هذه الطريقة بتخزين ما يصل إلى 1992 كيلوبايت على قرص عالي الكثافة سعة 3 1/2.

يدعم Mtools هذه التنسيقات في لينكس فقط.

  2m

تنسيق 2m اخترعه في الأصل سيرياكو غارسيا دي سيليس. ويستخدم أيضًا قطاعات أكبر من المعتاد لتناسب المزيد من البيانات في القرص. ومع ذلك، فإنه يستخدم التنسيق القياسي (18 قطاعًا سعة كل منها 512 بايت) في الأسطوانة الأولى لجعل هذه الأقراص أسهل في التعامل مع DOS. في الواقع، تتيح لك هذه الطريقة الحصول على قطاع إقلاع بحجم قياسي يحتوي على وصف لكيفية قراءة بقية القرص.

ومع ذلك، فإن العيب في ذلك هو أن الأسطوانة الأولى يمكنها استيعاب بيانات أقل من غيرها. لسوء الحظ، لا يمكن لـ DOS التعامل إلا مع الأقراص التي يحتوي فيها كل مسار على الكمية نفسها من البيانات. ولذلك يخفي 2m حقيقة أن المسار الأول يحتوي على بيانات أقل باستخدام ظلال FAT. (عادةً ما يخزن DOS جدول FAT في نسختين متطابقتين لمزيد من الأمان، بينما يخزن XDF نسخة واحدة فقط ولكنه يخبر DOS بأنه يخزن نسختين، وبالتالي توفر المساحة التي كانت ستشغلها النسخة الثانية من جدول FAT). وهذا يعني أيضًا أنه يجب عليك ألا تستخدم قرص 2m أبدًا لتخزين أي شيء آخر غير نظام ملفات DOS.

يدعم Mtools هذه التنسيقات في لينكس فقط.

  XDF

XDF هو تنسيق عالي السعة يستخدمه نظام OS/2. يمكنه استيعاب 1840 كيلوبايت لكل قرص. هذا أقل من أفضل تنسيقات 2m، لكن ميزته الرئيسة هي السرعة: 600 مللي ثانية لكل مسار. هذا أسرع من تنسيق 21 قطاعًا، وتقريبًا بنفس سرعة التنسيق القياسي ذي 18 قطاعًا. للوصول إلى هذه الأقراص، تأكد من تجميع mtools مع دعم XDF، واضبط متغير use_xdf للمحرك في ملف الإعداد. انظر قسم تجميع mtools، و `المتغيرات المتنوعة' للحصول على تفاصيل حول كيفية القيام بذلك. الوصول السريع لـ XDF متاح فقط لنوى لينكس الأحدث من 1.1.34.

يدعم Mtools هذا التنسيق في لينكس فقط.

تحذير / تنبيه للموزعين: إذا جُمع mtools على نواة لينكس أحدث من 1.3.34، فلن يعمل على النوى الأقدم. ومع ذلك، إذا جُمع على نواة أقدم، فإنه سيظل يعمل على النوى الأحدث، باستثناء أن الوصول إلى XDF سيكون أبطأ. يُوصى بأن يدرج مؤلفو التوزيعات فقط ثنائيات mtools المجمعة على نوى أقدم من 1.3.34 حتى يصدر الإصدار 2.0. وعند صدوره، يمكن (ويجب) توزيع ثنائيات mtools المجمعة على نوى أحدث. علمًا بأن ثنائيات mtools المجمعة على نوى أقدم من 1.3.34 لن تعمل على أي نواة إصدار 2.1 أو أحدث.

  رموز الخروج
تُرجع جميع أوامر Mtools القيمة 0 عند النجاح، أو 1 عند الفشل التام، أو 2 عند الفشل الجزئي. تجري جميع أوامر Mtools بعض الفحوصات المنطقية قبل البدء للتأكد من أن القرص هو بالفعل قرص MS-DOS (وليس قرص ext2 أو MINIX على سبيل المثال). قد ترفض هذه الفحوصات الأقراص التالفة جزئيًا التي قد تظل قابلة للقراءة. لتجنب هذه الفحوصات، اضبط متغير البيئة MTOOLS_SKIP_CHECK أو متغير ملف الإعداد المقابل (انظر قسم المتغيرات العامة).

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

يتعطل كود فحص FAT عند التعامل مع أقراص سعة 1.72 ميجابايت المنسقة باستخدام إصدارات mtools أقدم من 2.0.7. اضبط متغير البيئة MTOOLS_FAT_COMPATIBILITY (أو متغير ملف الإعداد المقابل، `المتغيرات العامة') لتجاوز فحص FAT.

  الاعتمادات

الكود الأصلي لـ mtools (حتى الإصدار 2.0.7؟) طوره إيميت ب. غراي (تكساس، الولايات المتحدة الأمريكية).

ساهم ديفيد س. نيمي في دعم VFAT وساعد في صيانة mtools.

تستخدم عملية حزم mtools نسخة معدلة من أداة texi2roff الخاصة ببيفرلي أ. إيرلباخر لتحويل وثائق texi إلى صفحات دليل.

انظر أيضًا
floppyd_installtest mattrib mbadblocks mcd mcopy mdel mdeltree mdir mdoctorfat mdu mformat minfo mkmanifest mlabel mmd mmount mmove mrd mren mshortname mshowfat mtoolstest mtype

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

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

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