سؤال

(Squashfs هو نظام ملفات مضغوط - http://en.wikipedia.org/wiki/Squashfs)

أبحث عن طريقة لقراءة نظام ملفات Squashfs من البرنامج. حتى الآن ، لقد عرفت عن برامج تشغيل kernel لذلك ، لكنني متأكد من أن مكتبة مساحة المستخدمين لها يجب أن تكون موجودة في مكان ما. أي لغة ستكون على ما يرام ، ولكن C مفضل.

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

هل كانت مفيدة؟

المحلول

لقد قمت للتو بتنزيل الكود Tarball من squashfs.sourceforce.net ولا يوجد رمز kernel هناك. رمز userland فقط في C mksquashfs و unsquashfs.

ربما يمكنك استخراج التعليمات البرمجية من unsquashfs.

نصائح أخرى

هناك أداة تسمى unsquashfs الذي يستخلص صورة squashfs أقرب إلى tar. يجب تجميعها mksquashfs

لدي بعض رمز الياقوت الذي سيفعل ذلك: https://github.com/vasi/Squash.rb

إنه أمر قاسي للغاية ، لكنه يعمل بشكل جيد. ربما سأقوم بتحويلها إلى مكتبة C أفضل في يوم من الأيام.

mksquashfs و unsquashfs يتم تعبئتها على أنها "أدوات squashfs" على نظام القبعة الحمراء:

Name        : squashfs-tools
Group       : System Environment/Base
Size        : 160923
URL         : http://squashfs.sf.net
Summary     : squashfs utilities
Description :

Squashfs هو نظام ملفات قارئ فقط مضغوط فقط لـ Linux. تحتوي هذه الحزمة على الأدوات المساعدة لمعالجة أنظمة ملفات squashfs.

/sbin/mksquashfs
/usr/sbin/unsquashfs
/usr/share/doc/squashfs-tools-3.0
/usr/share/doc/squashfs-tools-3.0/ACKNOWLEDGEMENTS
/usr/share/doc/squashfs-tools-3.0/CHANGES
/usr/share/doc/squashfs-tools-3.0/COPYING
/usr/share/doc/squashfs-tools-3.0/PERFORMANCE.README
/usr/share/doc/squashfs-tools-3.0/README

كن حذرًا من أن السحق وغير المربوطة بطيئة بشكل مؤلم. يستغرق الأمر عدة دقائق للحصول على نص كتبته إلى unsquash ، وتعديل ، وإعادة مربعة 87 مترًا stage2.img ملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top