Linux软件包管理

1.RPM软件包管理

CentOS操作系统中有一款默认软件管理的工具,即红帽包管理器(red hat package manager,RPM)。使用RPM工具可以对软件包实现快速安装,管理及维护。RPM工具常用于管理以.rpm后缀结尾的软件包。

RPM包一般命名格式:

2.YUM软件包管理

前端软件包管理器(YUM)主要用于管理RPM包。YUM工具能够从指定的服务器自动下载RPM包并且安装,还可以自动处理依赖性关系。使用RPM工具管理和安装软件时,会发现RPM包有依赖,需要逐个手动下载安装,而YUM工具的最大便利就是可以自动安装所有依赖的软件包,从而提升效率,节省时间。

2.1YUM运行原理

yum的工作需要两部分来合作,一是yum服务器(源端),二是yum客户端。下面分别介绍两部分工作原理。

  • yum服务器

    所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum源端通过HTTP或者FTP服务器发布。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单""就是描述每个rpm包的spec文件中信息。

  • yum client端

    client每次调用yum install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的配置文件,这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum自己的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(前提是不存在rpm包的cache)

YUM客户端如果配置了CentOS官方repo源,客户端操作系统必须能联通外网,满足网络条件才能下载软件并安装。如果没有网络,也可以构建光盘源或者内部YUM源。YUM客户端安装软件,默认会把YUM源地址,header信息,软件包,数据库信息,缓存文件存储在/var/cache/yum中,每次使用YUM工具,YUM优先通过cache查找相关软件包,cache中不存在,然后再访问外网YUM源。

2.2基于ISO镜像构建YUM本地源

有时候在没有外网连接的时候无法使用YUM从外网下载RPM包,这时可能需要创建本地YUM源,如果有一个现成的完整的ISO镜像,可以挂载ISO镜像文件做为本地YUM源。其原理是通过查找光盘中的软件包实现YUM安装软件。配置步骤先省略......

在使用YUM源时,会遇到部分软件无法安装,原因是光盘中软件包不完整导致,同时光盘源只能本机使用,其他局域网服务器无法使用。

2.3基于HTTP构建YUM网络源

YUM光盘源默认只能本机使用,局域网其他服务器无法使用YUM光盘源,如果想用的话需要在每台服务器上构建YUM本地源,该方案在企业中不可取,所以需要构建HTTP局域网YUM源解决。可以通过createrepo创建本地YUM源端,repo即为repository。

构建HTTP局域网YUM源的步骤也先省略......

2.4YUM源端软件包扩展

默认使用ISO镜像构建的HTTP YUM源,会发现缺少很多软件包。如果本地光盘镜像中没有需要的软件包,此时需要往YUM源端添加软件包。

2.5同步外网YUM源

在实际应用场景中,仅仅靠光盘中的RPM软件包是不能满足需要的,用户可以把外网的YUM源中的所有软件包同步至本地,完善本地YUM源的软件包数量及完整性。

获取外网YUM源软件常见方法包括:rsync,wget,reposync,三种同步方法的区别为:rsync方式需要外网YUM源支持rsync协议;wget可以直接获取;reposync可以同步几乎所有的YUM源。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值