最新日韩欧美在线综合网_成人在线视_自拍偷拍第八页_欧美又大又粗又硬又色A片_亚洲精品国产成人片_一级片手机在线

IT之道-艾銻知道

您當(dāng)前位置: 主頁 > 資訊動(dòng)態(tài) > 艾銻分享 >

Linux提取RPM包文件(cpio命令)詳解-服務(wù)器運(yùn)維


2020-05-12 20:41 作者:admin
Linux提取RPM包文件(cpio命令)詳解-服務(wù)器運(yùn)維
艾銻無限科技專業(yè):IT外包企業(yè)外包網(wǎng)站外包中小企業(yè)云服務(wù)平臺(tái)等北京IT外包服務(wù)
 
艾銻無限是一家專門做企業(yè)網(wǎng)管外包服務(wù)的機(jī)構(gòu),通過線上+線下結(jié)合的服務(wù)方式,為企業(yè)提供電腦維修、辦公設(shè)備維護(hù)、系統(tǒng)維護(hù)、網(wǎng)絡(luò)與數(shù)據(jù)安全、服務(wù)器運(yùn)維等專業(yè)的網(wǎng)管服務(wù)外包公司
 
 
在講解如何從 RPM 包中提取文件之前,先來系統(tǒng)學(xué)習(xí)一下 cpio 命令。

cpio 命令用于從歸檔包中存入和讀取文件,換句話說,cpio 命令可以從歸檔包中提取文件(或目錄),也可以將文件(或目錄)復(fù)制到歸檔包中。
歸檔包,也可稱為文件庫,其實(shí)就是 cpio 或 tar 格式的文件,該文件中包含其他文件以及一些相關(guān)信息(文件名、訪問權(quán)限等)。歸檔包既可以是磁盤中的文件,也可以是磁帶或管道。
cpio 命令可以看做是備份或還原命令,因?yàn)樗梢詫?shù)據(jù)(文件)備份到 cpio 歸檔庫,也可以利用 cpio 文檔庫對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。

使用 cpio 命令備份或恢復(fù)數(shù)據(jù),需注意以下幾點(diǎn):
使用 cpio 備份數(shù)據(jù)時(shí)如果使用的是絕對(duì)路徑,那么還原數(shù)據(jù)時(shí)會(huì)自動(dòng)恢復(fù)到絕對(duì)路徑下;同理,如果備份數(shù)據(jù)使用的是相對(duì)路徑,那么數(shù)據(jù)會(huì)還原到相對(duì)路徑下。
cpio 命令無法自行指定備份(或還原)的文件,需要目標(biāo)文件(或目錄)的完整路徑才能成功讀取,因此此命令常與 find 命令配合使用。
cpio 命令恢復(fù)數(shù)據(jù)時(shí)不會(huì)自動(dòng)覆蓋同名文件,也不會(huì)創(chuàng)建目錄(直接解壓到當(dāng)前文件夾)。

cpio 命令主要有以下 3 種基本模式:

"-o" 模式:指的是 copy-out 模式,就是把數(shù)據(jù)備份到文件庫中,命令格式如下:
[root@localhost ~]# cpio -o[vcB] > [文件丨設(shè)備]
各選項(xiàng)含義如下:
-o:copy-out模式,備份;
-v:顯示備份過程;
-c:使用較新的portable format存儲(chǔ)方式;
-B:設(shè)定輸入/輸出塊為 5120Bytes,而不是模式的 512Bytes;

比如,使用 cpio 備份數(shù)據(jù)的命令如下:

[root@localhost ~]#find /etc -print | cpio -ocvB > /root/etc.cpio
#利用find命令指定要備份/etc/目錄,使用>導(dǎo)出到etc.cpio文件
[root@localhost ~]# II -h etc.cpio
-rw--r--r--.1 root root 21M 6月5 12:29 etc.cpio
#etc.cpio文件生成
"-i" 模式:指的是 copy-in 模式,就是把數(shù)據(jù)從文件庫中恢復(fù),命令格式如下:
[root@localhost ~]# cpio -i[vcdu] < [文件|設(shè)備]
各選項(xiàng)的含義為:
-i:copy-in 模式,還原;
-v:顯示還原過程;
-c:較新的 portable format 存儲(chǔ)方式;
-d:還原時(shí)自動(dòng)新建目錄;
-u:自動(dòng)使用較新的文件覆蓋較舊的文件;

比如,使用 cpio 恢復(fù)之前備份的數(shù)據(jù),命令如下:
[root@localhost ~]# cpio -idvcu < /root/etc.cpio
#還原etc的備份
#如果大家査看一下當(dāng)前目錄/root/,就會(huì)發(fā)現(xiàn)沒有生成/etc/目錄。這是因?yàn)閭浞輹r(shí)/etc/目錄使用的是絕對(duì)路徑,所以數(shù)據(jù)直接恢復(fù)到/etc/系統(tǒng)目錄中,而沒有生成在/root/etc/目錄中
"-p" 模式:指的是復(fù)制模式,使用 -p 模式可以從某個(gè)目錄讀取所有文件,但并不將其備份到 cpio 庫中,而是直接復(fù)制為其他文件。

