您的位置:首页 > 运维架构 > Linux

鸟哥的Linux私房菜10.29 软件安装:RPM,SRPM与YUM功能

2017-02-15 15:04 393 查看
第23章 软件安装:RPM,SRPM与YUM功能
Linux界的两大主流软件安装方式:RPM与DPKG



RPM与SRPM
最大特点就是将安装过的软件先编译,并且打包成为RPM机制的包装文件,通过包装好的软件内默认的数据库记录,记录这个软件要安装的时候必须具备的相依属性软件。
优点是:1.软件传输与安装上很方便;2.方便查询、升级与卸载
缺点是:1.软件安装环境必须与打包时的环境需求一致;2.需要满足软件的相依属性需求;3.卸载时需要很小心,从高到低卸载
SRPM就是提供RPM文件里面的源代码了,提供了参数配置文件。安装过程中需要先编译成RPM文件再安装。



RPM属性相依的克服方式:YUM在线升级
-------------------------------------------------------------------------------------------------------------------------
RPM软件管理程序:rpm
RPM默认安装的路径
RPM类型软件在安装的时候,会先比对环境是否符合,检测是否已经安装了必须的相依性软件,如果没有的话就不能安装。
环境合格后,RPM类软件的相关信息会写入 /var/lib/rpm目录下的数据库文件中(重要,记录升级、安装信息、数字签名信息)
软件内的文件放置的地方(第六章)



RPM安装(安装软件只能是root)



rpm可以同时安装多个软件哦,直接用空格键隔开就okay了
如果安装过程出现问题,或者已经知道会发生问题,可以按照下列参数强制安装:



尽量不是使用暴力安装法,也就是 --force哦
RPM升级与更新
直接使用 -Uvh 或者 -Fvh 就行了,它的参数跟install是一样的



如果对整个操作系统的旧版软件进行修补,可以有如下方法:
1.先到各发展商的errata网站或者国内的FTP映像站下载最新的RPM文件
2.使用 -Fvh 来将系统内安装过的软件进行修补和升级
RPM查询



RPM验证与数字签名
验证——使用/var/lib/rpm底下的数据库内容来比对Linux环境下的所有软件





如果用第二个指令,得出的一些信息中所代表的含义:
S:档案容量是否改变
M:档案的类型或权限是否改变
5:MD5这一种指纹码的内容已经不同
D:装置的主/次代码已经改变
L:Link路径已经改变
U:文件的所属人已改变
G:文件所属群组已经改变
T:文件的建立时间已经改变
文件类型有以下几类:1. c,配置文件; 2. d,文件数据文件; 3. g,鬼文件,不被任何软件包含; 4. l,许可证文件; 5. r,自述文件(read me)
使用数字签名的话,如果安装一个RPM文件:
1.必须先安装原厂发布出的公钥文件;
2.实际安装原厂的RPM软件时,rpm指令会读取文件中的签章信息,与本机系统内的签章信息比对
3.若相同则安装,找不到相关信息就警告并停止安装。
CentOS系统使用的数字签名是GnuPG,安装方法是



----------------------------------------------------------------------------------------------
SRPM的使用:rpmbuild
利用默认值安装SRPM文件(--rebuild/--recompile)



SRPM使用的路径与需要的软件(CentOS系统)





因为RPM需要重新编译,编译过程中至少需要make及其相关程序,还有gcc,c,c++等其他编译用程序语言。
配置文件主要内容(*.spec)
配置文件的基本规则:1.整个文件的开头以Summary开始,2.每个不同段落之间都以%作为开头。
系统整体信息介绍表



%description:简短说明
%prep:指定尚未安装前应该做的工作,修补软件补丁,寻找软件所需目录,建立所需目录或完成所需任务,备份等。
%setup:解压缩
%build:make编译成为可执行程序
%install:安装程序
%clean:编译和安装完毕以后删除暂存在BuildRoot里面的数据
%files:软件安装文件,此处可以指出每个文件档(%doc后面接的)和配置文件(%config后面接的)等等
%changelog:软件更新记录
SRPM的编译指令(-ba/-bb)



打包自己软件
1.制作原始码文件,tarball产生:把要打包的文件放置到 /root底下,并且在 /usr/local/src底下建立一个目录来解压缩
2.建立*.spec的配置文件(最重要):
3.编译成为RPM与SRPM
4.安装/测试/实际查询
-----------------------------------------------------------------------------------------------------------
YUM在线升级机制
利用yum指令进行查询、安装、升级与移除功能
* 查询功能:yum [list|info|search|provides|whatprovides] 参数





* 安装/升级功能:yum [install|update] 软件



* 移除功能:yum [remove] 软件
yum的配置文件
yum虽然在主机联机以后就可以在Internet上面直接使用,但是映射站台可能选错,所以需要手动修改一下yum的配置文件。



yum的软件群组功能



---------------------------------------------------------------------------------------
管理的抉择:RPM还是Tarball
1.优先选择原厂的RPM功能
2.选择软件官网发布的RPM或者提供的容器网址
3.利用Tarball安装特殊软件
4.用Tarball测试新版软件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息