博文参考
http://www.178linux.com/39458
http://www.178linux.com/39131
RPM
安装:
rpm {i|install} [install-option] PACKAGES_FILE…
-h:hash,以#表示安装进度,每个#表示%2
-v|–verbose:显示详细过程
-vv:显示更详细的过程
[install-option]
rpm –ivh –test:测试安装;但不真正执行安装;在dry run模式下进行
rpm –ivh – –nodeps:忽略依赖关系
rpm –ivh – –replacepkgs:重新安装,替换原有安装
rpm –ivh – –nosignature:不检查来源合法性
rpm –ivh – –nodigest:不检查包完整性
rpm –ivh – –force:强行安装,可以实行重装或降级
rpm –ivh – –scripts:不执行程序包脚本片段
查询
rpm {q|–query} [select-options] [query-options]
rpm -q packages_name: 查询指定的包是否已安装
rpm -qa:查询所有已安装的包
rpm -qi packages_name:查询指定包的说明信息
rpm -ql packages_name:查询指定安装包生成的文件
rpm –qc packages_name:查询指定安装包生成的配置文件
rpm –qd packages_name:查询指定安装包生成的帮助文件
rpm –qf files_name:查询指定的文件是由那个包安装生成的
rpm –qp files_name:查询指定未安装的程序包文件做查询操作
–whatprovides capability:查询指定的capability被那个包所提供
–whatrequires capability:查询指定的capability被那个包所依赖
rpm –q –scripts packages_name:查看指定的包中包含的脚本
rpm –q –changelog packages_name:查询rpm包改变日志
rpm –R packages_name:查询指定的程序包所以来的capabilty
rpm2cpio 包文件|cpio –itv 预览包里的文件
rpm2cpio 包文件|cpio –id “*.conf”释放包内文件
升级:
rpm {-U|–upgrade}[install-options] PACKAGES_FILE…:如果有老版本的,则升级,否则,则安装
rpm {-F|–freshen}[install-options] PACKAGES_FILE…:如果有老版本的,则升级,否则,则退出安装
–oldpackages:降级
注意:
不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版本内核
如果源程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件并不会覆盖老版本的配置文件,而把新版的文件命令为以.rpmnew的文件保留
卸载:
rpm {-e|–erase} [–allmatches] [–nodeps][–test] PACKAGES_NAME
简单用法:rpm –e packages_name
–nodeps:忽略依赖关系
–test:测试卸载;dry-run模式
–allmatches:如果一个程序包同时安装多个版本时,则此选项一次全部卸载,但程序包配置文件安装后曾被修改,卸载时,此文 件通常不会被删除,而是被重名为以.rpmsave的文件保留
校验:
查询包安装之后生成的文件是否发生了改变
rpm {-V|–verify} [select-options][verify-options]
常用用法:rpm –V packages_name
当没有输出结果时表示软件包完整ok,当有相应的结果输出表明对应的内容有修改,具体如下:
S file Size differs 文件的容量大小发生改变
5(MD5 sum differs)MD5这一种指纹码的内容发生改变
M Mode 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 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
验证 rpm –K packages_name
重建数据库
当我们把数据库的文件删除之后,我们查询软件包的信息都是查询不到的,因为rpm –q是依据数据库里的数据来进行查询,这时就需要重建数据库了
数据库位置
/var/lib/rpm
rpm {–initdb|–rebuilddb}
rpm –initab:初始化,如果事先不存在数据库,则新建,否则,不执行任何操作
rebuilddb:重建,无论事先是否存在,直接重新创建数据库