结合rpm,rpm2cpio,cpio提取rpm包的特定文件

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://snailwarrior.blog.51cto.com/680306/145588

留着有用

 

昨天不小心把/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包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值