当不小心误删谋个文件,导至软件无法正常用行时,在知道被删文件属于哪个rpm文件时,可以使用rpm2cpio提取还原文件,以下以误删了/bin/ls文件为例
1、通过别的方式查出 ls所属rpm包
[root@localhost ~]# rpm -qf /bin/ls
coreutils-8.4-19.el6.i686
2、挂载安装光盘
[root@localhost ~]#mount /dev/cdrom /mount/cdrom
3、提取文件
[root@localhost ~]# rpm2cpio 包全名 | cpio -idv .文件绝对路径
rpm2cpio 将rpm包转换为cpio格式的命令
cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
注:文件的绝对路径必须要与rpm包中的路径相对就应
[root@localhost ~]#rpm2cpio /mnt/cdrom/Package/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./usr/bin/ls
./usr/bin/ls
24772 块
#提取ls命令文件到当前目录下
## -idv 后接的路径必须与rpm包中的路径相对应
[root@localhost ~]# cp ./usr/bin/ls /bin/