设为首页 收藏本站
查看: 716|回复: 0

[经验分享] Linux软件安装:RPM、SRPM与YUM功能

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-21 08:49:57 | 显示全部楼层 |阅读模式
一、软件管理器简介

--包管理模式
·用户使用的系统与软件发行商的一样,发行商就可以在他们的系统上编译好用户需要的软件,然后将编译好的软件发给用户,就可以在用户的系统上直接安装使用,省去了编译的过程;
·包管理模式的安装方式类似于Windows下面的安装,不需要编译;
·发行商即是Linux distribution的发行商或团体组织,这些用户使用它们的Linux distribution;

--软件管理器(或包管理器)
·软件管理器在软件安装的时候会记录一些与安装软件相关的信息,方便以后进行软件的升级与卸载;
·软件管理器类似于Windows下的“添加或删除程序”,或者是360软件管家等;
·在Linux下常见的软件管理器有RPM、dpkg等。






1.Linux界的两大主流:RPM与DPKG

--软件管理机制
·RPM软件管理器对应RPM软件管理机制等,软件管理机制记录安装软件的相关信息,方便以后的升级与卸载操作;
·软件文件属性本身会检测软件属性的依赖问题,软件管理机制不会解决该问题,需要其对应的在线升级机制来解决;
·软件属性依赖的简单例子:安装A软件需要先安装B与C软件;


--在线升级机制
·不同软件管理机制对应不同的在线升级机制,以解决软件属性依赖问题;
·即使是用apt-get来安装软件,实际使用的软件管理机制还是dpkg;


--对应关系

Linux distribution
软件管理机制
使用命令
在线升级机制(命令)
Red Hat/Fedora
CentOS/SuSE
RPM
rmp,rpmbuild
YUM(yum)
Debian/Ubuntu
DPKG
dpkg
APT(apt-get)
·例如CentOS,使用的软件管理机制为RPM机制,而用来作为在线升级的方式(机制)为yum.






2.RPM与SRPM

--RPM

·RPM是以一种数据库记录的方式将软件安装到Linux系统的一套管理机制;
·RPM包的安装过程图示:
wKiom1XV8Mvh0_QIAAIyJ0fFztM488.jpg
·RPM优点:
a.软件已经编译完成和打包完毕,软件传输与安装方便(不需要重新编译)

b.软件的信息已经记录在Linux主机的RPM软件数据库上,方便查询、升级与卸载
c.RPM包在被安装前,会先检查系统的硬盘容量、操作系统版本等,避免文件被错误安装
·RPM缺点:
a.软件安装的环境必须与打包时的环境需求一致或相当,以下情况不行:
~通常不同distribution所发布的RPM包不能用在其它的distributions上
~相同distribution的不同版本也可能不行,如CentOS 4.x与CentOS 5.x
b.需要满足软件的依赖属性需求
c.卸载时需要谨慎,最底层的软件不可先删除,否则可能造成整个系统的问题


--SRPM:Source RPM
·SRPM是RPM未编译时的文件,包含源代码文件、依赖性软件说明、参数设置文件(configure与makefile);
·使用SRPM,可以通过修改SRPM内的参数设置文件,重新编译生成适合当前Linux环境的RPM文件(SRPM作用);
·使用SRPM,需要Linux主机环境使用的软件管理机制为RPM;
·SRPM的使用步骤:
a.先将该软件以RPM管理的方式编译,SRPM即被编译成RPM文件
b.将编译完成的RPM文件安装到Linux系统中


--对比RPM与SRPM


文件格式
文件名格式
直接安装与否
内含程序类型
可否修改参数并编译
RPM
xxx.rpm
已编译
不可
SRPM
xxx.src.rpm
不可
未编译的源代码




3.i386、i586、i686、noarch、x86_64

·以软件名rp-rpppoe-3.1-5.i386.rpm为例,各项说明如下:
rp-rpppoe
3.1
5
i386
rpm
软件名称
软件版本信息
发布次数
适合硬件平台
扩展名
·对硬件平台的说明:
a.i386几乎适用所有的x86平台
b.x86_64主要是针对64位的CPU进行优化设置
c.noarch没有任何硬件等级上的限制,一般属于shell script方面的软件
·硬件方面是向下兼容的。






4.RPM属性依赖的解决方式:YUM在线升级

·RPM软件文件属性依赖问题产生的原因:

a.为了重复利用既有的软件功能,很多软件都会以函数库的方式释出部分功能,以方便其他软件的调用应用,例如PAM模块的验证功能
b.为了节省用户的数据量,distributions在发布软件时分为一般使用与开发(development)使用两大类,而默认情况下开发类软件不会被安装(某些软件安装可能需要这些开发类的软件)
·图示YUM在线升级的原理与过程:










运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-101870-1-1.html 上篇帖子: centOS建立bind服务,做为内网DNS解析服务安装记录 下篇帖子: ActiveMQ BrokeUrl的配置 Linux 软件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表