首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

rpm、yum、编译安装轻松管理centos7程序包(10)

rpm、yum、编译安装轻松管理centos7程序包(10)

5.5 校验

查询包安装之后生成的文件是否发生了改变

rpm {-V|--verify} [select-options] [verify-options]

# rpm -V zsh
S.5....T.  c /etc/zshrc

    常见用法:rpm -V PACKAGE_NAME

          S file Size differs

          M Mode differs (includes permissions and file type)

          5 digest (formerly MD5 sum) differs

          D Device major/minor number mismatch

          L readLink(2) path mismatch

          U User ownership differs

          G Group ownership differs

          T mTime differs

          P caPabilities differ

程序包的合法性验正:

    来源合法:

    由我们信任的制作者提供

    依赖于:制作者的数字签名;签名是作者使用自己的私钥加密程序包的特性码进行的;

    内容合法:

包未被二次修改;完整性校验成功

依赖于:制作者提供的程序特征码;

验正方式:安装者用同样的特征码提取算法提取程序包的特征码,并与原作者提供的相比较;

验正其光盘中程序包的来源及完整性:

rpm --import /path/to/RPM-GPG-KEY-FILE

例如:# rpm --import RPM-GPG-KEY-CentOS-6

     验正:rpm {-K|--checksig} PACKAGE_FILE

# rpm --import /misc/cd/RPM-GPG-KEY-CentOS-6
# rpm -K zsh-4.3.10-7.el6.x86_64.rpm
zsh-4.3.10-7.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
# rpm -K php-5.3.3-38.el6.x86_64.rpm
php-5.3.3-38.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

--nosignature: 不检查来源合法性

--nodigest: 不检查完整性  

rpm管理器数据库:/var/lib/rpm

重建数据库:

rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY]

  --initdb: 初始化数据库,即数据库完全不存时,可新建之;

例如:

    我删除__db.001、__db.002、__db.003、__db.004

# rm -rf /var/lib/rpm/__db.00{1..4}
# ll /var/lib/rpm/
总用量 57208
-rw-r--r--. 1 root root  5083136 11月 19 15:32 Basenames
-rw-r--r--. 1 root root    12288 11月 10 15:20 Conflictname
-rw-r--r--. 1 root root  1044480 11月 19 15:32 Dirnames
-rw-r--r--. 1 root root  5263360 11月 19 15:32 Filedigests
-rw-r--r--. 1 root root    20480 11月 19 15:32 Group
-rw-r--r--. 1 root root    20480 11月 19 15:32 Installtid
-rw-r--r--. 1 root root    49152 11月 19 15:32 Name
-rw-r--r--. 1 root root    24576 11月 19 15:07 Obsoletename
-rw-r--r--. 1 root root 46825472 11月 19 15:32 Packages
-rw-r--r--. 1 root root  1343488 11月 19 15:32 Providename
-rw-r--r--. 1 root root   696320 11月 19 15:32 Provideversion
-rw-r--r--. 1 root root    12288 11月 16 15:07 Pubkeys
-rw-r--r--. 1 root root   446464 11月 19 15:32 Requirename
-rw-r--r--. 1 root root   253952 11月 19 15:32 Requireversion
-rw-r--r--. 1 root root    90112 11月 19 15:32 Sha1header
-rw-r--r--. 1 root root    86016 11月 19 15:32 Sigmd5
-rw-r--r--. 1 root root    12288 11月 10 15:20 Triggername
# rpm --initdb /var/lib/rpm/
# ll /var/lib/rpm/
总用量 58048
-rw-r--r--. 1 root root  5083136 11月 19 15:32 Basenames
-rw-r--r--. 1 root root    12288 11月 10 15:20 Conflictname
-rw-r--r--  1 root root    24576 11月 19 15:38 __db.001
-rw-r--r--  1 root root   229376 11月 19 15:38 __db.002
-rw-r--r--  1 root root  1318912 11月 19 15:38 __db.003
-rw-r--r--  1 root root   753664 11月 19 15:38 __db.004
-rw-r--r--. 1 root root  1044480 11月 19 15:32 Dirnames
-rw-r--r--. 1 root root  5263360 11月 19 15:32 Filedigests
-rw-r--r--. 1 root root    20480 11月 19 15:32 Group
-rw-r--r--. 1 root root    20480 11月 19 15:32 Installtid
-rw-r--r--. 1 root root    49152 11月 19 15:32 Name
-rw-r--r--. 1 root root    24576 11月 19 15:07 Obsoletename
-rw-r--r--. 1 root root 46825472 11月 19 15:32 Packages
-rw-r--r--. 1 root root  1343488 11月 19 15:32 Providename
-rw-r--r--. 1 root root   696320 11月 19 15:32 Provideversion
-rw-r--r--. 1 root root    12288 11月 16 15:07 Pubkeys
-rw-r--r--. 1 root root   446464 11月 19 15:32 Requirename
-rw-r--r--. 1 root root   253952 11月 19 15:32 Requireversion
-rw-r--r--. 1 root root    90112 11月 19 15:32 Sha1header
-rw-r--r--. 1 root root    86016 11月 19 15:32 Sigmd5
-rw-r--r--. 1 root root    12288 11月 10 15:20 Triggername


  --rebuilddb: 无论当前数据存在与否,都会直接重建此库;
返回列表