Вопрос
(Squashfs - это сжатая файловая система - http://en.wikipedia.org/wiki/squashfs.)
Я ищу способ прочитать файловую систему Squashfs из программы. До сих пор я знаю о водителях в ядре для этого, но я уверен, что библиотека пользователя для нее должна существовать где-то. Любой язык будет в порядке, но C является предпочтительным.
Просто монтируя файловую систему и используя ее таким образом, технически возможен, но я бы предпочел избежать этого маршрута, потому что приложение, которое я смотрю, будет включать в себя работу, по крайней мере, в нескольких десятках архивах в любой момент времени.
Решение
Я только что скачал код Tarball из Squashfs.sourceForce.net, и там нет кода ядра. Только код пользователя в C для C для mksquashfs
а также unsquashfs
.
Возможно, вы можете извлечь код из Uncquashfs.
Другие советы
Существует инструмент под названием unsquashfs
который извлекает образ Squashfs с благо tar
. Отказ Это должно быть в комплекте с mksquashfs
У меня есть какой-нибудь RUBY-код, который сделает это: https://github.com/vasi/squash.rb.
Это довольно грубо, но это работает нормально. Может быть, я открою его в лучшую разработую библиотеку C Comeeday.
mksquashfs
а также unsquashfs
упакованы как «Squashfs-Tools» в моей системе Red Hat:
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
Будьте предупредили, что сквош и закачки болезненно медленные. Требуется несколько минут для скрипта, который я написал в Uncskash, модифицировать, и повторно сквош 87м stage2.img
файл.