Centos7 openSSL

这篇具有很好参考价值的文章主要介绍了Centos7 openSSL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

阅读时长:10分钟

本文内容: 在阿里云Centos7上部署python3.10.6项目时遇到openSSL协议不支持,导致无法下载第三方包

本文目的:

  1. 通过手动编译,升级openssl版本
  2. centos7 重编译 python3.10.6
  3. github下载缓慢解决
  4. 镜像源记录

阿里云Centos7 安装openSSL以及python3.10

整个部署问题的起因就是centos7上系统上自带的openssl版本太低了,导致无法使用 python3+版本。所以要先升级openssl版本

在CentOS7中安装 Python3.10,需要先升级 OpenSSL,系统默认的 OpenSSL版本为1.0.2,版本太低了, 在后面编译安装PIP的时候会报错。

一、升级openssl

yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel

2.进入到 /usr/local/src 目录,将稍后下载的文件放在此目录。

cd /usr/local/src

3.到OpenSSL官方网站下载源码,解压并进入软件包目录:

wget <https://www.openssl.org/source/openssl-1.1.1q.tar.gz> --no-check-certificate
tar -zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q

4.编译安装

./config
make && make install

5.备份系统中的旧 OpenSSL 可执行文件

mv /usr/bin/openssl /usr/bin/openssl.old

6.创建符号链接以关联新安装的 OpenSSL 可执行文件

ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl

7.向动态链接库配置文件添加新的 OpenSSL 库路径

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

8.使用 ldconfig 命令刷新动态链接库缓存,使新配置生效

ldconfig -v

9.检查版本是否升级成功

openssl version

安装python3.10

1.进入到 /usr/local/src 目录,将下载的文件放在此目录。

cd /usr/local/src
# 下载
wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
# 解压
tar -xvzf Python-3.10.6.tgz

2.提前安装稍后编译时会用到的工具

yum -y install gcc zlib zlib-devel libffi libffi-devel

3.配置并编译

# 查看
ls -a
# 进入目录
cd Python-3.10.6
# 运行 configure 脚本,配置编译参数(configure是一个没有后缀的脚本文件)
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-shared --enable-optimizations
# 使用 make 命令编译 Python 3.10 源代码
# make 命令会根据配置参数编译源代码并生成可执行文件
make & make install

4.创建软链接,centos默认安装有python2.7版本,本文两个版本共存

# 第一个地址是 源文件的路径,也就是软链接指向的文件。这个文件通常是 python3 的一个安装位置
# 第二个地址是 软链接的路径,也就是你想要创建的软链接的位置。这个位置通常是系统路径,系统会在这个路径下搜索可执行文件。
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

5.检查是否安装成功

python -V
pip -V

其他错误

  1. 在通过 python -V 验证 python版本时出现报错:

python3: error while loading shared libraries: libpython3.10.so.1.0: cannot open shared object file: No such file or directory

解决办法:

# 查看
cd /usr/local/lib

# 将下载的python包目录中的文件 复制一份到 指定目录
sudo cp /usr/local/src/Python-3.10.6/libpython3.10.so.1.0 /usr/local/lib

# 设置动态链接库地址。注意该目录下就是上一步的 指定目录 。该目录下有文件:libpython3.10.so.1.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
#查看
echo $LD_LIBRARY_PATH

问题解析:

这个报错是python的动态链接库找不到导致的报错,只需要重新设置动态链接库地址即可。

  1. 找到python3的位置,查找指令:whereis python3 。 python的安装位置在上面配置configure时通过prefix进行配置,在此处是: /usr/local/python3. python文件下载位置上面也有,位于 /usr/local/src/Python-3.10.6
  2. 通常当安装了python3后,python3的动态链接库都位于 /usr/local/lib
  3. 临时设置动态链接:通过上面的export的方式设置,只存在与当前会话窗口,关机后就没了
  4. 永久设置动态链接: 通过在文件 /etc/ld.so.conf 中写入 存放动态链接文件的位置(也可以是python的lib目录) 并保存
# 编辑
vi /etc/ld.so.conf

# 添加一行: /usr/local/lib

# 让改动生效
sudo ldconfig

以下是我的 /etc/ld.so.conf 文件中的内容

