我使用 Ubuntu 18.04。它附带 OpenSSL 1.1.0g。我尝试将手动编译的 Python 链接到手动编译的 OpenSSL1.1.1a,但效果似乎不太好。现在当我运行 Python 时,它会自动链接到 OpenSSL1.1.1a。我想恢复这一点。我想将 OpenSSL1.1.0g 恢复为我的系统和系统安装的 Python 的默认库。当我检查系统的 OpenSSL 版本时,我得到:
OpenSSL 1.1.0g 2 Nov 2017 (Library: OpenSSL 1.1.1a 20 Nov 2018)
当我检查时:
whereis openssl
我得到:
openssl: /usr/bin/openssl /usr/include/openssl /usr/local/openssl /usr/local/openssl/bin/openssl /usr/share/man/man1/openssl.1ssl.gz
我如何删除 OpenSSL 1.1.1a 并只保留系统的 OpenSSL 1.1.0g?我如何让 Python 链接到 OpenSSL 1.1.0g?现在任何 Python 都链接到 OpenSSL 1.1.1a。
编辑:
我用来编译python和openssl的命令类似(除了版本不同):
# new openssl install
curl https://www.openssl.org/source/openssl-1.0.2g.tar.gz | tar xz && cd openssl-1.0.2g && ./config shared --prefix=/usr/local/ && make && make install
# Python install script
export LDFLAGS="-L/usr/local/lib/"
export LD_LIBRARY_PATH="/usr/local/lib/"
export CPPFLAGS="-I/usr/local/include -I/usr/local/include/openssl"
apt-get update
apt-get install build-essential checkinstall -y
apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev -y
cd /home/web/
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz | tar xzf Python-2.7.11.tgz && cd Python-2.7.11
./configure --prefix=/usr/local/
make altinstall
答案1
首先,您需要卸载手动编译的 OpenSSL 1.1.1a 版本。假设您保留了构建目录,那么这就像make uninstall
在该文件夹中运行一样简单。成功完成后,您需要使用 重新安装 Ubuntu 软件包apt-get install --reinstall openssl
。