dwipe
dwipe هي أداة لمسح الأقراص والأقسام على Linux للمساعدة في تأمين بياناتك. تهدف dwipe إلى تقليل الأخطاء من خلال توفير معلومات وافرة عن أجهزتك أثناء الاختيار.

مقارنة سريعة
| الميزة | dwipe | nwipe | shred | dd |
|---|
| مسح البرامج الثابتة (SATA/NVMe secure erase) | ✓ | ✗ | ✗ | ✗ |
| المسح البرمجي (Zero، Pseudo Random) | ✓ | ✓ | ✓ | ✗ |
| واجهة TUI تفاعلية | ✓ | ✓ | ✗ | ✗ |
| عمليات مسح متعددة متزامنة | ✓ | ✗ | ✗ | ✗ |
| حالة مسح دائمة | ✓ | ✗ | ✗ | ✗ |
| اكتشاف/تحرير التبديل الساخن | ✓ | ✗ | ✗ | ✗ |
| حظر الأجهزة/الأقسام | ✓ | ✗ | ✗ | ✗ |
| استئناف عمليات المسح البرمجي المتوقفة | ✓ | ✗ | ✗ | ✗ |
| تسجيل عمليات المسح | ✓ | ✗ | ✗ | ✗ |
| اكتشاف Mount و LUKS/LVM/RAID/swap | ✓ | ✓ | ✗ | ✗ |
| التحقق السريع بالمعاينة الإحصائية | ✓ | ✗ | ✗ | ✗ |
| التدمير المعتمد (معايير DoD/Gutmann، تحقق كامل، شهادات) | ✗ | ✓ | ✗ | ✗ |
- مسح البرامج الثابتة (SATA/NVMe) هو الأكثر اكتمالاً والأسرع: يعمل المسح المعجل بالعتاد على مستوى المتحكم (ثوانٍ إلى دقائق)، ويمسح جميع تعيينات القرص، لكنه يتطلب مسح الجهاز بالكامل دون تقارير تقدم أو تحقق مرئي.
- المسح البرمجي بتمريرة واحدة من الأصفار كافٍ: الأقراص الحديثة (بعد 2001) تُمسح بشكل موثوق بتمريرة واحدة من الأصفار (NIST SP 800-88). تتوفر أوضاع متعددة التمريرات لمزيد من الثقة لكنها لا توفر ضماناً أمنياً إضافياً.
- يستخدم التحقق المعاينة الإحصائية الذكية: حتى التحقق بنسبة 1% يأخذ عينات من القرص بأكمله عبر 100 قسم، مما يوفر تغطية شاملة دون قراءة تسلسلية كاملة.
الميزات البارزة
- واجهة TUI تفاعلية مع اكتشاف التبديل الساخن - تحديثات قائمة الأجهزة في الوقت الفعلي عند تغير التخزين، والأجهزة المضافة حديثاً تُعلَّم بـ ^
- مسح البرامج الثابتة المعجل بالعتاد - دعم كامل لعمليات المسح الآمن على مستوى البرامج الثابتة (NVMe Sanitize/Format، SATA ATA Security Erase) التي تكتمل في ثوانٍ إلى دقائق بدلاً من ساعات
- عمليات مسح متعددة متزامنة - ابدأ عمليات المسح على أجهزة متعددة في وقت واحد مع تتبع تقدم فردي وحالات إكمال
- تتبع الحالة الدائم - تبقى حالة المسح بعد إعادة التشغيل؛ تستمر حالات المسح الجزئي والمكتمل على الجهاز (يمكن استئناف عمليات المسح عبر دورات الطاقة)
- تحديد ذكي للأجهزة - يستخدم UUID/PARTUUID/الأرقام التسلسلية لتتبع مستقر للأجهزة عبر إعادة الاتصال
- حمايات السلامة - يمنع مسح الأجهزة المثبتة أو المستخدمة (بما في ذلك حاويات LUKS/LVM/RAID و swap)، ويكتشف عمليات المسح المتداخلة، ويدعم حظر الأجهزة، ومطالبات التأكيد المضمّنة
- تحقق ذكي مع المعاينة الإحصائية - تحقق سريع يغطي القرص بأكمله حتى عند النسب المنخفضة (تحقق بنسبة 1% يأخذ عينات من جميع أقسام القرص المئة)
- إدخال/إخراج مباشر إلى القرص - مسح سريع وفعّال يتجنب تلويث ذاكرة التخزين المؤقت مع اكتشاف تلقائي للتباطؤ/التوقف وإلغاء سلس
- سمات ألوان متعددة - سمات ألوان الطرفية مصممة لقابلية القراءة مع ردود فعل بصرية حساسة للسياق (الأجهزة المثبتة باهتة، وعمليات المسح النشطة ساطعة)
- سجل المسح مع التسجيل - عارض سجل مسح مفصّل يعرض الطوابع الزمنية وأنظمة الملفات والتسميات ونسب الإكمال مع سجلات دائمة
المتطلبات
- نظام تشغيل Linux (يستخدم واجهات
/dev/، /sys/، /proc/)
- Python 3.10 أو أعلى
- صلاحيات Root/sudo (تُطلب تلقائياً عند تشغيل الأداة)
- أداة lsblk (عادةً مثبتة مسبقاً على معظم توزيعات Linux)
- nvme-cli - لعمليات NVMe (اكتشاف Sanitize/Format)
- hdparm - لعمليات SATA (اكتشاف ATA Security Erase)
اختياري (لنسخ الحافظة في شاشة السجل):
- xclip أو xsel - لحافظة X11 (
apt install xclip أو xsel)
- wl-clipboard - لحافظة Wayland (
apt install wl-clipboard)
- جلسات SSH تستخدم OSC 52 terminal escape (لا حاجة لحزم إضافية)
التثبيت
- موصى به (باستخدام pipx):
pipx install dwipe
- التحقق من التثبيت:
dwipe --help
- إلغاء التثبيت:
pipx uninstall dwipe
البدء السريع (يرجى قراءة هذا، على الأقل)
- ثبّت
dwipe
- شغّل
dwipe من الطرفية (سيُطلب sudo تلقائياً)
- لاحظ المساعدة الحساسة للسياق في السطر الأول
- تنقّل بمفاتيح الأسهم أو مفاتيح شبيهة بـ vi (j/k)
- اضغط ? لشاشة المساعدة الكاملة
- عند الضغط على
w لمسح قرص، يجب عليك كتابة الاختصار (مثل Rand، Zero، Crypto)؛ تُعرض عمليات المسح من الأقل إلى الأكثر توصية، والأخيرة معلَّمة بـ *. عادةً، اختر الخيار الأخير، لكن ...
- غالباً ما تكذب الأقراص ونظام التشغيل بشأن نوع القرص. تغلّب على كليهما:
- لأقراص HDD الدوارة، استخدم دائماً
Rand أو Zero (قابلة للمقاطعة، تُظهر التقدم).
- لأقراص SSD، استخدم دائماً مسح البرامج الثابتة إن توفر (أسرع، يصل إلى الكتل المخفية).
- إذا كان القرص 'Frozen'، علّق نظامك لفترة وجيزة ثم استأنف؛ تكتشف
dwipe الاستئناف تلقائياً وتعيد الفحص. أو اضغط r لإعادة الفحص يدوياً. يجب أن يعود القرص غير مجمّد.
- إذا كان القرص 'Locked'، يجب عليك إلغاء قفله يدوياً (انظر قسم "Unlock Locked Device" أدناه). إذا قامت
dwipe بقفله، فكلمة المرور هي NULL؛ وإلا استخدم كلمة المرور التي قفلته.
- سير عمل التبديل الساخن لأقراص SATA:
DEL للفصل، ثم استبدل الأقراص فيزيائياً، ثم r لإعادة الفحص (إذا لزم الأمر).
الميزات
توفر dwipe قدرات شاملة لمسح الأقراص مع ميزات السلامة:
- عرض ذكي للأجهزة - يعرض الأقراص والأقسام مع التسميات والأحجام والأنواع ومعلومات الشركة المصنعة/الطراز للمساعدة في تحديد الأجهزة بشكل صحيح
- حمايات السلامة - يمنع مسح الأجهزة المثبتة أو المستخدمة (بما في ذلك حاويات LUKS/LVM/RAID و swap)، ويكتشف عمليات المسح المتداخلة، ويدعم حظر الأقراص يدوياً
- اكتشاف التبديل الساخن - يحدّث قائمة الأجهزة عند تغير التخزين؛ الأجهزة المضافة حديثاً تُعلَّم بـ ^ لتسهيل اكتشافها
- عمليات مسح متعددة متزامنة - ابدأ عمليات المسح على أجهزة متعددة في وقت واحد، مع تتبع تقدم فردي وحالات إكمال
- أوضاع مسح مرنة - اختر بين Rand، Zero، Rand+V (مع تحقق تلقائي)، أو Zero+V (مع تحقق تلقائي)
- تصفية الأجهزة - صفّي الأجهزة بالاسم/النمط باستخدام regex في حال وجود عدد كبير جداً لشاشة واحدة
- قدرة الإيقاف - أوقف عمليات المسح الفردية أو جميع عمليات المسح الجارية
- حظر الأقراص - احظر الأقراص يدوياً لمنع المسح العرضي (الحظر يخفي جميع الأقسام)
ملاحظة: تعرض dwipe تسميات نظام الملفات، وإن لم تكن متوفرة، تسمية القسم. من أفضل الممارسات تسمية الأقسام وأنظمة الملفات جيداً لتسهيل الاختيار.
الاستخدام
ببساطة شغّل dwipe من سطر الأوامر بدون وسائط: dwipe
خيارات سطر الأوامر
ملاحظة: جميع خيارات التفضيلات تستخدم آخر قيم محفوظة كإعدادات افتراضية. تُعرض هذه الإعدادات الافتراضية في --help ويمكن تغييرها تفاعلياً باختصارات لوحة المفاتيح. وسائط سطر الأوامر تتجاوز التفضيلات المحفوظة.
إعدادات المسح
--mode {-V,+V} - وضع التحقق (افتراضي: آخر تفضيل لك)
-V - المسح دون تحقق تلقائي
+V - التحقق من الجهاز بعد اكتمال المسح
--passes {1,2,4} - عدد التمريرات للمسح البرمجي (افتراضي: آخر تفضيل لك)
- تمريرة واحدة (1) هي المعيار لمعظم حالات الاستخدام
- تمريرات متعددة (2 أو 4) تتناوب بين أنماط الأصفار والعشوائية
--verify-pct {1,3,10,30,100} - نسبة التحقق (افتراضي: آخر تفضيل لك)
- نسبة القرص المراد التحقق منه بعد المسح (1% = فحص سريع، 100% = تحقق كامل)
العرض والأداء
--dense {True,False} - وضع العرض المضغوط (افتراضي: آخر تفضيل لك)
True - تباعد مضغوط (أسطر فارغة أقل بين الأقراص)
False - عرض متباعد (أسطر فارغة بين الأقراص لقابلية القراءة)
--port-serial {Auto,On,Off} - عرض منفذ/رقم تسلسلي للقرص (افتراضي: آخر تفضيل لك)
Auto - إظهار المنفذ/الرقم التسلسلي للأقراص الكاملة فقط (موصى به)
On - إظهار المنفذ والرقم التسلسلي دائماً
Off - عدم إظهار المنفذ والرقم التسلسلي أبداً
ضبط التعامل مع الأقراص
--slowdown-stop {0,4,16,64,256} - التوقف إذا تباطأ القرص (افتراضي: آخر تفضيل لك، بالمللي ثانية)
0 = معطّل
- قيم أخرى = فاصل الفحص بالمللي ثانية لتدهور الأداء
--stall-timeout {0,60,120,300,600} - مهلة التوقف بالثواني (افتراضي: آخر تفضيل لك)
0 = معطّل (لا مهلة أبداً)
- قيم أخرى = أوقف المسح إذا لم يكن هناك تقدم في نقل البيانات لهذا العدد من الثواني