6

(SquashFSは圧縮ファイルシステムです-http ://en.wikipedia.org/wiki/SquashFS

プログラムからSquashFSファイルシステムを読み取る方法を探しています。これまで、カーネル内のドライバーについては知っていましたが、そのユーザースペースライブラリはどこかに存在する必要があると確信しています。どの言語でも構いませんが、Cが推奨されます。

ファイルシステムをマウントしてそのように使用することは技術的には可能ですが、私が見ているアプリケーションは常に少なくとも数十のアーカイブを処理する必要があるため、そのルートは避けたいと思います。

4

4 に答える 4

5

tarballコードをsquashfs.sourceforce.netからダウンロードしましたが、カーネルコードはありません。mksquashfsおよびのCのユーザーランドコードのみunsquashfs

unsquashfsからコードを抽出できる可能性があります。

于 2010-05-10T21:08:34.703 に答える
5

unsquashfsに似たsquashfs画像を抽出するというツールがありますtar。バンドルする必要がありますmksquashfs

于 2010-05-10T21:09:08.633 に答える
3

私はそれを行ういくつかのルビーコードを持っています:https ://github.com/vasi/squash.rb

かなりラフですが、問題なく動作します。多分私はそれをいつかより良く設計されたCライブラリに変えるでしょう。

于 2011-11-03T13:37:01.127 に答える
0

mksquashfsunsquashfsRedHatシステムでは「squashfs-tools」としてパッケージ化されています。

名前:squashfs-tools
グループ:システム環境/ベース
サイズ:160923
URL:http://squashfs.sf.net
概要:squashfsユーティリティ
説明 :

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

押しつぶしと押しつぶし解除は痛々しいほど遅いことに注意してください。私が書いたスクリプトが87Mstage2.imgファイルをアンスカッシュ、変更、および再スカッシュするのに数分かかります。

于 2010-05-10T21:15:54.573 に答える