اكتشف تصادمات أسماء الملفات الحساسة لحالة الأحرف عن طريق جرد كل مسار نسبي، تطبيع كل مسار وفقًا لقواعد المقارنة في الوجهة، وتجميع المسارات التي تنتج نفس المفتاح المطبع. حل كل مجموعة قبل نسخ البيانات.
هذا الفحص المسبق ضروري عند الانتقال من مشاركة Linux الحساسة لحالة الأحرف إلى ويندوز، أو وحدات macOS الافتراضية، أو مساحات أسماء SMB غير الحساسة لحالة الأحرف. لن يكشف عدد الملفات العادي أن اسمين صالحين في المصدر يتنافسان على اسم واحد في الوجهة.
ما الذي يُعتبر تصادم اسم ملف؟
يحدث تصادم عندما تُعامل مسارات المصدر المختلفة كمسار واحد من قبل الوجهة. تذكير عملي حول اختلافات حساسية الحالة عبر الأنظمة الأساسية يوضح لماذا قد يتصرف Report.pdf وreport.pdf بشكل مختلف، لكن يجب أن يشمل المقارنة كل مكون من مكونات الدليل.
يمكن أن تشمل النزاعات عبر الأنظمة الأساسية أيضًا تطبيع يونيكود، الفراغات أو النقاط في النهاية، أسماء الأجهزة المحجوزة، والأحرف التي تحظرها وجهة واحدة. أسباب تغير أسماء الملفات بين macOS وLinux تنتمي إلى نفس تدقيق توافق المسارات.
حدد الهدف قبل الفحص. قد يكشف النسخ إلى ext4 أو NTFS أو مجموعة بيانات مدعومة بـ SMB عن سلوك تسمية مختلف. هذا مرتبط بسبب اختلاف سلوك SMB عبر العملاء.
ما أنواع التصادم التي يجب أن يبلغ عنها تقرير الفحص المسبق؟
فصل فئات التصادم حتى يكون التصحيح متوقعًا. يمكن عادةً إعادة تسمية زوج حالة فقط، بينما قد يتطلب اسم ويندوز المحجوز إعادة تسمية وتحديث مرجع التطبيق.
| نوع التصادم | مثال | لماذا النسخ غير آمن |
|---|---|---|
| حالة فقط |
صورة.jpg و photo.jpg
|
الوجهة غير الحساسة لحالة الأحرف ترى اسمًا واحدًا |
| حالة مكون الدليل |
العميل/A و العميل/A
|
يمكن دمج أشجار فرعية كاملة |
| تطبيع يونيكود | أسماء مركبة ومفككة متطابقة بصريًا | قد تقوم أنظمة macOS وطبقات الشبكة بالتطبيع بشكل مختلف |
| الأحرف المقتطعة |
ملاحظات و ملاحظات.
|
بعض مسارات ويندوز تتجاهل النقاط أو الفراغات في نهايتها |
| اسم محجوز | CON.txt |
قد ترفض واجهة برمجة التطبيقات الوجهة الإنشاء |
يجب أن يحافظ التقرير على مسار المستوى البايت الأصلي ويعرض شكلاً قابلاً للقراءة. قد تبدو أسماء يونيكود المتطابقة بصريًا كسطر مكرر بدلاً من مدخلين مصدرين مميزين.
كيف تبني جرد مصدر موثوق؟
شغّل الجرد على نظام الملفات المصدر أو من خلال نفس البروتوكول المستخدم للترحيل. صدّر المسارات النسبية بتنسيق يتعامل بأمان مع الفراغات، علامات التبويب، الأسطر الجديدة، والأحرف غير ASCII.
اشمل الأدلة لأن اسم دليلين متصادمين يمكن أن يخفي آلاف الملفات المتأثرة. سجل نوع الكائن، الحجم، وقت التعديل، ومعرفًا ثابتًا عند توفره حتى يمكن تتبع العناصر المعاد تسميتها.
قم بتجميد الكتابات أو أخذ لقطة قبل الفحص النهائي. إذا تغيرت الأسماء بين الجرد والنسخ، فقد يصبح الفحص المسبق النظيف قديمًا قبل بدء الترحيل.
كيف يجب تطبيع المسارات للمقارنة؟
ابدأ بسلوك طي الحالة الخاص بالوجهة. قارن مفتاحًا بحروف صغيرة أو مطوي الحالة مع الاحتفاظ بالمسار الأصلي للتقرير. لا تعيد تسمية المصدر تلقائيًا خلال هذه الخطوة.
ثم أضف قواعد خاصة بالوجهة: تطبيع يونيكود، معالجة الفواصل، الأحرف المحظورة، اللواحق المقتطعة، حدود طول المسار، والأسماء المحجوزة. قد يؤدي التطبيع بشكل أكثر صرامة من الوجهة إلى إيجابيات كاذبة، في حين أن التطبيع بشكل أقل قد يفوت التصادمات المدمرة.
طبق التطبيع على كل مكون من مكونات المسار. لا يزال ملفان باسمين مختلفين يتصادمان إذا انهارت أدلة الوالدين إلى نفس المسار المطبع.
ماذا يمكنك تشغيله على لينكس أو macOS أو ويندوز؟
على نظام لينكس أو macOS، يمكن لبرنامج نصي قراءة المسارات المفصولة بصفر، وحساب مفتاح الوجهة، والفرز حسب هذا المفتاح، والإبلاغ عن المجموعات التي تحتوي على أكثر من مسار أصلي واحد. توضح الطرق المنشورة لـ العثور على أسماء ملفات مكررة بأي حالة منطق التجميع، لكن الأرشيفات متعددة اللغات تحتاج إلى معالجة يونيكود صريحة.
find /source -print0 | python3 collision_scan.py --target windows
على نظام ويندوز، يمكن لـ PowerShell تعداد المسارات النسبية وتجميعها باستخدام مقارنة غير حساسة لحالة الأحرف. قم بتشغيله على المشاركة المصدرية باستخدام حساب يمكنه رؤية كل دليل مقصود.
Get-ChildItem -LiteralPath '\\NAS\Source' -Recurse -Force |
ForEach-Object { $_.FullName.Substring($root.Length).ToLowerInvariant() } |
Group-Object | Where-Object Count -gt 1
توضح هذه الأمثلة نموذج التجميع، وليست ماسحًا عالميًا. يجب أن تحافظ الفحوصات الإنتاجية على النسخ الأصلية، وتعالج المسارات غير المتاحة، وتطبق قواعد التسمية الكاملة للوجهة.
كيف يجب أن تحل مجموعات التصادم؟
اختر اسمًا رسميًا مع مالك البيانات، ثم أعد تسمية المسارات الأخرى باستخدام لاحقة حتمية مثل رمز المشروع، التاريخ، أو وسم نظام المصدر. تساعد قواعد التسمية لخادم المنزل المتسقة على تجنب اللواحق العشوائية.
- صدر مجموعة التصادم والقسم أو التطبيق المالك لها.
- اختر المسار الذي يحتفظ بالتهجئة الرسمية.
- أعد تسمية المسارات المتصادمة في المصدر أو في نسخة مؤقتة.
- قم بتحديث قوائم التشغيل، وقواعد البيانات، والاختصارات، والبرمجيات النصية، وقوائم الجرد التي تشير إليها.
- أعد تشغيل الفحص الكامل حتى لا تبقى مجموعات تعيق العملية.
لا تسمح لأداة النسخ باتخاذ القرار بصمت حسب ترتيب الكتابة فوق. حتى لو كان محتوى الملفين متماثلاً، فإن دمج الأسماء بصمت يدمر الأدلة حول مساحة الأسماء الأصلية.
كيف تتحقق من أن النسخ لم يدمج المسارات؟
التقط قائمة جرد قبل النسخ بعد المعالجة وأنشئ قائمة جرد للوجهة بنفس قواعد المسار النسبي. قارن مجموعات المسارات الموحدة، وعدد الكائنات، والأحجام، وهاشات المحتوى للملفات الحرجة.
راجع سجلات النسخ للرسائل مثل "موجود بالفعل"، إعادة التسمية، التخطي، الاسم غير صالح، وأحداث الكتابة فوق. قد يصاحب رمز الخروج صفر تخطي المسارات حسب الأداة.
احتفظ بالمصدر للقراءة فقط حتى يتحقق المستخدمون من سلوك التطبيق. تشمل توافق مساحة الأسماء الروابط والمراجع، وليس فقط وجود بايتات الملف.
الأسئلة الشائعة
هل يمكن أن يوجد اسما ملفين يختلفان فقط في حالة الأحرف على لينكس؟
عادةً نعم على أنظمة ملفات لينكس الحساسة لحالة الأحرف الشائعة. قد تتصادم عند نسخها إلى وجهة غير حساسة لحالة الأحرف أو عند عرضها من خلال خدمة مهيأة بشكل مختلف.
هل تحويل كل اسم ملف إلى أحرف صغيرة هو حل آمن؟
لا. قد يؤدي تحويل النصوص إلى أحرف صغيرة بشكل جماعي إلى إنشاء تصادمات جديدة وكسر المراجع. اكتشف المجموعات أولاً، ثم طبق إعادة تسمية مراجعة وحتمية.
هل تكتشف مجموعات التحقق تصادم أسماء الملفات؟
تقوم مجموعات التحقق بمقارنة المحتوى، وليس هوية مساحة الأسماء. يمكن لمسارين مختلفين أن يحتويان على محتوى مختلف أو متماثل ولا يزالان يتنافسان على اسم وجهة واحد.
يثبت النسخ الآمن عبر الأنظمة أن كل مسار مصدر يطابق مسار وجهة فريد وصحيح. قم بإجراء هذا الإثبات قبل النقل بدلاً من اكتشاف التصادمات من خلال الملفات التي تم الكتابة فوقها.
الدعم والنصائح
المزيد للقراءة

لماذا يصبح مصفوف RAID غير نشط بعد انقطاع التيار الكهربائي؟
غالبًا ما تعني المصفوفة غير النشطة أنه تم العثور على بيانات وصفية ولكن النظام لم يكن لديه ثقة كافية أو أعضاء كافون لبدء تشغيلها...

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

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

