文档章节

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

K-X
 K-X
发布于 2015/10/21 09:43
字数 1698
阅读 52
收藏 0
点赞 0
评论 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-rdbms-server-11gR2-preinstall RPM 软件包的功能

oracle-rdbms-server-11gR2-preinstall RPM 软件包的功能 转载 2016年08月20日 20:57:35 基于Linux安装过Oracle的童鞋们都应该清楚,安装Oracle的确是一件比较费时费力的差事,因为仅仅是前期...

rootliu
2017/11/01
0
0
YUM源详解以及EPEL源的创建

YUM是什么? yum(全称为Yellowdog Updater Modified)是一个在CentOS、RedHat和Fedora操作系统中使用的Shell前端软件包管理器。yum主要管理基于rpm的软件包,Centos先将发布的软件放置到YUM...

哆先生
04/16
0
0
Oracle 11g R2 安装和配置

--=========== 0: XServer准备 安装XServer,配置XShell --Xming,Xmanager,Vcxsrv --=========== 1: 磁盘分区和挂载 cd /etc/yum.repos.d/ ## scp ol6.repo root:10.198.15.105:/etc/yum.rep......

UltraSQL
昨天
0
0
Oraclelinux 下载镜像大全

Oracle Enterprise Linux是由Oracle公司提供支持的企业级Linux发行。据项目网站称,Oracle以Red Hat Linux做为起始,移除了Red Hat的商标,然后加入了Linux的错误修正。Oracle Enterprise L...

lzw_me
2014/07/16
0
1
RedHat6.6 安装 oracle11gR2教程

新公司用的是oracle数据库,所以利用下班时间在虚拟机上试着装了下oracle 11gR2 。查了官方的文档,头尾发了三天我的效率也是有够慢的 下面是我整理的过程: Oracle 11g release2 linux x86-...

zhengminghao
06/29
0
0
centOS 5.6下安装Oracle 10g

※部署环境: centOS 5.6 (安装于VMware中),oracle数据库安装包 10201database_linux32.zip ※注意事项:centOS分配空间,我是分配了15G,安装数据库软件以及创建一个数据库,大约使用3-5...

随影求是
2012/03/27
0
0
Oracle安装与使用

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

留言非雨
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

回想过往,分析当下,着眼未来

好久没有真正的在纸质笔记本上写过东西了,感觉都快不会写字了,笔画都不知道怎么写了。接下来就说说咱们的正事。 2018年7月22日,我做了一个决定,那就是去参加安全培训(可能是我职业生涯中...

yeahlife
41分钟前
1
0
关于工作中的人际交往

关于工作中的人际交往 Intro 写了篇发泄情绪的博客,但不会发布出来。 大概就是,要么忍,要么滚。 以及一些不那么符合社会主义核心价值观,不满于大资本家与小资本家剥削的废话。

uniqptr
46分钟前
0
0
springMVC的流程

1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(...

JavaSon712
今天
0
0
大数据教程(3.2):Linux系统软件安装之自动化脚本

博主前面文章有介绍过软件的安装,可以帮助IT人员顺利的完成功能软件安装;但是,对于我们运维人员或者需要管理软件安装的项目经理来说,有些应用一次行需要搭建很多台相同的软件环境(如tom...

em_aaron
今天
0
1
Spring Boot 2.0.3 JDBC整合Oracle 12

整合步骤 1. Oracle驱动引入 Oracle驱动一般不能通过maven仓库直接下载得到,需自行下载并导入到项目的lib目录下,建议通过如下pom依赖引入下载的Oracle驱动 <!-- Oracle 驱动 -->...

OSC_fly
今天
0
0
java 8 并行流 - 1

下面创建一个并行流,与顺序流 //顺序流Stream.iterate(0L, i -> i + 1) .limit(Integer.MAX_VALUE) .reduce(0L, Long::sum);//并行流Stream.iterate(0L, i -> i......

Canaan_
今天
0
0
数据结构与算法5

二分法采用向下取整的方法 使用有序数组的好处是查找的速度比无序数组快的多,不好的方面是因为要将所有靠后的数据移开,所以速度较慢,有序数组和无序数组的删除操作都很慢。 有序数组在查找...

沉迷于编程的小菜菜
昨天
1
1
SpringBoot | 第十一章:Redis的集成和简单使用

前言 上几节讲了利用Mybatis-Plus这个第三方的ORM框架进行数据库访问,在实际工作中,在存储一些非结构化或者缓存一些临时数据及热点数据时,一般上都会用上mongodb和redis进行这方面的需求。...

oKong
昨天
5
0
对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
昨天
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部