今天小编与大家聊聊软件包管理 的俩大神器:rpm和yum,它俩在我们在对软件进行安装,查询,卸载,升级等等方面可给我们带来了非常,相当,特别多的方便,哈哈,听到小编说这么多副词来形容它们就知道它们非常重要。接下来小编从下面几个方面来介绍他们,废话不多,全是干货。
1.包管理器的功能
1)将软件包打包成一个文件,其中包括:
二进制应用程序的组成部分:
1.都有配置文件,通过设置配置文件来改变程序启动时的运行特征
2.都具有二进制的程序主体
3.都自带库文件,供程序主体进行调用
4.都带有帮助文件,对程序的使用方法进行说明
2)程序包管理器:
debian:deb文件, dpkg包管理器
redhat: rpm文件, rpm包管理器
rpm: Redhat Package Manager
RPM Package Manager
2.rpm与yum的区别于联系
rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
3.RPM的用法
CentOS系统上使用rpm命令管理程序包:
安装、卸载、升级、查询、校验、数据库维护
1.安装
rpm包安装
rpm -i [install-options] 包名
-v 显示详细信息
-vv 显示更详细信息
-h 显示进度
-ivh rpm包名
–test: 测试安装,但不真正执行安装,即dry run模式
–nodeps:忽略依赖关系直接安装
–replacepkgs | replacefiles 已安装过的包重装。
–nosignature: 不检查来源合法性
–nodigest:不检查包完整性
–noscripts:不执行程序包脚本
%pre: 安装前脚本; –nopre
%post: 安装后脚本; –nopost
%preun: 卸载前脚本; –nopreun
%postun: 卸载后脚本; –nopostun
Rpm2cpio 软件包名 > name
实例:
1.安装
2 Rpm -iv 软件名和-ih 软件名
Rpm -ivh 显示名字和安装进度
-ivvh 软件名 显示详细信息
3.rpm -ivh –test 测试安装,但不真正执行安装
4–nodeps:忽略依赖关系直接安装
危害:
可以用–replacepkgs | replacefiles (已安装过的包重新安装)挽救。
5–nosignature: 不检查来源合法性
6
2.升级
rpm {-U|–upgrade} [install-options] PACKAGE_FILE…
rpm {-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE …
rpm -Fvh PACKAGE_FILE …
–oldpackage:降级
–force: 强制安装
-Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。
-Fvh 当有旧的包时,卸载旧包装新包,无旧包时,nothing
–oldpackage 降级 已有新包,装旧包。
–force 强制安装。–replacepkgs –replacefiles –oldpackage
实例:
1 -Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。
2 对内核进行升级