新的SQUASHFS 4.3中的unsquashfs4新特性,能显示镜像当初的生成参数了

SQUASHFS 4.3 - A squashed read-only filesystem for Linux

Copyright 2002-2014 Phillip Lougher <[email protected]>

Released under the GPL licence (version 2 or later).

Welcome to Squashfs 4.3.  This is the first release in over 3 years, and

there are substantial improvements to stability, new compression options

and compressors, speed optimisations, and new options for Mksquashfs/Unsquashfs.

This is a tools only release, support for Squashfs filesystems is

in mainline (2.6.29 and later).

Changes in Squashfs-tools 4.3

-----------------------------

1. Stability improvements.  Better checking of user input for out of

range/invalid values.  Better handling of corrupted Squashfs filesystems

(Mksquashfs append mode, and Unsquashfs).  Better handling of buffer

overflow/underflow.

2. GZIP compressor now supports compression options, allowing different

compression levels to be used.

3. Rewritten LZO compressor with compression options, allowing different

LZO algorithms and different compression levels to be used.

4. New LZ4 compressor (note not yet in mainline kernel)

5. Better default memory usage for Mksquashfs.  Mksquashfs by default now

uses 25% of physical memory.

6. Duplicate checking in Mksquashfs further optimised.  With certain

"problem filesystems" greater than 2x performance improvement.

Filesystems with a lot of duplicates should see at least 10-20% speed

improvement.

7. The -stat option in Unsquashfs now displays the compression options

used to generate the original filesystem.  Previously -stat only displayed

the compression algorithm used.

8. The file being compressed/uncompressed in Mksquashfs/Unsquashfs is now

displayed if CTRL-\ (SIGQUIT from keyboard) typed.

9. The status of the internal queues/caches in Mksquashfs/Unsquashfs is

now displayed if CTRL-\ (SIGQUIT from keyboard) is typed twice within

one second.  Normally only useful for "power users", but it can be

used to discover if there‘s any bottlenecks affecting performance

(the bottleneck will normally be the compressors/fragment compressors).

10. Miscellaneous new options for Mksquashfs/Unsquashfs to fine tune behaviour.

11. Fixes for CVE-2012-4024 and CVE-2012-4025.

Compatiblity

------------

Mksquashfs 4.3 generates 4.0 filesystems.  These filesystems are fully

compatible/interchangable with filesystems generated by Mksquashfs 4.0 and are

mountable on 2.6.29 and later kernels.

Compressors

-----------

New compression options and compressors are now supported.

The new options and compressors are:

1. gzip

-Xcompression-level <compression-level>

<compression-level> should be 1 .. 9 (default 9)

-Xwindow-size <window-size>

<window-size> should be 8 .. 15 (default 15)

-Xstrategy strategy1,strategy2,...,strategyN

Compress using strategy1,strategy2,...,strategyN in turn

and choose the best compression.

Available strategies: default, filtered, huffman_only,

run_length_encoded and fixed

2. lzo

-Xalgorithm <algorithm>

Where <algorithm> is one of:

lzo1x_1

lzo1x_1_11

lzo1x_1_12

lzo1x_1_15

lzo1x_999 (default)

-Xcompression-level <compression-level>

<compression-level> should be 1 .. 9 (default 8)

Only applies to lzo1x_999 algorithm

3. lz4

-Xhc

Compress using LZ4 High Compression

The compression specific options are, obviously, specific to the compressor

in question, and you should read the compressor documentation and check

their web sites to understand their behaviour.

In general the defaults used by Mksquashfs for each compressor are optimised

to give the best performance for each compressor, where what constitutes

best depends on the compressor.  For gzip/xz best means highest compression

(trying multiple filters/strategies can improve compression, but this is

extremely expensive computationally, and hence, not suitable for the defaults),

for LZO/LZ4 best means a tradeoff between compression and (de)-compression

overhead (LZO/LZ4 by definition are intended for weaker processors).

New Mksquashfs options

----------------------

1. -mem <size>

Set the amount of memory used by Mksquashfs to <size> bytes.  G/M and K

post-fixes are supported.

By default Mksquashfs uses 25% of the physical memory.  Increasing

this with the -mem option can increase performance (note it does not have

any effect on compression).  Reducing it can prevent thrashing if the

system is busy and there is not 25% of physical memory free (again, note

it does not have any effect on compression).

2. -exit-on-error

By default Mksquashfs treats certain errors as benign, if these

errors occur Mksquashfs prints the error on the console but continues.

These errors are typically failure to read a file from the source filesystem.

This is deliberate, in many cases users prefer Mksquashfs to flag

the error but continue rather than abort what may be hours of compression.

But there are times where failure to read any file is considered critical,

and users (especially in the case of automated scripts where the

errors output to the console may be missed) prefer Mksquashfs to exit.

The new -exit-on-error option can be used in this scenario.  This option

makes Mksquashfs treat all benign errors as fatal.

3. -progress

By default if -info is specified, the progress bar is disabled as it gets

in the way.  Occasionally you might want the progress bar enabled whilst

-info is enabled.  This option forces Mksquashfs to output the progress

bar when -info is specified.

4. -Xhelp

Display the usage text for the currently selected compressor.

New Unsquashfs options

----------------------

1. -u[ser-xattrs]

