باقِت باش (BagIT Bash)

تنفيذ لمعيار BagIT باستخدام صدفة Bash

BagIT Bash

bagit-bash هو تنفيذ لمعيار BagIT باستخدام صدفة Bash

الهدف من هذا المشروع هو إنشاء تنفيذ كامل لمواصفات BagIT في صدفة Bash. تم تعريف مواصفات BagIT بموجب RFC 8493 ويهدف هذا المشروع إلى تحقيق التكافؤ في الميزات مع تنفيذ BagIT بلغة Python.

المتطلبات

يتطلب Bash 4.0 أو أحدث

التحقق من إصدار Bash

bash --version

المميزات

  • إنشاء حقائب BagIt من مجلد.
  • التحقق من صحة حقائب BagIt الموجودة.
  • دعم مجموعة واسعة من خوارزميات التحقق بما في ذلك MD5، SHA-1، SHA-256، SHA-512، SHAKE-128، SHAKE-256، SHA3-224، SHA3-256، SHA3-384، SHA3-512، BLAKE2b، BLAKE2s، SHA-224، وSHA-384.
  • وضع التحقق السريع للتحقق من payload-oxum فقط.
  • وضع التحقق من الاكتمال فقط للتحقق من اكتمال الحمولة دون التحقق من المجموع الاختباري.
  • حساب المجموع الاختباري بشكل متوازٍ لمعالجة أسرع.
  • دعم إضافة حقول بيانات وصفية اختيارية متنوعة لـ BagIt.

الاستخدام

./bagit.sh [options] <directory>

الخيارات

  • -h, --help: عرض رسالة المساعدة.
  • -v, --version: عرض الإصدار والخروج.
  • -p, --processes PROCESSES: استخدام عمليات متعددة لحساب المجموع الاختباري بشكل أسرع (الافتراضي: 1).
  • -l, --log LOG: اسم ملف السجل (الافتراضي: stdout).
  • -q, --quiet: إخفاء جميع معلومات التقدم باستثناء الأخطاء.
  • -V, --validate: التحقق من صحة الحقائب الموجودة في المجلدات المحددة بدلاً من إنشاء حقائب جديدة.
  • -f, --fast: تعديل سلوك --validate للتحقق فقط مما إذا كان مجلد الحقيبة يحتوي على عدد الملفات والحجم الإجمالي المحدد في Payload-Oxum دون إجراء التحقق من المجموع الاختباري للكشف عن التلف.
  • -c, --completeness-only: تعديل سلوك --validate للتحقق مما إذا كان مجلد الحقيبة يحتوي على الحمولة المتوقعة المحددة في بيانات المجموع الاختباري دون إجراء التحقق من المجموع الاختباري للكشف عن التلف.
  • -t, --localtemp: إنشاء مجلد مؤقت في مجلد الحقيبة بدلاً من مجلد النظام المؤقت. مفيد لمشاركات SMB أو سيناريوهات أنظمة الملفات المتعددة.

خوارزميات المجموع الاختباري

اختر خوارزميات البيان المراد استخدامها عند إنشاء الحقائب (الافتراضي=sha256).

  • --shake_256: إنشاء بيان SHAKE_256 عند إنشاء حقيبة.
  • --sha256: إنشاء بيان SHA-256 عند إنشاء حقيبة.
  • --sha3_512: إنشاء بيان SHA3_512 عند إنشاء حقيبة.
  • --sha1: إنشاء بيان SHA-1 عند إنشاء حقيبة.
  • --shake_128: إنشاء بيان SHAKE_128 عند إنشاء حقيبة.
  • --sha3_224: إنشاء بيان SHA3_224 عند إنشاء حقيبة.
  • --sha3_384: إنشاء بيان SHA3_384 عند إنشاء حقيبة.
  • --blake2s: إنشاء بيان BLAKE2S عند إنشاء حقيبة.
  • --sha3_256: إنشاء بيان SHA3_256 عند إنشاء حقيبة.
  • --sha512: إنشاء بيان SHA-512 عند إنشاء حقيبة.
  • --md5: إنشاء بيان MD-5 عند إنشاء حقيبة.
  • --blake2b: إنشاء بيان BLAKE2B عند إنشاء حقيبة.
  • --sha384: إنشاء بيان SHA-384 عند إنشاء حقيبة.
  • --sha224: إنشاء بيان SHA-224 عند إنشاء حقيبة.

البيانات الوصفية الاختيارية للحقيبة

  • --source-organization SOURCE_ORGANIZATION
  • --organization-address ORGANIZATION_ADDRESS
  • --contact-name CONTACT_NAME
  • --contact-phone CONTACT_PHONE
  • --contact-email CONTACT_EMAIL
  • --external-description EXTERNAL_DESCRIPTION
  • --external-identifier EXTERNAL_IDENTIFIER
  • --bag-size BAG_SIZE
  • --bag-group-identifier BAG_GROUP_IDENTIFIER
  • --bag-count BAG_COUNT
  • --internal-sender-identifier INTERNAL_SENDER_IDENTIFIER
  • --internal-sender-description INTERNAL_SENDER_DESCRIPTION
  • --bagit-profile-identifier BAGIT_PROFILE_IDENTIFIER

التحميل

bagit-bash متاح على صفحة قِرَاب على GitHub.

الترخيص

تم إصدار bagit-bash بموجب رخصة Creative Commons Zero v1.0 Universal.

https://github.com/Qirab/bagit-bash

يستند bagit-bash إلى إصدار bagit-python من مكتبة الكونغرس الموجود في الملكية العامة.

https://github.com/LibraryOfCongress/bagit-python