要在沒有 root 權限的情況下從原始碼安裝 Python,我必須安裝openssl
,我使用以下命令進行安裝:
wget https://www.openssl.org/source/openssl-1.1.1e.tar.gz
tar -xzvf openssl-1.1.1e.tar.gz
cd openssl-1.1.1e
./config --prefix=${HOME}/.local/openssl --openssldir=${HOME}/.local/openssl
make -j$(nproc)
make install_sw
然後我在中設定以下內容~/.bashrc
:
export PATH=$HOME/.local/openssl/bin:$PATH
export LD_LIBRARY_PATH=$HOME/.local/openssl/lib:$LD_LIBRARY_PATH
在此之後,我不能再wget
像以前一樣使用:
ERROR: cannot verify github.com's certificate, issued by ‘CN=DigiCert SHA2 Extended Validation Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US’:
Unable to locally verify the issuer's authority.
To connect to github.com insecurely, use `--no-check-certificate'.
似乎任何需要證書的連線都會失敗。
我的問題是如何openssl
完美地進行自訂的本機安裝(也許透過匯入現有憑證並將它們放在正確的位置?)。
預先非常感謝您的幫忙!
答案1
./config --prefix=${HOME}/.local/openssl --openssldir=${HOME}/.local/openssl
--openssldir
指定 openssl 設定檔的目錄,預設情況下也是尋找 CA 憑證的目錄。因此,您應該透過符號連結來重複使用系統上現有的 OPENSSLDIR ${HOME}/.local/openssl
,或將系統 CA 憑證從系統目錄複製到新目錄中。系統上預設 openssl 安裝的 OPENSSLDIR 取決於您的(未知)系統,但它可能類似於/usr/lib/ssl
.