文档章节

从Oracle Public Yum为Oracle Linux建立本地的Yum源

K-X
 K-X
发布于 2015/10/21 09:43
字数 1698
阅读 59
收藏 0

你可以在这里找到本文的原文。

本文是在Oracle Linux 6.5下,通过复制Oracle Public Yum源的方式建立一个完整的本地Yum源。由于只是出于测试和快速上手的目的,只进行了一次同步复制。在同步复制完成之后,就可以把外网切断,换到真正的测试和部署环境中使用本地的Yum源了。

为什么需要本地Yum源

在Oracle Linux下安装Oracle数据库,Oracle VDI以及其他Oracle产品时,通常都会需要连接外网从Oracle Public Yum中下载最新的安装包和依赖包。不得不说,这是最有效也是最安全的方法。但是,事实上并不是所有的测试和部署环境都能连接外网的,而且即使能连外网,由于带宽的限制,下载速度可能非常慢。这时,就需要建立本地的Yum安装仓库。

为什么需要从官方复制Yum源

虽然通过ISO镜像文件可以建立一个基本的本地Yum源,但是比起Oracle Public Yum源来说,ISO镜像中包含的软件包并不是最全的,也不是最新的(比如,Oracle VDI安装时需要的gdm_multiseat仓库在ISO镜像中就没有,还比如Oracle数据库安装时的依赖包在ISO镜像中也没有)。

测试环境

本文的思路如下(推荐使用Oracle VirtualBox部署虚拟机,这样就可以随意切换内外网环境了):

  • 第一步:在一个能上外网,网速很快的临时环境中,同步复制Oracle Public Yum中各个仓库的软件包到本地目录
  • 第二步:从复制到本地的包建立本地Yum源
  • 第三步:将建立好的本地Yum源移动到真正的部署环境中,开始在无外网的情况下使用

接下来详细介绍每个步骤的实施过程。

第一步:在一个能上外网,网速很快的临时环境中,同步复制Oracle Public Yum中各个仓库的软件包到本地目录

这一步的测试环境和条件如下:

  • Oracle Linux可以连接外网,准确的说是可以连接Oracle Pubic Yum
  • 禁用了SELinux和iptables

配置临时的外网Yum源

首先需要保证能上外网,并能够访问public-yum.oracle.com。 开始配置Yum源,把public-yum-ol6.repo下载到/etc/yum.repo.s目录,并编辑内容如下:

[ol6_u5_base]
name=Oracle Linux $releasever Update 5 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/5/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1 ###开启;但是在安装VDI时,如果你使用安装镜像(ISO)文件作为本地Yum源的话,这里不用开启

[ol6_addons]
name=Oracle Linux $releasever Add ons ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1 ###开启

[ol6_UEK_base]
name=Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1 ###开启;但是在安装VDI时,如果你使用安装镜像(ISO)文件作为本地Yum源的话,这里不用开启

[ol6_gdm_multiseat]
name=Oracle Linux 6 GDM Multiseat ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/gdm_multiseat/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1 ###开启

本文中,我们需要同步复制下面四个Yum仓库,所以在上面的配置文件中把这四个仓库全部启用:

  • ol6_u5_base- 大概25GB以上
  • ol6_addons - 大概5GB
  • ol6_UEK_base
  • ol6_gdm_multiseat - 大概2MB

安装并配置FTP

