其他分享
首页 > 其他分享> > 一个软件的Tarball是如何安装的?

一个软件的Tarball是如何安装的?

作者:互联网

将Tarball由厂商的网页下载下来;
将Tarball解开,产生很多的原始码档案;
开始以gcc进行原始码的编译(会产生目标文件object files);
然后以gcc进行函式库、主、子程序的链接,以形成主要的binary file;
将上述的binary file以及相关的配置文件安装至自己的主机上面。
RPM安装
RPM全名是RedHat Package Manager,简称为RPM,顾名思义这个软件管理的机制是由Red Hat这家公司发展出来的。RPM是以一种数据库记录的方式来将你所需要的软件安装到你的Linux系统的一套管理机制。

它最大的特点就是将你要安装的软件先编译过,并且打包成为RPM机制的包装档案,透过包装好的软件里头默认的数据库记录,记录这个软件要安装的时候必须具备的相依属性软件,当安装在你的Linux主机时,RPM会先依照软件里头的数据查询Linux主机的相依属性是否满足,若满足则予以安装,若不满足则不予安装。那么安装的时候就将该软件的信息整个写入RPM的数据库中,以便未来的查询、验证与反安装,这样一来的优点是:

由于已经编译完成并且打包完毕,所以软件传输与安装上很方便,不需要再重新编译;
由于软件的信息都已经记录在Linux主机的数据库上,很方便查询、升级与安装。
但与此同时也造成了些许困扰,由于RPM档案是已经包装好的数据,该软件档案几乎只能安装在原本默认的硬件与操作系统版本中。也就是说你的主机的系统环境必须要与当初建立这个软件档案的主机环境相同才行。

由于RPM是透过预先编译并打包成为RPM文件格式后,再加以安装的一种方式,并且还能够进行数据库的记载,所以RPM有以下的优点:

RPM内含已经编译过的程序与配置文件等数据,可以让用户免除重新编译的困扰;
RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,避免档案被错误安装;
RPM档案本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含档案等信息,便于了解软件;
RPM管理的方式使用数据库记录RPM档案的相关参数,便于升级、移除、查询与验证。
这里说到了相依属性,因为一些软件之间是有相关性的,例如要安装网卡驱动程序,就得要有kernel source与gcc及make等软件。那么RPM在提供打包的软件时,同时加入一些讯息登陆的功能,这些讯息包括软件的版本、打包软件者、相依属性的其他软件、本软件的功能说明、本软件的所有档案记录等,然后在Linux系统上面建立一个RPM软件数据库,如此一来在安装某个以RPM形态提供的软件时,在安装过程中,RPM会去检验一下数据库里面是否已经存在相关的软件了,如果数据库西安市不存在,那么这个RPM档案预设就不能安装,这就是RPM类型的档案最为人所诟病的“软件相依属性”的问题了。

那如何解决这个问题呢,这就要说到YUM在线升级了。

CentOS先将释放出的软件放置到YUM服务器内,然后分析这些软件的相依属性问题,将软件内的记录信息写下来(header)。然后再将这些信息分析后记录成软件相关性的列表,这些列表数据与软件所在的位置可以称呼为容器(repository)。当客户端有软件安装的需求时,客户端主机会主动的向网络上面的yum服务器的容器网址上下载清单列表,然后透过列表的数据与本机RPM数据库已存在的软件数据相比较,就能够一口气安装所有需要的具有相依属性的软件了,流程如下图:

yum安装
yum的使用很简单,就是通过yum这个指令来完成。可以完成查询、安装升级、移除等功能。安装者不必知道软件在哪里,也不需要手动下载软件,也不必拿出原版光盘出来mount之后查询再安装,还能主动的进行软件的属性相依处理流程,一口气帮我们处理好了所有事情。

标签:档案,安装,数据库,Tarball,相依,软件,RPM
来源: https://blog.csdn.net/hertioy/article/details/90450296