天天看点

rpm软件包管理的详细解读1.基本安装2.rpm选项3.软件包脚本4.软件包的升级5.软件包的查询6.包查询7.rpm包的数据库8.rpm包校验

rpm软件包管理的详细解读1.基本安装2.rpm选项3.软件包脚本4.软件包的升级5.软件包的查询6.包查询7.rpm包的数据库8.rpm包校验
CentOS系统上使用rpm命令管理程序包:安装、卸载、升级、查询、校验、数据库维护

1.基本安装

rpm -ivh  PackageFile           

2.rpm选项

rpm -ivh --test PackageFile
--test    测试安装
--nodeps    忽略依赖性
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性           

3.软件包脚本

--nopre              安装前脚本  
--nopost             安装时脚本
--nopreun            卸载前脚本
--nopostun           卸载后脚本
#所有脚本均不执行的话直接使用
--noscript           

4.软件包的升级

升级时的注意事项:

  • 不要对内核进行升级操作,linux支持多内核并存,所以直接安装新内核就好.
  • 如果升级时原程序的配置文件被更改过的话,新程序不会覆盖配置文件。会把就配置文件重命名名(FILENAME.rpmnew)后保存。
rpm -Uvh  PackageFIle            #软件存在就升级,不存在就安装
rpm -Fvh  PackageFile            #存在则升级,软件不存在不升级
#
--oldpackage:降级
--force: 强制安装           

5.软件包的查询

rmp -qa

-p为包的查询,a为列出所有包

rpm -qa | grep "mysql"

配合grep模糊搜索使用

rpm -qf file

查询配置文件是用哪个包提供的

rpm -q --whatprovides webserver

查询能力是那个软件包提供,包括服务和文件,相比于

-qf

来说范围更宽

rpm -q --whatrequires

查询指定的能力依赖于哪个包

6.包查询

rpm -q --changelog httpd

查询rpm包的日志文件,非程序的日志文件

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

-d: 查询程序的文档

-i: information

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

7.rpm包的数据库

rpm包在安装时会生成一个数据库文件,程序包名称及版本、依赖关系、功能说明、包安装后生成的各文件路径及校验码信息.

  • 数据库目录 存放在

    /var/lib/rpm

    中以

    __db

    开头的文件
  • 初始化数据库

    rpm -initdb

    数据库不存在就创建,存在不执行任何操作
  • 重建数据库

    rpm -rebuilddb

8.rpm包校验

在rpm数据库中存放了软件初始安装时的数据信息,当使用包校验的会拿数据库中的信息比对现在的信息,可以查出哪些被认为的修改或者覆盖过。

使用

rpm -V 软件包名

校验是否被修改过。

rpm软件包管理的详细解读1.基本安装2.rpm选项3.软件包脚本4.软件包的升级5.软件包的查询6.包查询7.rpm包的数据库8.rpm包校验

校验参数的详细解读

rpm软件包管理的详细解读1.基本安装2.rpm选项3.软件包脚本4.软件包的升级5.软件包的查询6.包查询7.rpm包的数据库8.rpm包校验
传送门: 软件包校验实验