将晦涩难懂的技术讲的通俗易懂
分类: LINUX
2016-07-09 22:20:33
检查RPM的完整性——rpm -V
rpm命令我们经常使用,但是这个”-V”参数我们却很少使用,今天碰巧遇到,这里坐下总结。rpm -V用来检查已安装rpm包的完整性。所谓“完整性”,这里就是指安装rpm包产生的所有文件和原始rpm包中的信息是否一致。如果完全一致,则不做任何输出,只有发现有不正确的文件时才会输出。rpm -V的输出格式如下:
SM5DLUGT c
其中每当发现一个不一致的文件就会有一行类似的输出,一下是每个字符的含义:
S:表示对应文件的大小(Size)不一致;
M:表示对于文件的mode不一致;
5:表示对应文件的MD5不一致;
D:表示文件的major和minor号不一致;
L:表示文件的符号连接内容不一致;
U:表示文件的owner不一致;
G:表示文件的group不一致;
T:表示文件的修改时间不一致;
c:只有文件是一个配置文件时才会有此标志,可以用这种方法快速定位rpm包的配置文件安装位置。(不是说只有文件不一致情况下才会显示吗?没错,但是配置文件通常会被修改,所以通常都会被检测出不一致)
file:检测出不一致的文件安装路径;
当然一般不可能一个文件的所有以上属性都不一致,所以检测通过的属性就会用一个“.”表示。
l 例1:
.M5....T /usr/X11R6/lib/X11/fonts/misc/fonts.dir
表示/usr/X11R6/lib/X11/fonts/misc/fonts.dir这个文件的mode被修改了,MD5也不一致,文件的修改时间也发生了改变。
l 例2:
S.5....T c /etc/passwd
表示/etc/passwd的Size,MD5,modify time不一致,且这是一个配置文件;
l 例3:
missing /var/spool/at/spool
表示rpm包本来该生产/var/spool/at/spool文件,但却丢失了。