include ld.so.conf.d/*.conf
/usr/local/openssl/lib
/usr/local/lib

  • 在Linux系统中,LD_LIBRARY_PATH 是一个环境变量,用于指定动态链接器搜索共享库时的路径
# 设置 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/path/you/want/set
export LD_LIBRARY_PATH=/the/path/you/want/set
# 查看动态链接库设置
echo $LD_LIBRARY_PATH
# 清除所有动态链接库设置
unset LD_LIBRARY_PATH

阿里云centos7 访问github缓慢

  • git clone 特别慢,是因为 github.global.ssl.fastly.net 域名被限制了,只要找到这个域名对应的 IP 地址,然后在 hosts 文件中加上 ip–>域名 的映射,刷新 DNS 缓存便可。
# 安装
yum -y install bind-utils

# 获取两组 Name 和 Address
nslookup github.global.ssl.fastly.net
nslookup github.com

添加

$ sudo vim /etc/hosts

例如我拿到上面得到的IP地址后,添加了两行:

69.171.229.73 http://global-ssl.fastly.net 
13.250.177.223 http://github.com

nscd 命令更新 DNS 缓存

# 如果没有安装,则需要安装一下
yum install -y nscd

# 更新 DNS 缓存
nscd -i hosts

然后再次执行 git clone https://github.com/XXX,速度起飞

设置下载源

  1. 临时更改:在安装包时,使用-i参数指定源的URL。

例如,使用清华源安装包packagename,命令为
pip install packagename -i https://pypi.tuna.tsinghua.edu.cn/simple

  1. 永久更改:使用 pip config set global.index-url命令直接指定下载源的URL,这样就不用每次都手动修改了。

例如,将下载源永久更改为清华源,命令为pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
或者通过打开文件手动更改: vi ~/.pip/pip.conf

[global]
index-url = <http://pypi.douban.com/simple/>

[install]
trusted-host = pypi.douban.com
  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:https://mirrors.aliyun.com/pypi/simple
  • 腾讯:http://mirrors.cloud.tencent.com/pypi/simple
  • 豆瓣:http://pypi.douban.com/simple/

卸载Python3

#卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps 

#删除所有残余文件
whereis python3 |xargs rm -frv

#查看现有安装的python,验证是否删除干净
whereis python 

其他指令

查看当前虚拟环境的值:文章来源地址https://www.toymoban.com/news/detail-790045.html

  • echo $VIRTUAL_ENV (仅当激活了虚拟环境时,才会有值)

到了这里,关于Centos7 openSSL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos7升级openssl到openssl1.1.1

    升级步骤 #1、更新所有现有的软件包列表并安装最新的软件包: $sudo yum update #2、接下来,我们需要从源代码编译和构建OpenSSL 1.1.1版本。首先,安装必要的开发工具和依赖项: $sudo yum groupinstall \\\"Development Tools\\\" #3、下载OpenSSL 1.1.1的源代码文件。使用wget命令下载: $wget https://

    2024年01月24日
    浏览(42)
  • CentOS7中升级OpenSSL详细教程

    OpenSSL : 是用于保护数据安全的重要工具。它能提供加密,解密等多项功能。 然而,随着技术的发展和新的安全漏洞的出现,使用最新版本的 OpenSSL 成为了重要的需求。 想了解更多可进入官网:https://www.openssl.org/ 有些较新的应用只能安装在openssl3上,所以不更换centos7只能升级

    2024年02月03日
    浏览(47)
  • CentOS7 如何安装 OpenSSL 1.1.1

    CentOS7自带OpenSSL版本较低,在编译安装python较高版本后,使用pip会报https相关错误,无法安装第三方包。而CentOS7自带yum库中OpenSSL版本太低,只能手动编译安装1.1.1 。Ubuntu18.04及以上较新版本则自带OpenSSL1.1.1或更高版本,不需要自己安装。 zip包存放路径不限,如果没有安装unz

    2024年02月11日
    浏览(49)
  • [centos]centos7源码编译cmake报错Could NOT find OpenSSL

    测试环境: centos7.9 cmake==3.25.0 ./bootstrap以后报错如下: Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) CMake Error at Utilities/cmcurl/CMakeLists.txt:485 (message):   Could not find OpenSSL.  Install an OpenSSL development pa

    2024年02月02日
    浏览(54)
  • 再写CentOS7升级OpenSSL-1.0.1U

    本文在CentOS7.4以及TencentOS 2.4上测试通过。 原系统自带OpenSSL 1.0.2k-fips。 编译安装方法跟之前的没啥区别。 从官网下载1.0.1u版https://www.openssl.org/source/ 使用tar解包 tar xfz openssl-1.0.1u.tar.gz 依次执行如下: cd openssl-1.0.1u ./config shared zlib make make install 以上执行完毕,开始修改配置。

    2024年02月11日
    浏览(41)
  • Centos7修复OpenSSL 安全漏洞 (CVE-2022-0778)

    centos7环境下OpenSSL拒绝服务漏洞(CVE-2022-0778) 漏洞影响范围: OpenSSL1.0.2 OpenSSL1.1.1 OpenSSL3.0 OpenSSL拒绝服务漏洞(CVE-2022-0778):该漏洞是由于OpenSSL中的BN_mod_sqrt()函数存在解析错误,由于证书解析发生在证书签名验证之前,因此任何解析外部提供的证书场景都可能受到拒绝服务攻击

    2024年02月12日
    浏览(38)
  • centos7.9升级openssl以解决pip安装过程中的问题

    查看原来openssl的版本 下载新的包 下载有点慢啊,酌情考虑使用国内源镜像吧。 安装 增加配置并使其生效 链接新版本 最后查看openssl版本验证。 因为ssl的1.0.2已经无法支持高版本的python,为了防止后面使用pip的时候出现问题,必须做一个升级。 现在重新编译安装python3.10 下

    2024年02月12日
    浏览(55)
  • centos7.5升级openssh9.3p1,openssl1.1.1t

    注意:升级后由于加密算法的区别,低版本的SSH工具可能无法连接,建议改用Xshell7或SecureCRT9.0以上版本。 一、安装前查看系统及版本 二、安装步骤 1.下载tar包 解压到指定路径: 2.安装zlib 3.安装openssl 4.安装openssh 5.修改配置文件 (1)sshd_config文件修改 需要添加X11Forwarding y

    2024年02月16日
    浏览(52)
  • CentOS7下rpm包方式升级openssl到安全版本1.1.1q

    参考链接:https://cloud.tencent.com/developer/article/1767718 OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 OpenSSL是Openssl团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输

    2024年02月05日
    浏览(42)
  • centos7 使用openssl 配置证书服务器并颁发证书(史上最详细版本)

    最近接到一个任务:由于我们的产品涉及使用数字证书进行签名、签章,如果需要使得签名签章暗具有法律效力,就必须使用权威CA中心颁发的数字证书,就需要小钱钱;但是对于测试来说,就可以适当减少小钱钱的使用;于是,可以考虑自建证书服务器,自己颁发证书,然

    2024年01月16日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包