[root@vdi ~]# yum install vsftpd
[root@vdi ~]# chkconfig vsftpd on
[root@vdi ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

在安装完成后,无需任何配置,默认会将/var/ftp/pub作为FTP的主目录。任意存放在这个目录下的文件都可以发布到FTP站点上,通过 ftp://localhost/pub 下载到。

创建本地Yum源的存放目录

这里使用FTP默认的公共目录。

[root@vdi pub]# mkdir -p /var/ftp/pub/repos/x86_64/

安装reposync同步工具

该工具包含在yum-utils包中。

[root@vdi pub]# mkdir -p /var/ftp/pub/repos/x86_64/
[root@vdi pub]# yum install yum-utils

开始同步复制

依次同步复制这四个Yum仓库,由于文件量(约30GB)比较大,请预留足够的磁盘空间,而且这一步花费的时间会很长,需要耐心等待。

[root@vdi pub]# reposync --repoid=ol6_u5_base --repoid=ol6_u5_base -p /var/ftp/pub/repos/x86_64
...
[root@vdi pub]# reposync --repoid=ol6_addons --repoid=ol6_addons -p /var/ftp/pub/repos/x86_64
...
[root@vdi pub]# reposync --repoid=ol6_UEK_base --repoid=ol6_UEK_base -p /var/ftp/pub/repos/x86_64
...
[root@vdi pub]# reposync --repoid=ol6_gdm_multiseat --repoid=ol6_gdm_multiseat -p /var/ftp/pub/repos/x86_64
...

第二步:从复制到本地的包建立本地Yum源

先安装仓库创建工具createrepo

[root@vdi x86_64]# yum install createrepo

在上一步的同步复制之后,会有如下四个目录

[root@vdi x86_64]# pwd
/var/ftp/pub/repos/x86_64
[root@vdi x86_64]# ls
ol6_addons  ol6_gdm_multiseat  ol6_u5_base  ol6_UEK_base
p/pub/repos/x86_64

其中,每个目录下都会有一个名为getPackage的子目录,该目录中会存放下载到本地的各个软件包。接下来需要使用createrepo创建Yum源的元数据(repodata目录),四个文件依次执行:

[root@vdi x86_64]# createrepo /var/ftp/pub/repos/x86_64/ol6_u5_base/getPackage/
...
[root@vdi x86_64]# createrepo /var/ftp/pub/repos/x86_64/ol6_UEK_base/getPackage/
...
[root@vdi x86_64]# createrepo /var/ftp/pub/repos/x86_64/ol6_addons/getPackage/
...
[root@vdi x86_64]# createrepo /var/ftp/pub/repos/x86_64/ol6_gdm_multiseat/getPackage/
...
注意: 只有包含`repodata`的目录才可以当成Yum仓库!

接下来就可以配置本地Yum源了。

先备份public-yum-ol6.repo,然后创建一个空的local.repo:

[root@vdi x86_64]# mv /etc/yum.repos.d/public-yum-ol6.repo /etc/yum.repos.d/public-yum-ol6.repo.orig
[root@vdi x86_64]# vim /etc/yum.repos.d/local.repo

输入以下内容:

[ol6_u5_base]
name=ol6_u5_base
baseurl=ftp://localhost/pub/repos/x86_64/ol6_u5_base/getPackage
gpgcheck=0
enabled=1

[ol6_UEK_base]
name=ol6_UEK_base
baseurl=ftp://localhost/pub/repos/x86_64/ol6_UEK_base/getPackage
gpgcheck=0
enabled=1

[ol6_addons]
name=ol6_addons
baseurl=ftp://localhost/pub/repos/x86_64/ol6_addons/getPackage
gpgcheck=0
enabled=1

[ol6_gdm_multiseat]
name=ol6_gdm_multiseat
baseurl=ftp://localhost/pub/repos/x86_64/ol6_gdm_multiseat/getPackage
gpgcheck=0
enabled=1

测试一下本地Yum源:

[root@vdi x86_64]# yum repolist
...
Loaded plugins: security
ol6_gdm_multiseat     | 2.9 kB     00:00
repo id                       repo name          status
ol6_gdm_multiseat             ol6_gdm_multiseat   9
repolist: 9

第三步:将建立好的本地Yum源移动到真正的部署环境中,开始在无外网的情况下使用

这一步很简单,你懂的...略过。

(完)

© 著作权归作者所有

共有 人打赏支持
K-X

K-X

粉丝 7
博文 25
码字总数 34353
作品 0
大连
售前工程师
Oracle Linux 6 配置本地光盘源

1 挂载Oracle Linux 6光盘(以root用户执行) #mkdir -p /mnt/cdrom #mount /dev/cdrom /mnt/cdrom 2 创建local.repo文件(以root用户执行) #vi /etc/yum.repos.d/local.repo 3 修改public-......

qq8658868
07/03
0
0
Redhat 6.4 安装 Oracle10g 血泪史

1.系统和软件,附下载地址 VMware Workstation 10.7z [红帽企业Linux.6.4.服务器版].rhel-server-6.4-x8664-dvd[ED2000.COM].iso 10201databaselinuxx86_64.cpio.gz 2.从0开始安装 安装虚拟机......

whaon
2015/01/18
0
43
最小化安装OEL6.5和配置

最小化安装Oracle Enterprise Linux 6.5 新建虚拟机 开始安装系统 安装完成后查看虚拟机大小 查看内存资源占用情况 修改网卡设置: 配置网卡vi/etc/sysconfig/network-scripts/ifcfg-eth0 DEV...

Mike_adu
2014/05/14
0
0
Oracle 12cR2 on CentOS-7

以 root 用户登录CentOS 更新系统并安装基础软件包 编辑sudoers配置文件: 在 "root ALL=(ALL) ALL" 下方,新增普通用户的权限配置: 配置静态IP 使用 命令获取物理网卡的初始配置信息: 修改...

javaite
2016/12/17
31
0
Oracle安装与使用

一、Oracle1.大型关系型数据库(E-R图)2.甲骨文(Java)3.UNIX、Linux、Windows支持4.Oracle发行版5.数据库(软件+数据库)MySQL6.默认只有一个数据库 二、安装Oracle前提 1G以上内存,swap为内存...

留言非雨
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt那些事0.0.7

在帮助文档(Overview - QML and C++ Integration)中随缘遇到一张图,是关于C++对象与QML整合介绍的,值得标记下来,虽然大部分功能也有所涉猎,但是还是留个记号,万一哪天我失忆了还想写Q...

Ev4n
13分钟前
0
0
快速幂运算

题:求一个数 data 的 n 次幂,要求时间复杂度为log(n) 1:递归算法: /** * x^3=(x^2)*x;x^7=(x^3)^2 * x * * 递归算法 * @param data 底数 * @param n 次...

偶尔诗文
18分钟前
1
0
Google 宣布将会关闭消费者版本 Google+

Google 家的社交平台 Google+ 原来曾经在今年 3 月发生了一次严重的用户资料外泄事故,但这科网巨擘却一直保密,直至今天华尔街日报把事件披露之后才确认事件。Google 在重申问题已经即时解决...

问题终结者
31分钟前
1
0
腾讯三大运维开源项目齐聚“OSCAR开源先锋日”

10月20日,腾讯开源三大运维开源项目——TARS、蓝鲸和织云Metis首次集结,参与了由中国信息通信研究院主办、云计算标准与开源推进委员会承办的 “OSCAR开源先锋日”。会上,腾讯开源团队与前...

腾讯开源
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部