Чтение архива SquashFS - PullRequest
6 голосов
/ 11 мая 2010

(SquashFS - это сжатая файловая система - http://en.wikipedia.org/wiki/SquashFS)

Я ищу способ чтения файловой системы SquashFS из программы. До сих пор я знал о драйверах в ядре для него, но я уверен, что библиотека пользовательского пространства для него должна где-то существовать. Любой язык будет в порядке, но C предпочтительнее.

Технически возможно просто монтировать файловую систему и использовать ее таким образом, но я бы предпочел избегать этого пути, потому что приложение, на которое я смотрю, предполагает работу по крайней мере с несколькими дюжинами архивов в любой момент времени.

Ответы [ 4 ]

5 голосов
/ 11 мая 2010

Существует инструмент под названием unsquashfs, который извлекает изображение squashfs, похожее на tar. Должен быть в комплекте с mksquashfs

5 голосов
/ 11 мая 2010

Я только что скачал tar-код с сайта squashfs.sourceforce.net, и там нет кода ядра. Только код пользователя в C для mksquashfs и unsquashfs.

Возможно, вы могли бы извлечь код из unsquashfs.

1 голос
/ 03 ноября 2011

У меня есть какой-то рубиновый код, который сделает это: https://github.com/vasi/squash.rb

Это довольно грубо, но работает нормально. Может быть, когда-нибудь я превращу ее в лучше спроектированную библиотеку C.

0 голосов
/ 11 мая 2010

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

Имейте в виду, что сдавливание и открепление мучительно медленны. Для сценария, который я написал, требуется несколько минут, чтобы отменить, изменить и заново сжать файл 87M stage2.img.

...