Findlargedir-Go هو اختراق سريع يهدف إلى المساعدة في تحديد أدلة "الثقب الأسود" على أي نظام ملفات يحتوي على أكثر من 100000 مشاركة في بنية مسطحة واحدة. سيحاول البرنامج تحديد أي عدد من هذه الأحداث والتقرير عنها.
لن يتبع البرنامج Symlinks ويتطلب أذونات R/W أن تكون قادرة على حساب حجم inode الدليل إلى عدد نسبة الإدخالات وتقدير عدد من الإدخالات في الدليل دون حسابها فعليًا. في حين أن هذه الطريقة هي مجرد تقريب للعدد الفعلي للإدخالات في الدليل ، إلا أنه من الجيد بما يكفي للمسح الضوئي للدلالات المسيرة بسرعة.
-a ) في الإفراط في الإدخال/الإخراج واستخدام الذاكرة المفرط ؛ استخدم فقط عند الاقتضاء-7 ) بسبب الاختلافات في هيكل kernel stat-x ) هناك طريقتان لتثبيت FindLargedir -Go: هناك طريقتان لتثبيت findlargedir-go: قم بتنزيل نكهةك المفضلة من صفحة الإصدارات وتثبيتها يدويًا.
go get https://github.com/dkorunic/findlargedir-goالاستخدام:
Usage: findlargedir [-7ahopx] [-c value] [-t value] [parameters ...]
-7, --isilon enable support for EMC Isilon OneFS 7.x
-a, --accurate full accuracy when checking large directories
-c, --testcount=value
set initial file count for inode size testing phase (default
20000)
-h, --help display help
-o, --onefilesystem
never cross filesystem boundaries
-p, --progress display progress status every 5 minutes
-t, --threshold=value
set file count threshold for alerting (default 50000)
-x, --cloexec disable open O_CLOEXEC for really ancient Unix systems عند استخدام الوضع الدقيق (المعلمة -a ) ، احذر أن عمليات البحث الكبيرة في الدليل ستوقف العملية تمامًا لفترات طويلة من الوقت. ما يفعله هذا الوضع هو في الأساس تمريرة ثانوية دقيقة تمامًا على دليل محتمل ربما يحسب العدد الدقيق للإدخالات.
عندما لا يكون متأكدًا من تقدم البرنامج ، لا تتردد في إرسال إشارات عملية SIGUSR1 أو SIGUSR2 (على Windows حاول مع ^C) لرؤية آخر مسار معالج أو استخدام علامة التقدم (المعلمة -p ) لرؤية تحديثات الحالة المستمرة لمدة 5 دقائق.
إذا كنت تحاول تشغيله على EMC ISILON ONEFS> = 7.1 و <8.0 (استنادًا إلى FreeBSD 7.4) ، تأكد من إضافة وضع ISILON مع المعلمة -7 وإلا سيقوم البرنامج باكتشاف ST_SIZE غير صالح وتخطي جميع أنظمة الملفات. لا تتطلب إصدارات Onefs 8.0+ استخدام المعلمة -7 . هذا سوف يعمل فقط على 386 و AMD64 منصات.
إذا كان لديك نظام FreeBSD القديم (<8.3) أو مشتق مثل EMC Isilon Onefs (<7.2) وفشل البرنامج في إنشاء ملفات مؤقتة ، فحاول استخدام وضع Cloexec مع المعلمة -x . هذا سوف يعمل فقط على 386 و AMD64 منصات.
إذا كنت ترغب في تجنب النزول إلى أنظمة ملفات مثبتة (كما في Find -XDEV Option) ، استخدم وضع OneFileSystem مع المعلمة -o . هذا لن يعمل على Windows ولكن.
حالة الاستخدام النموذجية للعثور على المجرمين المحتملين على عدة أنظمة الملفات:
root@box: ~ # findlargedir -c 10000 -t 50000 -a /var /home
2018/09/04 08:13:16 Note: program will attempt to alert on directories larger than 50000 entries by default.
2018/09/04 08:13:16 Determining inode to file count ratio on " /var " . Please wait, creating 10000 files...
2018/09/04 08:13:16 Done. Approximate directory inode size to file count ratio on " /var " is 26.2144.
2018/09/04 08:13:21 Found 0 large directories in " /var " .
2018/09/04 08:13:21 Determining inode to file count ratio on " /home " . Please wait, creating 10000 files...
2018/09/04 08:13:21 Done. Approximate directory inode size to file count ratio on " /home " is 27.0336.
2018/09/04 08:13:21 Directory " /home/user/torrent " is possibly a large directory with ~ 100k entries.
2018/09/04 08:13:21 Calculating " /home/user/torrent " directory exact entry count. Please wait...
2018/09/04 08:13:21 Done. Directory " /home/user/torrent " has exactly 99164 entries.
2018/09/04 08:13:21 Found 1 large directories in " /home " .