V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
smartG
V2EX  ›  问与答

如何在一台不能联网的 Linux 服务器上安装 Oracle 数据库的相关依赖

  •  
  •   smartG · 2020-05-09 16:02:32 +08:00 · 2996 次点击
    这是一个创建于 1689 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在一个没有外网不能使用 yum 的环境内,安装 Oracle 数据库时,本地上传了所需要的依赖包,准备使用 rpm 安装,而 rpm 是一个互相依赖的网络状包,安装第一个包时提示需要 GLIBC_2.14 版本,然后就去升级 glibc,升级过程中又需要 gcc,然后去安装 gcc,安装 gcc 时提示又依赖另外 5 个包,每个包还有对应的版本,看的头都大了,不知各位大佬有什么好的方法可以解决吗
    第 1 条附言  ·  2020-05-11 15:32:24 +08:00
    感谢各位,最后使用光盘安装的本地 yum 源,安装飞快!
    20 条回复    2020-05-12 14:37:10 +08:00
    tomczhen
        1
    tomczhen  
       2020-05-09 16:06:56 +08:00 via Android
    都用 Oracle 了,找甲骨文工程师解决不就好了。
    asilin
        2
    asilin  
       2020-05-09 16:08:13 +08:00
    使用 createrepo 将本地目录的 rpm 包建成一个本地仓库,然后在 yum 中配置添加本地仓库,即可使用 yum install
    来安装了

    如果包特别多,特别大,建立仓库索引的时间就比较长,这时可以使用 C 语言实现的 createrepo_c 命令来代替 createrepo,多线程操作。
    gefranks
        3
    gefranks  
       2020-05-09 16:09:04 +08:00 via iPhone   ❤️ 1
    mount Linux 光盘 然后把 yum repo 指向那个光盘?
    数据库安装文档里我记得是列出了依赖包和版本的
    xwg999
        4
    xwg999  
       2020-05-09 16:27:21 +08:00 via iPhone
    挺难的
    nijux
        5
    nijux  
       2020-05-09 16:34:05 +08:00
    自己打包一个 Oracle 的 docker 镜像,在机器上离线安装 docker,在加载自己打包的 Oracle 镜像
    xcai
        6
    xcai  
       2020-05-09 16:38:17 +08:00
    @nijux #5 并不是啥情况都能使用 Docker
    xcai
        7
    xcai  
       2020-05-09 16:38:29 +08:00   ❤️ 1
    动不动就 Docker
    dot2017
        8
    dot2017  
       2020-05-09 16:39:23 +08:00
    你需要一个 CD ISO
    Shirakawa
        9
    Shirakawa  
       2020-05-09 16:44:41 +08:00
    不知道用虚拟机开个一样的系统通过 yum install yum-downloadonly 下载相关依赖,然后传到目标机器上 rpm -ivh * 行不行
    MonoLogueChi
        10
    MonoLogueChi  
       2020-05-09 16:48:47 +08:00 via Android   ❤️ 1
    光盘安装,oracle 应该有完整的解决方案
    EdgarZhang
        11
    EdgarZhang  
       2020-05-09 16:54:01 +08:00   ❤️ 1
    什么系统?如果是 Centos 你把两张 DVD 盘都下载下来。
    然后,百度找下如何合并两张光盘,并重新生成索引,搭建本地 yum 库。我之前干过。
    hotsun168
        12
    hotsun168  
       2020-05-09 17:35:59 +08:00   ❤️ 1
    看楼主的帖子瞬间回忆起刚入行的时候也是在没有外网的 Red Hat 5.5 装 Oracle 11g,当时不懂搭建本地 yum 库,缺一个包就拔掉内网网线插上外网网线找一个包,再把网线换回来传到服务器并安装,硬生生手工装了几十个包上去。最后安装成功时的感受真的是无法形容。
    flexbug
        13
    flexbug  
       2020-05-09 21:13:11 +08:00 via Android
    我公司也用 Oracle Linux,当然有自建的 yum 源
    kebyn
        14
    kebyn  
       2020-05-09 23:32:29 +08:00 via iPhone
    yum localinstall 可以直接安装所有本地依赖
    chihiro2014
        15
    chihiro2014  
       2020-05-09 23:33:55 +08:00
    自己搞个 docker 镜像可以破
    Jirajine
        16
    Jirajine  
       2020-05-09 23:49:16 +08:00 via Android
    最简单的办法,在内网开一个能连外网的代理服务器,通过代理安装。
    当然你要是说整个内网下所有设备的都不能连外网那你只能搭个本地源了。
    iloveayu
        17
    iloveayu  
       2020-05-10 00:06:18 +08:00
    下载对应你系统版本的光盘 ISO 安装,如果是 CentOS,有 Everything ISO 。
    这种情况还用 Docker 的,不是添乱么。
    viggoc
        18
    viggoc  
       2020-05-10 00:13:24 +08:00 via Android   ❤️ 2
    自己用过的两种方案

    1. 用 Everything ISO 建立一个本地仓库

    2. yum downloadonly 下载好相关依赖,上传
    redstar78kg
        19
    redstar78kg  
       2020-05-10 06:18:02 +08:00 via Android   ❤️ 1
    安全生产环境,我推荐 centOS,不能联网,没关系,下载好 DVD,scp 上去,挂载后,yum 配置指向 DVD 就搞定了。 用 Debian,弄个 DVD 园就比较麻烦了。

    如果 A 可以访问互联网,服务器 B 不能访问互联网,但是 A 可以 ssh 管理 B 。简单方案是,A 采用 brook 运行服务端,B 采用 brook 做客户端,B 上设定 terminal 代理,然后愉快地在 B 上使用 yum 。brook 只需要一行指令就可以运行,无需其他配置。GitHub release 有各种平台的二进制文件。
    julyclyde
        20
    julyclyde  
       2020-05-12 14:37:10 +08:00
    这就是兼容性认证的意义啊
    经过认证的系统可以保证你对着文档能装出来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:32 · PVG 06:32 · LAX 14:32 · JFK 17:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.