1个不稳定版本

0.1.0 2021年7月5日

#645 in 压缩

MIT许可证

43KB
1K SLoC

rust-squashfs

Docs

squashfs库的纯Rust实现。

路线图

  • 解析squashfs 超级块
  • 解析 片段表
  • 解析 xattrs表
  • 解析 uid/gid查找表
  • 解析 inode表
  • 解析 目录表
  • 解析 导出表
  • 多个压缩器
    • gzip算法。
    • lzma算法。
    • lzo算法。
    • xz算法。
    • lz4算法。
    • zstd算法。

lib.rs:

squashfs布局

一个squashfs文件系统由最多九个部分组成,这些部分在字节对齐的情况下打包在一起

 ---------------
|  superblock   |
|---------------|
|  compression  |
|    options    |
|---------------|
|  datablocks   |
|  & fragments  |
|---------------|
|  inode table  |
|---------------|
|   directory   |
|     table     |
|---------------|
|   fragment    |
|    table      |
|---------------|
|    export     |
|    table      |
|---------------|
|    uid/gid    |
|  lookup table |
|---------------|
|     xattr     |
|     table     |
 ---------------

参考文献

依赖项

~6.5MB
~102K SLoC