一、RPM包校驗 [root@localhost Packages]# rpm -V 已安裝的包名 #選項: #-V校驗指定RPM包中的文件(verify) [root@localhost Packages]# vim /etc/httpd/conf/httpd.conf---> 對包的配置文件進行...
一、RPM包校驗
[root@localhost Packages]# rpm -V 已安裝的包名
#選項:
# -V 校驗指定RPM包中的文件(verify)
[root@localhost Packages]# vim /etc/httpd/conf/httpd.conf ---> 對包的配置文件進行修改
[root@localhost Packages]# rpm -V httpd ---> 對修改後的包再次進行校驗(無變化,無提示)
S.5....T. c /etc/httpd/conf/httpd.conf
驗證內容中的8個信息的具體內容如下:
S 文件大小是否改變
M 文件的類型或文件的許可權(rwx)是否變改變
5 文件MD5校驗和是否改變(可以看作文件內容是否改變)
D 裝置的主/次代碼已經改變
L Link路徑已被改變
U 文件的所屬人已被改變
G 文件的所屬群組已被改變
T 文件的創建時間憶被改變
文件類型:
c 配置文件(config file)
d 普通文件(documentation)
g "鬼"文件(ghost file),很少發生,通常是指該文件不被軟體包所包含
l 授權文件(license file)
r 描述文件(read me)
二、RPM包中文件提取
[root@localhost testuser]# rpm -qf /usr/bin/ls ---> 查詢文件所屬的包
coreutils-8.22-11.el7.x86_64
[root@localhost testuser]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-11.el7.x86_64.rpm | cpio -t | grep /usr/bin/ls
# ---> 查詢文件的相對路徑
./usr/bin/ls
28552 blocks
[root@localhost testuser]# pwd ---> 查看當前位置
/home/testuser
[root@localhost testuser]# ll ---> 查看當前目錄下的文件
total 0
[root@localhost testuser]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-11.el7.x86_64.rpm | cpio -idv ./usr/bin/ls
# ---> 將所需要的文件從文件所屬的包中提取到當前目錄下
./usr/bin/ls
28552 blocks
[root@localhost testuser]# ll ---> 查看當前目錄,文件是否提取成功
total 0
drwxr-xr-x. 3 root root 16 Mar 2 09:19 usr ---> 此目錄出現,說明文件提取成功
[root@localhost testuser]# cd usr/bin/ ---> 進入目錄
[root@localhost bin]# ll ---> 查看目錄下是否有指定提取的文件
total 116
-rwxr-xr-x. 1 root root 117616 Mar 2 09:19 ls ---> 指定文件提取成功
#將需要恢復的文件提取成功之後,將文件複製到對應的目錄下即可。
【註意】cpio參數後的文件路徑"./usr/bin/ls"必須與前面查詢出來的相對路徑"./usr/bin/ls"一樣,否則提取不成功
cpio參數說明:
-t 列出的意思,和"--list"等同,此時列出的是"相對路徑"
-I 抽取的意思,和"--extract"等同
-d 建立目錄的意思,和"--make-directories"等同
-v 冗餘信息輸出,和"--verbose"等同