rpm与yum的综合性介绍与示例演示

1 软件包管理器
 
1.1主要功能把一个软件的二进制程序,库文件,配置文件,帮助文件打包成一个文件还可以把打包好的这个文件,按照我们指定的位置将二进制程序展开到相关的路径上来
 
1.2 生成数据库,追踪记录所安装的每一个文件并且对实现软件包的安装,卸载,升级,查询,校验
 
2 rpm
 
2.1 rpm基本结构
 
rpm命令本身是个软件包,这个软件包提供了一些命令,然后rpm命令是来管理软件包的
 
2.2 rpm本身在管理的时候还需要提供追踪安装文件的功能,以便在以后实行卸载更重要的是还要提供查询的功能,查询包括根据软件包所安装的文件,或者是根据某个文件来查找这个文件是由哪个软件包安装所生成的,所以rpm本身有一个庞大的数据库/var/lib/rpm
 
2.3软件包的介绍
 
一个rpm包为了避免一个主包过大,一般都会做成一个或多个子包
 
主包(例如是:bind-9.7.1-1.i586.rpm)
 
子包:在主包下又加了一个子名字,版本号一样(例如:bind-libs-9.7.1-1.e15.i586.rpm、
 
bind-utiles-9.7.1-1.e15.i586.rpm)
 
2.3.1  rpm包名格式:
 
Name(名称)-version(版本号)-release(发行号).arch(平台架构)
 
bind-major(主版本号).minor(次版本号).release(修正号,-release.arch.rpm
 
主版本号:rpm包的功能有重大改进;次版本号:某个子功能发生重大变化;release发行号;修正了部分bug,调整了一点功能
 
2.4 rpm命令
 
2.4.1安装
 
rpm -h:以#显示安装进度,每个#表示2%
 
rpm  -v:显示详细信息
 
rpm -vv:显示安装更详细的过程
 
通常是使用命令:rpm –ivh 命令来安装软件包
 
--nodeps:忽略依赖关系; 会导致软件安装好后无法运行
 
--replacepkgs;重新安装,替换原有安装;
 
--replacefiles替换文件
 
--oldpackage降级
 
--force:强行安装,可以实现重装或降级;
 
--test:测试软件包是否可以安装
 
2.4.2 查询
 
rpm -q 软件包命令(不是跟路径):只查询指定的包(不带后面的版本信息)
 
例如:一个软件包是:zsh-4.2.6-6.el5.i386.rpm
 
rpm –q zsh
 
rpm -qa 查询已安装的所有包
 
rpm -qa | gerp "^z" 查询z开头的软件包
 
rpm -qi 软件包名:查询指定软件包的说明信息
 
例如:rpm –q zsh
 
rpm -ql 软件包名:查询指定包安装后生成的文件列表
 
例如:rpm –ql zsh
 
rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的
 
例如:rpm -qf /etc/passwd
 
rpm -qc 软件包名:查询指定包安装的配置文件
 
例如:rpm -qc zsh
 
rpm -qd 软件包名;查询指定包的帮助文件
 
例如:rpm -qd zsh
 
rpm -q --scripts 软件包名:查询指定包中包含的脚本
 
例如:rpm -q --scripts zsh
 
(1)如果某rpm 包尚未安装,我们需查询其说明信息,安装以后会生成的文件
 
    rpm -qpi 尚未安装的软件包路径
 
    rpm –qpl 显示安装后会生成哪些文件
 
2.4.3升级rpm -Uvh /Path/to/new_package_file 如果装有老版本的,则升级,否则,则安装
 
 rpm -Fvh /Path/to/new_package_file 如果装有老版本就升级,否则,退出
 
降级:--oldpackage
 
rpm -ivh --oldpackage
 
rpm -Uvh  --oldpackage 降级
 
2.4.4 卸载
 
rpm -e PACKAGE_NAME:卸载不允许其他包依赖
 
--nodeps 强制卸载
 
2.4.5校验
 
rpm -V PACKAGE_NAME: 校验软件包是否被非法改变过

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/19866.html