博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从Oracle Public Yum为Oracle Linux建立本地的Yum源
阅读量:5902 次
发布时间:2019-06-19

本文共 4719 字,大约阅读时间需要 15 分钟。

  hot3.png

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

本文是在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源

首先需要保证能上外网,并能够访问。 开始配置Yum源,把下载到/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-oraclegpgcheck=1enabled=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-oraclegpgcheck=1enabled=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-oraclegpgcheck=1enabled=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-oraclegpgcheck=1enabled=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 startStarting 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]# lsol6_addons  ol6_gdm_multiseat  ol6_u5_base  ol6_UEK_basep/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_basebaseurl=ftp://localhost/pub/repos/x86_64/ol6_u5_base/getPackagegpgcheck=0enabled=1[ol6_UEK_base]name=ol6_UEK_basebaseurl=ftp://localhost/pub/repos/x86_64/ol6_UEK_base/getPackagegpgcheck=0enabled=1[ol6_addons]name=ol6_addonsbaseurl=ftp://localhost/pub/repos/x86_64/ol6_addons/getPackagegpgcheck=0enabled=1[ol6_gdm_multiseat]name=ol6_gdm_multiseatbaseurl=ftp://localhost/pub/repos/x86_64/ol6_gdm_multiseat/getPackagegpgcheck=0enabled=1

测试一下本地Yum源:

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

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

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

(完)

转载于:https://my.oschina.net/xintq/blog/519695

你可能感兴趣的文章
【11】ajax请求后台接口数据与返回值处理js写法
查看>>
Python菜鸟之路:Jquery Ajax的使用
查看>>
LeetCode算法题-Maximum Depth of Binary Tree
查看>>
Cox 教学视频5
查看>>
Jenkins持续集成学习-搭建jenkins问题汇总
查看>>
使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)
查看>>
flink watermark介绍
查看>>
[Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
查看>>
Android Xutils 框架
查看>>
C#基础知识整理 基础知识(21) 委托(二)
查看>>
Sysbench 0.5版安装配置
查看>>
书摘—你不可不知的心理策略
查看>>
【博客话题】毕业——开始人生的艰苦历程
查看>>
Linux安装telnet
查看>>
sap scriptfom 多语言翻译
查看>>
黄聪:3分钟学会sessionStorage用法
查看>>
Entity Framework 全面教程详解(转)
查看>>
Windows上Python2.7安装Scrapy过程
查看>>
Chapter 3:Code Style in Django
查看>>
挖掘数据金矿 领军协同创新 曙光荣膺“2016大数据创新应用领袖企业”称号
查看>>