Linux系统下YUM仓库的配置与搭建

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux系统下YUM仓库的配置与搭建

作者:曹新鸿

来源:《中小企业管理与科技·上旬刊》2015年第03期

摘要:阐述Linux操作系统选软件安装中两种常见的形式,并分析了RPM软件包管理存在的问题,引入YUM技术并对YUM仓库的安装、配置与搭建进行研究,实现使用YUM仓库解决RPM管理中存在的依赖关系。

关键词:YUM仓库 RPM 开源软件 Linux系统

对于Linux初学者来说,安装软件是一件很让人头疼的事,因为在Linux以开源著称,Linux下安装软件不像在 Windows中那样简单。在Linux系统中大多数软件提供的是源代码,而不是现成的可执行文件,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,软件才能使用。这也是Linux之所以不能被普遍人群所接受的重要原因。随着Linux的不断升级,软件的安装也在不断的改进,本文旨在研究Linux下的YUM技术。

1 问题描述

随着Linux的不断升级与进步,目前Linux下的软件安装包主要有两种形式,其一是RPM 包,其二是压缩成*.tar.gz的形式。*.tar.gz的格式需要有一定的Linux专业功底,RPM包是最受欢迎的形式。Linux是开源的操作系统,并且一向推崇自由软件,正是因为开源与自由造成了RPM包具有很深的依赖关系。使用RPM在Linux中安装软件或者服务时经常会涉及到rpm 包的依赖,往往我们在安装A软件时,提示会依赖于B,安装B时会依赖于C,安装时会……等一系列的依赖关系,YUM仓库技术可以自动解决RPM的依赖关系,方便软件的安装。因此本文的研究具有重要的意义。

2 YUM技术介绍

Yum(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

我们在安装好Linux后要进行YUM源的设置,是为了方便日后对软件包的管理,解决单独安装RPM软件包时可能产生的软件包依赖关系。在企业中,我们会设置企业自己的YUM 源(库)方便企业Linux系统(主要是红帽和红帽的Fedora)对软件包的管理,更重要的原因是保证YUM源的安全性,因为一个软件包从源头就被修改过或者做过手脚的话,那么这样的软件的安装已经没有什么意义了。

3 YUM仓库的搭建

第一步:设置虚拟光驱,装入Red Hat Enterprise Linux 6.0光盘,如图1,图2所示。

第二步:挂在光驱到/mnt/目录下。

root@seashorewang ~]# mount /dev/cdrom /mnt/

mount: block device /dev/sr0 is write-protected, mounting read-only

第三步:创建cangku文件夹,并拷贝/mnt/Packages/下的所有文件到cangku文件下。

[root@seashorewang /]# mkdir cangku

[root@seashorewang /]#cd cangku

[root@seashorewang /]# cd /cangku

[root@seashorewang cangku]# cp -r /mnt/Packages/ /cangku/

说明:因为光盘中的Packages目录中的内容过大,需要1-2分钟的等待,当然不同配置的计算机的时耗不一样。

第四步:安装createrepo文件。

[root@seashorewang yum.repos.d]# cd /mnt/Packages/

[root@seashorewang Packages]# rpm -e creterapo-0.9.8.4.el6.noarch deltarpm-3.5-

0.5.20090913git.el6.

I686 python-deltarpm-3.5-0.5.20090913git.el6.i686

[root@seashorewang Packages]#rpm -ivh createrepo-0.9.8-4.el6.noarch.rpm

Warning: createrepo-0.9.8.4.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY error: Failed dependendcies:

Deltarpm is needed by createrepo-0.9.8-4.el6.noarch

Python-deltarpm is needed by createrepo-0.9.8-4.el6.noarch

说明:这里因为createrepo-0.9.8-4.el6.noarch.rpm软件包依赖于另外两个软件包,所以安装出现了错误。

[rot@seashorewang Packages]# rpm -ivh createrepo-0.9.8-4.el6.noarch.rpm deltarpm-3.5-

0.5.20090913git.el6.i686.rpm pytho

Warning: createrepo-0.9.8-4.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing... ###########################[100]

1:deltarpm ###########################[33%]

2:python-deltarpm ###########################[67%]

3:createrepo ###########################[100%]

说明:这里将三个软件包一起安装,可以自动解决依赖关系。

第五步:创建依赖关系。

[root@seashorewang repodata]# cd /

[root@seashorewang /]# createrepo -g

/mnt/repodata/3c26ed953dc3d25ef7bc8f1ff057le771cc16fefe6623ba654ele33a68cbaelb-comps-rhel6-Server.xml.gz /cangku/Packages/

2168/2679 -hunspell-nb-2.0.100.5.1.el6.noarch.rpm

Iso-8859-l encoding on Ville Skytt? - 2.4.2-2

2679/2679 -k3b-1.0.5-13.el6.i686.rpm

Saving Primary metadata

Saving file lists mesadata

Saving other metadata

说明:这里的/cangku/Packages/目录一定要和后面创建的配置文件一致。

第六步:编写配置文件。

[root@seashorewang /]# cd /etc/yum.repos.d/

[root@seashorewang yum.repos.d]# ls

相关文档
最新文档