Only write user xattrs.  This forces Unsquashfs to ignore system xattrs.

This is useful when Unsquashing a filesystem as a non-root user, and the

filesystem contains system xattrs which are only writable by root.

Major bugs fixed

----------------

1. If Mksquashfs ran out of space in the destination filesystem, this

would not cause Mksquashfs to immediately abort, and Mksquashfs would

continue to process the source filesystem.  Mksquashfs now immediately

aborts on out of space in the destination filesystem.

2. Unsquashfs ignored the maximum number of open files limit, and if that

was lower than the default limit for Linux, it would run out of file

descriptors.  Unsquashfs now limits the number of open files to the

limit currently in force (e.g. specified by setrlimit).

3. If huge numbers of dynamic pseudo files were specified, Mksquashfs

could exceed the maximum number of open files limit.  This was because

Mksquashfs created all the dynamic file processes up front before

commencing source filesystem reading and compression.  Mksquashfs

now creates the dynamic file processes on demand whilst reading

and compressing the source filesystem, thus limiting the number of

dynamic pseudo file processes in existence at any one time.

4. When outputting Unsquashfs used to set the permissions of directories

as it recursively descended.  This in hindsight had an obvious oversight,

if a directory had only read permission (or was otherwise restricted), then

Unsquashfs would fail to write its contents when descending into it.  Fixed

by setting directory permissions as Unsquashfs recursively unwinds.

时间: 2024-08-04 11:44:07

新的SQUASHFS 4.3中的unsquashfs4新特性,能显示镜像当初的生成参数了的相关文章

iOS5中UIViewController的新方法

iOS5中UIViewController的新方法 前言 在苹果的 WWDC2011 大会视频的<Session 101 - What’s New in Cocoa> 和<Session 102 - Implementing UIViewController Containment> 中介绍了苹果在 iOS5 中给 UIViewController 新增加的 5 方法以及一个属性: // 方法addChildViewController: removeFromParentViewC

9步玩转新媒体平台,你,中枪了吗?

新媒体运营的两个现状:1.用户对你的内容毫不在乎,毫无反应:2.你的信息引起了他们的注意,但很难与你产生连接,更莫提消费你的商品服务,可能只是因为一个标题或者一张美图而被你吸引而已. 驭爷今天跟大家分享怎么做好新媒体营销,这是第一次分享新媒体话题,有请各路新媒体英雄前来扶正,感激不尽! 大家为什么对你的内容毫无兴趣 过去,我们处在广播.报纸杂志和电视等传统媒体的时代,我们被动接收信息(包括广告),只为没有选择: 昨天,我们处在用数据说话的邮件和搜索引擎优化时代,营销人员开始会给咱们投递他们认为我

[译] OpenStack Kilo 版本中 Neutron 的新变化

OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些新的关键功能. 1. 扩展 Neutron 开发社区 (Scaling the Neutron development community) 为了更好地扩展 Neutron 开发社区的规模,我们在Kilo开发周期中主要做了两项工作:解耦核心插件以及分离高级服务.这些变化不会直接影响 OpenStac

HTML5和CSS3中的交互新特性

当文章的标题是一副用photoshop制作的图片,那么势必在搜索引擎中无法搜索到.并且因为图片的体积不算小.可能在网速慢的的时候不得不耐心的等待图片的刷新. 所以.我们来谈谈有没有一种新的方法能够避免这些缺点. 什么是HTML5和CSS3 HTML和CSS并不难理解.HTML为构成网页的主要语言.通过这样的语言.我们能够向计算机说明网页格式.内容.显示效果等等.而CSS则是专门用来控制网页显示效果的语言. HTML 5的新特性 1. 新的内容标签 HTML4中的内容标签级别同样,无法区分各部分内

MVC中的其他新特性

MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @using Microsoft.Framework.Optio

CSS3新属性:在网站中使用访客电脑里没有安装的字体

CSS的font-family属性使网页可以使用客户电脑里的字体,从而得到多姿多彩的WEB页面,但当客户端没有你想要使用的字体时怎么办呢?我们总不能让每个访问者都去安装一个字体吧?事实上,这是可以的!不过不是访客主动下载的,而是网站开发者帮访客下载安装的,具体怎么实现的,我们还要从字体文件的格式说起.字体格式类型主要有几个大分类:TrueType.Embedded Open Type .OpenType.WOFF .SVG.  TrueType Windows和Mac系统最常用的字体格式,其最大

(2) 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如何用Apache POI在已有的Excel文件中插入一行新的数据.具体代码,请看下面的例子. import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.

在PE文件中插入一个新节

这篇文章写如何在exe文件中插入一个新节,并且让它还能继续运行.这个节里保存的是导入表信息,指向一个自己写的动态库.在PE头中修改导入表地址位自己新构建的导入表. 能够实现这些需要对PE文件结构有着熟悉的掌握,可参考<Windows PE权威指南>.当初我看这本书的时候觉得很枯燥,结构信息不太好记.但是经过这个项目和一个自己实现LoadLibrary函数的项目后对PE文件结构就有了较熟悉的掌握. 首先,通过内存映射将目标EXE文件映射到内存中,保存原始结构,然后将原来的PE头部写入新文件. 之

解读ASP.NET 5 &amp; MVC6系列(17):MVC中的其他新特性

原文:解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @usi