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

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

2011-11-08 22:53 501 查看
第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测试新版软件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: