一、rpm命令管理程序包
安装、升级、卸载、查询、校验、数据库维护操作等
rpm命令:
rpm [OPTION] [PACKAGE_FILE]
选项:
安装 -i ,--install
升级 -U ,--update, -F , --freshen
卸载 -e , --erase
查询 -q , --query
校验 -V ,--erify
数据库维护: --builddb , initdb
安装:
rpm -ivh [PACKAGE_FILE]
-v 显示安装过程, -vv 显示详细的安装过程
-h 显示输入出进度,每个#代表2%的进度
rpm -ivh --test 测试安装,检查并报告依赖关系及冲突消息等
rpm -ivh --replacepkgs 重新安装程序文件
rpm -ivh --nodeps 忽略依赖关系安装, 非常不建议。
注意: rpm可以自带脚本
四类:
preinstall: 安装过程中之前运行脚本 %pre --noper
postinstall: 安装过程完成后运行的脚本 %post --nopost
preuninstall: 卸载过程中开始之前执行的脚本 %preun --nopreun
postuninstall: 卸载过程中完成后运行的脚本 %postun --nopostun
rpm -ivh --nosignature : 不检查包签名,不检查来源合法性
rpm -ivh --nodigest: 不检查包完整性信息
升级:
rpm -Uvh [PACKAGE_FILE] : 升级或安装 ,已经安装过程序,则进行升级,若未安装,则安装程序
rpm -Fvh [PACKAGE_FILE] :升级,仅针对安装过的程序进行升级,若程序未安装,则不执行操作
rpm -Uvh --oldpackage [PACKAGE_FILE] 降级操作,回滚
--force 强制升级
注意:
(1)不建议对内核做升级操作; Linux支持多内核版本并存,因此直接安装新版本内核即可;
(2)如果某原程序包的配置文件,安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的配置文件
而把新版本的配置文件重命名后进行提供(FILENAME。rpmnew)
卸载:
rpm -e [PACKAGE_Name] : 卸载某一个包(程序包的名字)
rpm -e --allmatches :卸载所有匹配指定名称的程序包的各个版本。
rpm -e --nodeps: 忽略依赖关系进行卸载
rpm -e --test 测试卸载,但并非真的卸载,只是测试过程。
查询:
rpm -q [PACKAGE_Name] 查询一个程序包的版本基本信息
选择选项select-option:
rpm -qa 查询所有已经安装程序的包 可以结合 grep进行详细查询
rpm -qf FILENAME : 查询指定的文件是由那个程序包生成的
rpm -qp [PACKAGE_FILE] : 用于实现对未安装的程序包执行查询操作的。
rpm -qg GROUP : 查询包组里面包含的程序包
--whatprovides CAPABLITY: 查询指定的能力是由那个程序包的提供
--whatrequires CAPABLITY : 查询指定的能力是被那个包所依赖
查询选项query-options:
rpm -q
--changelog : 查询rpm包的changelog
-l ,--list : 查询rpm程序包生成了那些文件列表
-i , --info : 查询程序包的相关信息,版本号,大小,所属的包组 等等
-c, --configfiles: 查询指定的程序包提供的配置文件
-d, --docfiles: 查询指定的程序包提供的文档
--provides: 列出指定程序包的提供程序包信息