openGauss2.1.0 在 openEuler 20.03 LTS SP2 安装后,yum 无法使用的问题解决

一、环境描述

操作系统:

openEuler 20.03 LTS

openEuler 20.03 LTS SP2

数据库:

openGauss2.1.0

软件包:

openGauss-2.1.0-openEuler-64bit-all.tar.gz

二、安装过程

安装过程自动创建初始用户 omm。

三、问题

数据库安装使用正常,但是使用 yum,会报错:

[root@node1 ~]# yum list

Traceback (most recent call last):

File "/usr/lib64/python3.7/site-packages/libdnf/common_types.py", line 14, in swig_import_helper

return importlib.import_module(mname)

File "/usr/lib64/python3.7/importlib/init.py", line 127, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

File "", line 1006, in _gcd_import

File "", line 983, in _find_and_load

File "", line 967, in _find_and_load_unlocked

File "", line 670, in _load_unlocked

File "", line 583, in module_from_spec

File "", line 1043, in create_module

File "", line 219, in _call_with_frames_removed

ImportError: /lib64/libcurl.so.4: symbol SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/usr/bin/yum", line 57, in

from dnf.cli import main

File "/usr/lib/python3.7/site-packages/dnf/init.py", line 30, in

import dnf.base

File "/usr/lib/python3.7/site-packages/dnf/base.py", line 29, in

import libdnf.transaction

File "/usr/lib64/python3.7/site-packages/libdnf/init.py", line 3, in

from . import common_types

File "/usr/lib64/python3.7/site-packages/libdnf/common_types.py", line 17, in

_common_types = swig_import_helper()

File "/usr/lib64/python3.7/site-packages/libdnf/common_types.py", line 16, in swig_import_helper

return importlib.import_module('_common_types')

File "/usr/lib64/python3.7/importlib/init.py", line 127, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

ModuleNotFoundError: No module named '_common_types'

[root@node1 ~]#

四、问题分析

[root@node1 lib64]# ldd /lib64/libcurl.so.4

linux-vdso.so.1 (0x00007fff98577000)

libnghttp2.so.14 (0x00007f06c3221000)

libidn2.so.0 (0x00007f06c3201000)

libssh.so.4 (0x00007f06c3180000)

libpsl.so.5 (0x00007f06c316d000)

libssl.so.1.1 => /opt/software/openGauss/script/gspylib/clib/libssl.so.1.1 (0x00007f06c30db000)

libcrypto.so.1.1 => /opt/software/openGauss/script/gspylib/clib/libcrypto.so.1.1 (0x00007f06c2e14000)

libgssapi_krb5.so.2 (0x00007f06c2dc4000)

libkrb5.so.3 (0x00007f06c2ce4000)

libk5crypto.so.3 (0x00007f06c2cc9000)

libcom_err.so.2 (0x00007f06c2cc3000)

libldap-2.4.so.2 (0x00007f06c2c76000)

liblber-2.4.so.2 (0x00007f06c2c63000)

libbrotlidec.so.1 (0x00007f06c2c54000)

libz.so.1 (0x00007f06c2c3a000)

libpthread.so.0 (0x00007f06c2c19000)

libc.so.6 (0x00007f06c2a58000)

libunistring.so.2 (0x00007f06c28d4000)

librt.so.1 (0x00007f06c28c7000)

/lib64/ld-linux-x86-64.so.2 (0x00007f06c32d9000)

libdl.so.2 (0x00007f06c28c2000)

libkrb5support.so.0 (0x00007f06c28b2000)

libkeyutils.so.1 (0x00007f06c28ac000)

libresolv.so.2 (0x00007f06c2894000)

libsasl2.so.3 (0x00007f06c2873000)

libm.so.6 (0x00007f06c26f0000)

libbrotlicommon.so.1 (0x00007f06c26cd000)

libselinux.so.1 (0x00007f06c26a1000)

libcrypt.so.1 (0x00007f06c2666000)

libpcre2-8.so.0 (0x00007f06c25d4000)

