以下linux命令将解释如何从压缩的initrd初始内存磁盘文件中提取内容。
准备工作:
# apt-get install p7zip-full
上面的命令将安装7z和7za文件归档程序,我们将用来解压缩并压缩我们的initrd文件。
首先找到initrd.lz
内存磁盘文件:
ls -l total 24692 -rw-r--r-- 1 root root 25281685 Dec 14 10:09 initrd.lz
创建一个新目录以保存从initrd.lz
提取文件和目录结构:
# mkdir temp # ls initrd.lz temp
转到“temp”目录并执行:
# cd temp/ # 7z e -so ../initrd.lz | cpio -id 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_AU.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Processing archive: ../initrd.lz Extracting initrd Everything is Ok Size: 68728832 Compressed: 25281685 134236 blocks
initrd文件中的所有文件现在都被提取并存储在'temp'目录中。
现在你可以修改其中的内容。
修改后,就可以重新打包新的initrd文件。
仍在'temp'目录中执行:
# find | cpio -o -H newc > ../initrd_new 134236 blocks
上面的命令已创建一个新的文件initrd_new
:
# ls initrd.lz initrd_new temp
压缩文件,获得initrd_new.lz
初始内存磁盘文件:
# 7z a -m0=lzma:a=1 initrd_new.lz initrd_new 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_AU.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Scanning Creating archive initrd_new.lz Compressing initrd_new Everything is Ok
根据需要,重命名生成的新文件。
日期:2020-07-07 20:56:17 来源:oir作者:oir