一,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: 不执行程序包脚本
--root 指定根目录
%pre: 安装前脚本 --nopre
%post: 安装后脚本 --nopost
%preun: 卸载前脚本 --nopreun
%postun: 卸载后脚本 --nopostun - 升级
rpm {-U|–upgrade} [install-options] PACKAGE_FILE…
rpm {-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安装有旧版程序包,则"升级",如果不存在旧版程序包,则"安装"
rpm -Uvh PACKAGE_FILE …
freshen:安装有旧版程序包,则"升级",如果不存在旧版程序包,则不执行升级操作
rpm -Fvh PACKAGE_FILE …
--oldpackage:降级
--force: 强制安装
注意:
(1) 不要对内核做升级操作;Linux支持多内核版本并存,因此会直接安装新版本内核
(2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老版本的配置文件 而把新版本文件重命名(FILENAME.rpmnew)后保留 - 查询
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