在很多时候,我们无法上网,使用 rpm 命令行的方式来进行软件安装,又往往会出现大量的依赖关系需要逐步判断,并且带有依赖关系的软件包在进行安装时,还必须正确把握软件包的安装顺序,很是不便。多数情况下,我们也很少将安装光盘带在身上,更有一些便携的本本就没有光驱,无法经常通过光盘来安装软件包。那么有没有一个办法来解决我们在 linux 系统下的软件包的安装问题呢?
本文以 CentOS 5.5 为例,完整讲解 CentOS 系统创建本地 yum 源及使用的方法。
(本文采用 CentOS 5.5 i386 安装光盘安装系统,安装完成后,采用CentOS 5.6 i386 光盘搭建 yum 本地源,借以全面展示搭建方法和从本地源升级 CentOS 5.5 到 CentOS 5.6 的完整过程)
闲话少说,现在我们来一步步进入搭建本地源的过程。
step 1)
默认安装 CentOS 5.5 系统。
(有关 CentOS 5.5 的光盘安装方法,本文不讨论,自己去 google 和看安装手册)
step 2)
在 /usr 目录下创建本地源目录 repo-packages
# mkdir -p /usr/repo-packages
step 3)
拷贝安装光盘上的所有文件到 /usr/repo-packages 目录。
# mount /dev/cdrom /mnt
# cd /mnt
# cp -r * /usr/repo-packages
# cp .discinfo /usr/repo-packages
# cp .treeinfo /usr/repo-packages
step 4)
编写本地源软件包信息配置文件
# cd /etc/yum.repos.d
# mkdir bak
# mv * bak
( 将原来的软件包来源信息配置文件移动到 bak 目录下保存 )
# vi CentOS-Local.repo
( 该文件本来不存在,是我们新创建的一个文件)
CentOS-Local.repo 文件的内容如下
# CentOS-Local.repo
#
# This repo is used to mount the default ocations for a CDROM / DVD on
# CentOS-5. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c5-local [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c5-local [command]
[c5-local]
name=CentOS-5 - Local
baseurl=file:///usr/repo-packages/
gpgcheck=1
enabled=1
gpgkey=file:///usr/repo-packages/RPM-GPG-KEY-CentOS-5
step 5)
安装软件包源信息生成工具包。
# cd /usr/repo-packages/CentOS
# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
step 6)
生成软件包源信息文件
# cd /usr/repo-packages/CentOS
# createrepo /usr/repo-packages/CentOS/
step 7)
注意! 清理原来的数据源配置信息
# yum clean all
step
导入软件包 KEY 文件
# rpm --import /usr/repo-packages/RPM-GPG-KEY-CentOS-5
至此,本地源的搭建已经全部完成,下面我们可以使用本地源来进行软件的安装了。