edHat linux光盘引导,[原]个性化Linux发行版光盘之补充——XZ(LZMA算法)

红帽(Red Hat)从Enterprise Server 6.2 开始,启动镜像文件initrd.img 开始改用xz 工具进行压缩,这与以往版本是有区别的。

一、启动镜像initrd.img 文件

类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像。该文件中包含驱动模块等信息,是非常重要的文件。不同版本使用的格式不同。

1.RHEL 4.0 版本

采用ext2 文件格式镜像,再通过gzip 压缩:

引用

# file initrd.img

initrd.img: gzipcompressed data, from Unix, max compression

# mv initrd.img initrd.img.gz

# gunzip initrd.img.gz

# file initrd.img

initrd.img: Linux rev 1.0 ext2filesystem data

2.RHEL 5.0 版本

采用cpio 打包镜像,再通过gzip 压缩:

引用

# file initrd.img

initrd.img: gzipcompressed data, from Unix, max compression

# mv initrd.img initrd.img.gz

# gunzip initrd.img.gz

# file initrd.img

initrd.img: ASCII cpioarchive (SVR4 with no CRC)

3.RHEL 6.2 版本

RHEL 6.0 - 6.2 都采用与RHEL 5.0 相同的格式进行打包,但从6.2版本开始,改用LZMA进行压缩。详见:Release Notes for Red Hat Enterprise Linux 6.2 Edition 2。

如下:

引用

# file initrd.img

initrd.img: LZMAcompressed data, streamed

※ 注意,若在低于RHEL 6.2 版本下执行file命令,可能无法识别LZMA 压缩格式:

引用

# file initrd.img

initrd.img: data

这时,可把file软件包升级到5.04-13.el6 即可。

二、xz 工具简介

xz 工具是LZMA 压缩算法的一个实现。具体可见:Wikipedia

引用

