红帽(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 的处理方法

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

  1. linux 容器与外部网络_Linux发行版仍然与容器相关吗?

    linux 容器与外部网络 有人说Linux发行版不再与容器有关. 诸如一次性容器和临时容器之类的替代方法似乎风行一时. 似乎我们正在考虑和做出技术决策时更多地基于时尚感和即时的情感满足,而不是通过选 ...

  2. Linux搭建虚拟专用,Ubuntu的发行版如何搭建虚拟专用网

    是通过因特网上将局域网扩展到远程网络和远程计算机用户的一种成本效益极佳的办法.那么Ubuntu的发行版如何搭建虚拟专用网呢?下面学习啦小编就为大家带来了Ubuntu发行版搭建虚拟专用网的方法. Ubu ...

  3. puppy linux 版本,Puppy Linux 8.0 发布,轻量级发行版

    Puppy Linux项目生成了一个轻量级的发行版,其中包含许多图形工具,只需一个小小的下载.该项目的最新版本是Puppy Linux 8.0 "BionicPup". findn ...

  4. edHat linux光盘引导,Red Hat Linux 9光盘启动安装过程

    Red Hat Linux 9光盘启动安装过程 Red Hat Linux 9光盘启动安装过程 RedHat Linux是目前世界上使用最多的Linux寒作系统.因为它具备最好的图形界面,无论是安装. ...

  5. linux分区引导修复工具,linux系统引导过程及引导修复

    系统的引导过程 1.通电 2.bios初始化 eg:内存,硬盘没插好 3.磁盘引导 硬盘里面的数据是以分区形式保存,硬盘上的磁头对硬盘的数据进行扫描 ## 磁道:磁头转一周的轨迹,可以确定数据在哪一环 ...

  6. linux系统引导分区,揭秘Linux(二)——操作系统引导与硬盘分区

    通过前面的介绍想必大家对Linux有了个基础的了解,那么各位肯定该说是不是要装操作系统了,对不起让各位失望了,这次所讲解的是Linux运行原理与硬盘分区,这是重中之重啊!请一定要细细品读. 为了更好地 ...

  7. redhat7 linux内核版本,CentOS和Redhat发行版linux内核版本的对应关系

    由于Redhat和CentOS的发行版本现在众多,所以我们应该知道CentOS和Redhat及linux内核之间版本的对应关系对维护系统还是很有帮助的.对应的列表如下: Redhat 9.0----- ...

  8. linux 文件拆分 原后缀,Linux批量更改文件后缀-转载

    一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/'  ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename . ...

  9. linux uefo引导 win_windows10+arch linux双系统 uefi启动

    安装前的准备 Archlinux 安装ISO镜像,下载:http://mirrors.163.com/archlinux/iso/2013.05.01/ U盘一个,最好1G以上,格式化成FAT32.把 ...

最新文章

  1. 【FPGA】SRIO例子程序仿真分析实践
  2. 压缩流--DeflateStream和GZipStream
  3. bootstrap设置button不显示_电脑便签怎么显示不关闭?电脑云便签敬业签怎么设置显示桌面?...
  4. hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
  5. 面试官:不会看SQL执行计划,简历也敢写精通SQL优化?
  6. Emlog文章特色图生成插件分享
  7. ncurses输出函数:字符+字符串的输出
  8. 亚马逊 在线测试题目 amazon (变种的)三叉树的最近公共祖先问题
  9. oracle数据库之间数据同步
  10. win10默认壁纸_小白个人系统安装美化(二)win10系统美化设置篇
  11. linux无线网卡模拟ap,在 openSUSE 上使用 create_ap 创建虚拟 WiFi 热点来方便使用 KDE Connect 连接手机...
  12. win7自带计算机,win7系统自带的计算器不见了的解决方法
  13. ncnn DataReaderExtractorblob
  14. 【presto】函数大全
  15. 输入一个大写或者小写,输出其相反的大小写。(c语言)
  16. py樱花代码_Python如何画出美丽浪漫的樱花
  17. Android解析lrc里的歌词
  18. 2016年智能楼宇趋势展望
  19. 键盘输入 vs 复制粘贴
  20. u盘提示格式化怎么解决?数据怎么找回?

热门文章

  1. 分布式系统:一致性协议
  2. 阿里巴巴1682亿背后的“企业级”高效持续交付
  3. 真的有无人工厂吗,IoT 怎么在产业界落地?| 赠书
  4. 如果张东升是个程序员,你还有机会吗?
  5. 10分钟带你逆袭kafka之路
  6. 不服OceanBase跑分?今天起可到阿里云上一战
  7. 甲骨文中国裁员已定,补偿为N+6;VMware联手云平台合作伙伴AsiaPac,闪耀狮城;对标英伟达,寒武纪新货曝光……...
  8. 唯品会2017年双11大促技术保障实践,全域提供25万QPS服务能力
  9. 用计算机算小学题目,小学计算机入编考试考试试题.doc
  10. android 自定义控件viewgroup,Android自定义控件ViewGroup