rpm 包管理器

CentOS系统上使用rpm命令管理程序包:

安装、卸载、升级、查询、校验、数据库维护

安装

   rpm {-i|--install} [install-options] PACKAGE_FILE

   -v : verbose

   -vv:

   -h : 以#显示程序包管理执行执行进度

  rpm -ivh PACKAGE_FILE

[install-options]

--test:测试安装,但不真正执行安装,即dry run 模式

--nodeps:忽略依赖关系

--replacepkgs | replacefiles

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

--nodigest: 不检查包完整性

--noscripts:不执行程序包脚本

  • %pre:安装前脚本  --nopre
  • %post:安装后脚本  --nopost
  • %preun:卸载前脚本  --nopreun
  • %postun:卸载后脚本  --nopostun

升级

rpm {-U|--upgrade} [install-options] PACKAGE_FILE

rpm {-F|--freshen} [install-options] PACKAGE_FILE

upgrade:安装有旧版程序包,则升级

              如果不存在旧版程序包,则安装

freshen:安装有旧版程序包,则升级

              如果不存在旧版程序包,则不执行操作

rpm -Uvh PACKAGE_FIE

rpm -Fvh PACKAGE_FIE

--oldpackage:降级  很少用到

--force: 强制安装

包查询

rpm {-q|--query} [select-options] [query-options]

[select-options]

   -a:所有包

   -f:查看指定的文件由哪个程序包安装生成

   -p rpmfile :针对尚未安装的程序包文件做查询操作

   --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供

   --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖

rpm2cpio 包文件|cpio -itv 预览包内文件

rpm2cpio 包文件|cpio -id "*.conf" 释放包内文件

[query-options]

--changelog 查询rpm包的changelog

-c:查询程序的配置文件

-d:查询程序的文档

-i:information

-l:查看指定的程序包安装后生成的所有文件

--scripts:程序包自带的脚本

--provides:列出指定程序包所依赖的CAPABILITY

-R:查询指定的程序包所依赖的CAPABILITY

包校验

宝来源的合法性验证及完整性验证

   完整性验证:SHA256

   来源合法性验证:RSA

公钥加密

     对称加密:加密、解密使用同一秘钥

    非对称加密:秘钥是成对的

       public key:公钥,公开所有人

       secret key:私钥,不可以公开

导入所需要公钥

rpm -K|checksig rpmfile  检查包的完整性和签名

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

rpm -qa "gpg-pubkey*"

rpm 数据库

/var/lib/rpm

rpm {--initdb|--rebuilddb}

  initdb:初始化

    如果事先不存在数据库,则新建之

   否则,不执行任何操作

   rebuilddb:重建已安装的包头的数据库索引目录

发布了87 篇原创文章 · 获赞 186 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/qq_33326449/article/details/104577823