[root@node1 lib64]# nm /opt/software/openGauss/script/gspylib/clib/libssl.so.1.1| grep SSLv3_client_method

确实没有 SSLv3_client_method

五、解决

1 、下载 openssl-1.1.1l,编译:

编译 openssl 增加 enable-ssl3 与 enable-ssl3-method 选项

tar -zxvf openssl-1.1.1l.tar.gz

cd openssl-1.1.1l

./config shared enable-ssl3 enable-ssl3-method

make

make install

检查新编译的文件是否包含 SSLv3_client_method:

[root@node1 lib64]# nm /usr/local/lib64/libssl.so.1.1 | grep SSLv3_client_method

00000000000214f0 T SSLv3_client_method

编译完成后是有 SSLv3_client_method

编译好的库拷贝替换原来的 libssl.so.1.1:

[root@node1 lib64]# cp /usr/local/lib64/libssl.so.1.1 /opt/software/openGauss/script/gspylib/clib/

cp: overwrite '/opt/software/openGauss/script/gspylib/clib/libssl.so.1.1'? y

[root@node1 lib64]#

检查:

[root@node1 lib64]# nm /opt/software/openGauss/script/gspylib/clib/libssl.so.1.1| grep SSLv3_client_method

00000000000214f0 T SSLv3_client_method

至此,该文件正常。

yum测试:

[root@node1 lib64]# yum install -y tree

Last metadata expiration check: 0:29:30 ago on Tue 23 Nov 2021 11:15:02 AM CST.

Package tree-1.7.0-18.oe1.x86_64 is already installed.

Dependencies resolved.

Nothing to do.

Complete!

修复完成,yum 正常使用

六、深入问题

[root@node1 lib64]# ldd /lib64/libcurl.so.4

linux-vdso.so.1 (0x00007fff98577000)

libnghttp2.so.14 (0x00007f06c3221000)

libidn2.so.0 (0x00007f06c3201000)

libssh.so.4 (0x00007f06c3180000)

libpsl.so.5 (0x00007f06c316d000)

libssl.so.1.1 => /opt/software/openGauss/script/gspylib/clib/libssl.so.1.1 (0x00007f06c30db000)

操作系统默认 libssl.so.1.1 链接到/lib64 目录中,但是安装数据库后

发现 libssl.so.1.1 链接到/opt/software/openGauss/script/gspylib/clib/libssl.so.1.1 ,

怀疑安装脚本有问题。

这里参考曾庆峰老师的解决方案:

“先创建 omm 用户 dbgrp 组,预安装时就不再创建 omm”,安装后,yum 可以使用。

七、最简单方法

按照官方文档正常安装,yum 报错,只需要:

vim /etc/profile

export LD_LIBRARY_PATH=/opt/software/openGauss/script/gspylib/clib:

export PATH=/root/gauss_om/omm/script:$PATH

重启即可。

原因:

估计是安装脚本有问题。