xz is a lossless data compression file format incorporating the LZMA2compression algorithm. While xz can only support one file the convention is to bundle a file that is an archive itself, such as those created by the tar or cpio Unix programs. The original 7zip program implementing LZMA2 compression achieved small files (at the cost of speed compared to gzip or bzip2), but also created its own unique archive format which was Windows-centric and did not support Unix functionality; xz is essentially a stripped down 7zip with little archive format functionality, that compresses a single file (as opposed to 7zip's more complex capabilities like concatenating & compressing entire directories).

7-Zip supports xz since version 9.04 beta (stable since 9.20)

可见,Windows 下可使用7-Zip 打开.xz 文件。LZMA 算法比Gzip 算法压缩率更高。几个参数:

引用

# xz --help

Usage: xz [OPTION]... [FILE]...

Compress or decompress FILEs in the .xz format.

Mandatory arguments to long options are mandatory for short options too.

-z, --compress      force compression

-d, --decompress    force decompression

-t, --test          test compressed file integrity

-l, --list          list information about files

-k, --keep          keep (don't delete) input files

-f, --force         force overwrite of output file and (de)compress links

-c, --stdout        write to standard output and don't delete input files

-0 .. -9            compression preset; 0-2 fast compression, 3-5 good

compression, 6-9 excellent compression; default is 6

-e, --extreme       use more CPU time when encoding to increase compression

ratio without increasing memory usage of the decoder

三、手动修改initrd.img 文件

解压:

# xz -dc initrd.img | cpio -id

压缩:

# find . | cpio -c -o | xz -9 --format=lzma > initrd.img

三、补充tar.lzma

由于LZMA具有优秀的压缩率及占用资源少的特点,越来越多的工具采用lzma进行打包,后缀名为:tar.lzma。

对于Fedora 11 及以后的版本,可以使用下面的命令操作:

压缩

# tar cfv backup.tar.lzma a/dir --lzma

解压:

# tar xfv backup.tar.lzma --lzma

如果是CentOS 5.3 等老版本,需要安装独立的lzma 工具或用xz 进行:

压缩:

# tar cv a/dir | lzma -c -z > backup.tar.lzma

解压(两个方式都可以):

# cat backup.tar.lzma | lzma -d | tar xv

# xz -dc backup.tar.lzma | tar xvf -

参考自:Working with lzma tarballs

※ 2013-04-27 添加tar.lzma 的处理方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...

1、交换两个变量的值:#include void swap(int *a,int *b){int tmp;tmp*a;*a*b;*btmp;}void main(){int x,y;int *p_x,*p_y;printf("请输入两个数:\n");scanf("%d",&x);scanf("%d",&y);p_x&x;p_y&y;swap(p…

c语言 p *p,C语言之指针*p++和*(p++)区别

在C语言的指针运算中,经常会碰到以下用法:*p、*p、(*p)、*(p),在解决问题前,先了解一下基础:1、 * 号和 符号属于同级运算,且优先运算顺序是从右到左。2、a 表示:在当前一整句代码中&#xff0…

皮尔洛和c罗讲什么语言,皮尔洛:如果我跟C罗是队友 我可能能成历史助攻王

皮尔洛:欧冠夺冠热门不包含皇马腾讯体育11月2日讯 近日皮尔洛在接受媒体采访时表示,本赛季欧冠的争夺将会十分激烈,除了尤文外,有四支球队也是欧冠桂冠有利的争夺者,但并不包括卫冕冠军皇马。另外皮尔洛还表示&#xf…

两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档

3.1两条直线的交点坐标学习目标1.掌握判断两直线相交的方法;会求两直线交点坐标;2.体会判断两直线相交中的数形结合思想.学习过程一、课前准备:(预习教材P112~ P114,找出疑惑之处)1.经过点,且…

C语言一维数组实现杨辉三角,一维数组实现杨辉三角

杨辉三角Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43411 Accepted Submission(s): 18254Problem Description还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以…

c语言读取nc文件格式,nc文件资料地读取与处理.doc

标准文案.nc?文件的查看和处理2013-08-04 12:45阅读:2,168最近在学习冰后回弹模型( http://www.atmosp.physics.utoronto.ca/~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成…

android 界面跳转封装,【Android】Fragment跳转系列

一、同一个Activity下Fragment之间相互跳转(含带参数)Fragment1跳转到Fragment2中1.封装一个方法这样封装是方便一个Activity下有多个Fragment来回跳转public interface RegisterTrigger {void triggerView(Fragment fragment);}2.当前Activity继承RegisterTriggerpublic class…

android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例

1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.2.下载聚合数据SDK,将开发包里的smscaptcha_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:3…

扇区 修复 linux,linux – 如何使用hdparm来修复挂起的扇区?

SMART正在说明我服务器硬盘上的一个待处理扇区.我已经阅读了许多文章,建议使用hdparm“轻松”强制磁盘重新定位坏扇区,但我找不到正确的方法来使用它.我的“smartctl”中的一些信息:Error 95 occurred at disk power-on lifetime: 20184 hours (841 days 0 hours)W…

android获取操作系统版本号,Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类...

1、获取手机制造厂商2、获取手机型号3、获取手机系统当前使用的语言4、获取Android系统版本号5、获取手机IMEI串号6、获取手机中的语言列表SystemUtil类1./**2.* 系统工具类3.* Created by zhuwentao on 2016-07-18.4.*/5. public class SystemUtil {6.7./**8.* 获取当前手机系…

android显示矩阵大小,关于android:显示代表灰度图像的双值矩阵

我的问题是:我有一个字节数组,必须与ImageView一起显示。 这是我的代码:Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView imageView (…

android 跨应用,Android跨应用获取资源

跨应用获取资源有两种方式方式一 利用PackageManagerPackageManager pm getPackageManager();Resources rs null;try {rs pm.getResourcesForApplication("com.example.test");// getIdentifier方法使用如方式一二中使用均可String text rs.getText(rs.getIdenti…

代码混淆android.mk,利用ollvm进行代码混淆

OLLVM简介OLLVM(Obfuscator-LLVM)是瑞士西北应用科技大学于2010年6月份发起的一个项目,该项目旨在提供一套开源的针对LLVM的代码混淆工具,以增加对逆向工程的难度。OLLVM是基于LLVM实现的,LLVM是一个编译器框架,它也采用经典的三段…

鸿蒙系统的适配国产手机,真正的好消息!其它国产机,也在适配华为鸿蒙系统...

众所周知,据华为消费者业务软件部总裁王成录的说法,今年6月初,华为手机就能全面升级鸿蒙2.0,迟到近两年的、真正的“一夜之间就可以替换掉安卓”。而近日,又传出了真正的好消息,那就是其它国产手机厂商&…

android开发隐藏软键盘,Android开发之完全隐藏软键盘的方法

隐藏软键盘一直是我头痛的事情,没有找到一种真正能隐藏的方法。点击EditText的时候总是弹出软键盘。-----杯具杯具(一):InputMethodManager im (InputMethodManager) mEditgetContext() .getSystemService(Context.INPUT_METHOD_SERVICE);im.hideSoftInp…

三星s4 android 6.0吗,快了 三星手机适配Android 6.0时间公布

快了 三星手机适配Android 6.0时间公布2016年01月26日 00:04作者:董岩编辑:董岩文章出处:泡泡网原创分享作为全球范围内无可争议的安卓手机巨头之一,三星在为其旗下手机适配安卓新系统方面历来算是相当上心的一个厂家。日前就已经…

xrdpdf卡片在哪可下载_暑假学习英语字母,就是这样简单(附可打印字母卡下载)...

英语字母是所有英语学习的基础,所以,要想学好英语,第一步,必须是学好字母,为后面的更深层次的学习打下坚实的根基。今天,我们给大家分享最全面的英文字母学习法,建议收藏,文章最后附…

android 常用命令,Android开发常用命令整理

一些命令,不常用就忘记了,特整理在这里,忘了就查查。。 alias 用于定义和查询别名,但不保存。修改home目录下.bashrc保存定义别名格式,不加参数即查询别名:alias command aliasname使用unalias alia…

32 位的有符号整数_leetcode 7 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123 输出: 321示例 2:输入: -123 输出: -321示例 3:输入: 120 输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根…

安卓帧数监测软件_扬尘在线监测系统实现工地智能监控

近年来,随着越来越多的建设项目在建设中,建筑工地越来越广泛。传统人力检查的检查结果主要依靠估计,难以量化和分析,导致相应处罚的科学依据不足。扬尘在线监测系统实现了对施工现场的智能检测,可以对施工现场扬尘进行…