你的位置:首页 > 操作系统

[操作系统]如何手工搭建本地YUM仓库


了解:

Yum:Yellowdog Updater,Modified的简称,起初由yellow dog发行版的开发者Terra Soft研发,用Python编写,后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。Yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包。

实施:

1.挂载:挂载光盘到mnt目录下

[root@henry ~]# mount /dev/cdrom /mntmount: block device /dev/sr0 is write-protected, mounting read-only[root@henry ~]# ls /mnt

2.创建新文件夹:本地搭建yum仓库需要把光盘Packages包拷贝到本地,在根目录下创建文件夹henry_repo

[root@henry ~]# cd /[root@henry /]# mkdir henry_repo

3.拷贝:并将Packages包拷贝到新建文件夹中,注意实际路径

[root@henry /]# cd /mnt[root@henry mnt]# cp -rv Packages /henry_repo/

4.安装必要工具包:包拷贝完成之后需要构建yum使用的数据库,以

[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm

这时候程序提示,此包有一个python-deltarpm的依赖关系包,加上去再次运行

[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm

此时程序再次提示,python-deltarpm这个包也存在一个deltarpm = 3.5-0.5.20090913git.el6的依赖关系包,最后,加上去三个包一起运行,并安装成功。

[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm deltarpm-3.5-0.5.20090913git.el6.i686.rpm

5.创建yum数据库:安装完成后,就可使用createrepo进行创建yum数据库。创建之前注意在原光盘里面repodata文件夹下,这个末尾为comps.

[root@henry Packages]# createrepo -g /mnt/repodata/3fe289964708818d65e318fae9784208fdb73f21560f21b524582a87c170a677-c6-i386-comps.

运行完成后,在Packages文件夹里面就会生成一个repodata的文件夹,里面存放着yum工作所需要的索引仓库,保存了所有的软件包索引信息。当使用yum进行安装时,会直接读取这些索引信息,而不必去逐一扫描软件包。

6.创建yum配置文件:单独创建自己的配置文件。进入yum.repos.d文件夹,创建henry.repo文件并进行编辑。文件名随意起,但需要.repo结尾。

[root@henry repodata]# cd /etc/yum.repos.d/[root@henry yum.repos.d]# lsCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo[root@henry yum.repos.d]# vi henry.repo

以上是文件编辑内容

第一行:yum仓库名字,任意。

第二行:详细名字,任意。

第三行:仓库路径。

baseurl为关键字

file:// 告诉yum为本地仓库

/henry_repo/Packages/ 为绝对路径

第四行:关闭rpm包的gpg校验功能。如果个人环境,建议关闭,参数值为0,如果生产环境,建议打开,参数值为1

最后保存退出。

7.更换yum源并刷新:CentOS6.5默认使用yum.repos.d文件夹下的CentOS-Base.repo配置文件,该文件在yum进行安装包时会进行联网下载操作。现在替换成自己本地的yum源。把原来的文件名称改掉即可。

[root@henry yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup

最后,清理yum缓存,并重新加载。

[root@henry yum.repos.d]# yum clean all[root@henry yum.repos.d]# yum list

现在,可以通过yum进行安装软件包,程序将自动解决包依赖问题。

[root@henry yum.repos.d]# yum install gcc*