rpm實驗--刪除某文件後利用rpm2cpio解開rpm來恢復文件
阿新 • • 發佈:2018-08-05
dia bsp tab fun sysconfig var 刪除文件 entos func
1.刪除文件
[root@centos6 ~]# rm -rf /etc/rc.d/init.d/functions
2.查詢文件來自於哪一個已安裝rpm包
[root@centos6 ~]# rpm -qf /etc/rc.d/init.d/functions initscripts-9.03.58-1.el6.centos.x86_64
3.掛載光盤
[root@centos6 ~]#mount /dev/cdrom /media/ mount: block devi ce /dev/sr1 is write-protected, mounting read-only
4.復制rpm到一個臨時目錄
[root@centos6 ~]#cp /media/Packages/initscripts-9.03.58-1.el6.centos.x86_64.rpm /app
5.進入臨時目錄並解開rpm包
[root@centos6 ~]#cd /app [root@centos6 app]# rpm2cpio initscripts-9.03.58-1.el6.centos.x86_64.rpm |cpio –id
cpio是歸檔類型文件,
-id 解壓
-tv 瀏覽
-ov 備份
6.從解出的目錄裏找到需要的文件並復制到相關的原目錄下
[root@centos6 app]#ls apache22 CentOS-6.8-x86_64-bin-DVD2.iso lib var bin etc sbin CentOS-6.8-x86_64-bin-DVD1.iso initscripts-9.03.58-1.el6.centos.x86_64.rpm usr [root@centos6 app]#cd etc
註意:此處進入etc目錄時,不要加/,如果加了的話,默認是根目錄下的etc,那麽進去之後不會有functions這個文件,因為已經刪了。
[root@centos6 etc]#ls adjtime networks rc0.d rc4.d rc.local statetab sysctl.d init ppp rc1.d rc5.d rc.sysinit statetab.d X11 inittab profile.d rc2.d rc6.d rwtab sysconfig NetworkManager rc rc3.d rc.d rwtab.d sysctl.conf [root@centos6 app]# cp etc/rc.d/init.d/functions /etc/rc.d/init.d/
rpm實驗--刪除某文件後利用rpm2cpio解開rpm來恢復文件