例如,使用 -p 將 /boot/ 復(fù)制到 /test/boot 目錄中可以執(zhí)行如下命令:
[root@localhost ~]# cd /tmp/
#進(jìn)入/tmp/目錄
[root@localhost tmp]#rm -rf*
#刪除/tmp/目錄中的所有數(shù)據(jù)
[root@localhost tmp]# mkdir test
#建立備份目錄
[root@localhost tmp]# find /boot/ -print | cpio -p /tmp/test
#備份/boot/目錄到/tmp/test/目錄中
[root@localhost tmp]# ls test/boot
#在/tmp/test/目錄中備份出了/boot/目錄
使用 cpio 命令提取 RPM 包中指定文件 在服務(wù)器使用過程,如果系統(tǒng)文件被誤修改或誤刪除,可以考慮使用 cpio 命令提取出原 RPM 包中所需的系統(tǒng)文件,從而修復(fù)被誤操作的源文件。

RPM 包允許逐個(gè)提取包中文件,使用的命令格式如下:

[root@localhost ~]# rpm2cpio 包全名|cpio -idv .文件絕對(duì)路徑
該命令中,rpm2cpio 就是將 RPM 包轉(zhuǎn)換為 cpio 格式的命令,通過 cpio 命令即可從 cpio 文件庫中提取出指定文件。

舉個(gè)例子,假設(shè)我們不小心把 /bin/ls 命令刪除了,通常有以下 2 種方式修復(fù):
將 coreutils-8.4-19.el6.i686 包(包含 ls 命令的 RPM 包)通過 -force 選項(xiàng)再安裝一遍;
使用 cpio 命令從 coreutils-8.4-19.el6.i686 包中提取出 /bin/ls 文件,然后將其復(fù)制到相應(yīng)位置;

這里我們選擇第 2 種方式。有讀者可能會(huì)問,如何知道 ls 命令隸屬于那個(gè) RPM 包呢?很簡(jiǎn)單,使用 rpm -qf 命令即可,如下所示:
[root@localhost ~]# rpm -qf /bin/ls
coreutils-8.4-19.el6.i686
#查看ls文件屬于哪個(gè)軟件包
在此基礎(chǔ)上,我們只需從此 RPM 包使用 cpio 命令提取出 ls 命令文件,然后將其復(fù)制到對(duì)應(yīng)位置即可,實(shí)現(xiàn)命令如下:

[root@localhost ~]# mv /bin/ls /root/
#把/bin/ls命令移動(dòng)到/root/目錄下,造成誤刪除的假象
[root@localhost ~]# ls
-bash: ls: command not found
#這時(shí)執(zhí)行l(wèi)s命令,系統(tǒng)會(huì)報(bào)"命令沒有找到"錯(cuò)誤
[root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm
|cpio -idv ./bin/ls
#提取ls命令文件到當(dāng)前目錄下
[root@localhost ~]# cp /root/bin/ls /bin/
#把提取出來的ls命令文件復(fù)制到/bin/目錄下
[root@localhost ~]#ls
anaconda-ks.cfg bin inittab install.log install.log.syslog ls
#可以看到,ls命令又可以正常使用了
IT運(yùn)維  我們選擇北京艾銻無限
以上文章由北京艾銻無限科技發(fā)展有限公司整理


相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 免费a级毛片大学生免费观看 | 午夜欧美一区二区三区免费观看 | 免费无线乱码一二三四 | 久久久久人妻一区精品色欧美 | 国产最新精品精品你懂的 | 草草草视频| 午夜福利一级毛片 | 久久白虎| 无码在线观看一区二区 | 欧美在线aaa | 婷婷综合久久一区二区三区 | 一二三四免费观看在线视频中文版 | 看黄A大片爽爽影院免费无码 | 亚洲无限乱码一二三四麻 | 国产黄色免费 | 麻豆传煤入口免费进入2023 | 日本欧美视频在线观看 | 国产午夜精品一区二区三区极品 | 国产网站免费看 | 天天爽夜夜爽人人爽一区二区 | 亚洲免费精品一区 | 999久久久国产精品 亚洲精品一线 | 久久精品黄色片 | 久久精品一区二区三区不卡牛牛 | 一道本道加勒比天天看 | 91亚洲国产成人久久精品网站 | 人人艹人人爱 | 免费无码又爽又刺激动态图 | 国内精品在线视频 | 中文字幕1级精品视频在线 av网站推荐 | 欧美超高清xoxoxoxo | 永久免费网站看黄yyy45视频 | 91老司机福利在线 | 在线观看91精品视频 | 国产二区视频在线观看 | aⅴ免费在线观看 | 国产小嫩模无套中出视频 | 色两性网欧美 | 久久久免费人体 | 日本在线观看黄色 | 夜夜操操操操 |