openGauss2.1.0在openEuler 20.03 LTS SP2 安装后,yum无法使用的问题解决的更多相关文章

  1. openEuler 20.03/21.03 - 华为欧拉开源版(CentOS 8 华为版开源版)下载

    开始 openEuler 之旅吧 openEuler 通过社区合作,打造创新平台,构建支持多处理架构.统一和开放的操作系统,推动软硬件应用生态繁荣发展. 好玩的活动停不下来 openEuler 社区不 ...

  2. Linux --- Ubuntu16.04.5 LTS 虚拟机安装后的软件安装基础操作总结

    1. 配置安装源 因为默认是使用Ubuntu官方服务器,国内电脑使用外国服务器较慢,所以需使用国内的服务器(以下清华大学服务器为例). 方法一: (此过程很慢,实在不动就取消吧,加载一部分也够用,以后 ...

  3. centos7.0安装后ifconfig无法使用

    由于使用的最小化安装,需要安装net-tools 输入如下命令: #yum install -y net-tools 即可

  4. MAC下SecureCRT 8.0.4破解版远程连接工具的安装与配置

    一 SCRT的软件的安装:首先访问 http://xclient.info/s/securecrt.html?_=4365bb5cf097dc2c135a57c2ce30b264 选择8.0.4的版本 ...

  5. win10 + Ubuntu 20.04 LTS 双系统 引导界面美化

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  6. Windows10 + Ubuntu 20.04 LTS 双系统安装 (UEFI + GPT)(图文,多图预警)

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  7. 树莓派安装 Ubuntu 20.04 LTS 碰壁指南

    树莓派安装 Ubuntu 20.04 LTS 碰壁指南 设备 Raspberry 4B 4+32G 系统 Ubuntu 20.04 LTS 1.镜像下载与烧录 镜像下载地址:https://cdima ...

  8. 编译安装 codeblocks 20.03 mips64el

    期末考试要用哦,不然谁会愿意去踩这么多坑. qaq 龙梦 Fedora28 中有 codeblocks 17.12,但是 Ctrl-v 粘贴会闪退,导致压根不能用.Bing了一下发现这其实是 code ...

  9. hadoop 0.20.2伪分布式安装详解

    adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...

  10. Build completed with 1 error and 0 warnings in 20 ms

    今天运行Idea,好端端的项目居然报了这个莫名其妙的错误Build completed with 1 error and 0 warnings in 20 ms. 首先排查下代码是否有问题,然后我就建 ...

随机推荐

  1. 【Azure Key Vault】客户端获取Key Vault机密信息全部失败问题分析

    问题描述 在应用中获取存储在Azure Key Vault的机密信息,全部失败. 报错日志内容如下: [reactor-http-epoll-4] [reactor.netty.http.client ...

  2. C++11新特性的一些用法举例①

    //字符串字面量/*常用:1.原始字符串字面量 --- 括号内保持原样输出 --- 没有转义字符,如\n不再是换行,而是直接输出字面量\nR"(str)"; 实例: R" ...

  3. Java 接口的应用:代理模式

    1 package com.bytezreo.interfacetest; 2 3 /** 4 * 5 * @Description 接口的应用:代理模式 6 * @author Bytezero·z ...

  4. Java 理解“万事万物皆对象”+ 匿名对象的使用

    1 /** 2 * 3 * @Description 4 * @author Bytezero·zhenglei! Email:420498246@qq.com 5 * @version 6 * @d ...

  5. SQL之 逻辑库,数据表

    SQL语言三大类 创建逻辑库 创建数据表 例子 数据表其他操作 ps:desc仅仅查看表的结构,不能查看内容 添加字段 ps: 修改字段类型和约束 修改字段名称 删除字段

  6. great [ɡreɪt] ɡr 然后 eɪt 单词发音 r和前面的辅音连读

    great [ɡreɪt] ɡr 然后 eɪt 单词发音 r和前面的辅音连读

  7. stm32芯片的SPI接口调试总结之轮询模式

    一 概念 1 组成 SPI系统可直接与各个厂家生产的多种标准外围器件接口,它只需4条线:串行时钟线(SCK).主机输入/从机输出数据线(MISO).主机输出/从机输入数据线(MOSI)和低电平有效的从 ...

  8. C++B树的实现

    B树的实现 今天我们就来实现以下B树,B树有什么特点那?我们来列举一下 每个非叶子节点中存放若干关键字数据,并且有若干指向儿子节点的指针.指针数目=关键字数目+1 根节点有最少1个,最多m-1个关键字 ...

  9. 访问Webapp目录下面的html文件变为代码

    一.问题由来 一位朋友在学习使用Servlet做练习的时候,突然出现一个问题,他去访问自己创建的html文件时,发现返回的数据是html代码,而不是解析后的页面. 很是疑惑,自己尝试着解决这个问题,很 ...

  10. 3DCAT实时渲染云在虚拟展会中的应用

    随着互联网技术的不断发展,实时3D可视化技术在日常生活中应用越来越广泛,越来越多的行业开始转向线上.今年受新冠肺炎疫情影响很多展会都无法在线下举办,而3d线上虚拟展会采用了全新的在线展示产品方式,将展 ...