结合rpm,rpm2cpio,cpio提取rpm包的特定文件
时间:2009-04-05 来源:sjhf
【小蜗牛无聊之作】
昨天不小心把/etc/mail/sendmail.mc修改坏了,又没有备份最原始的文件,于是想到重新从rpm包中提取出来。
首先,要确定/etc/mail/sendmail.mc属于哪个rpm包: [root@pps tmp]# rpm -qf /etc/mail/sendmail.mc sendmail-8.13.8-2.el5 然后从iso安装光碟中提取出sendmail-8.13.8-2.el5.i386.rpm(或者其它方式取得),确认一下sendmail.mc的路径: [root@pps tmp]# rpm -qlp sendmail-8.13.8-2.el5.i386.rpm | grep sendmail.mc warning: sendmail-8.13.8-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 /etc/mail/sendmail.mc 在提取sendmail.mc之前,有必要确认一下它的相对路径: [root@pps tmp]# rpm2cpio sendmail-8.13.8-2.el5.i386.rpm | cpio -t | grep sendmail.mc 2570 blocks ./etc/mail/sendmail.mc 好,现在可以放心提取sendmail.mc了: [root@pps tmp]# rpm2cpio sendmail-8.13.8-2.el5.i386.rpm | cpio -idv ./etc/mail/sendmail.mc ./etc/mail/sendmail.mc 2570 blocks 【注意】cpio参数后的文件路径"./etc/mail/sendmail.mc"必须和前面查询的相对路径一样,否则提取不成功。 cpio参数说明: -t 列出的意思,和"--list"等同,注意,此时列出的是“相对路径” -i 抽取的意思,和"--extract"等同 -d 建立目录,和"--make-directories"等同 -v 冗余信息输出,和"--verbose"等同 rpm参数说明: -q --query 查询 -l --list 列出 -f --file 指定文件 -p --package 指定rpm包 ------------------------------------------------------------------------------------------ 赵小蜗牛 QQ: 755721501 E-mail: [email protected] 在不断奉献中谋求生存发展、打造自己的优秀品质,用人性最本质最动人的一面“营销”自己! http://snailwarrior.blog.51cto.com/680306/145588 |
相关阅读 更多 +