Langkah-langkah Membina Pakej OpenSSl 1.1 dari Sumber
Berikut langkah lengkap untuk bina OpenSSL 1.1 shared libraries di Fedora.
Persedian mengikut distribusi
Fedora
bashsudo dnf install perl-core perl-IPC-CmdDebian
bashsudo apt install perl build-essentialMuat turun
bashwget -P ~/Downloads https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
cd Build
tar -xvf ~/Downloads/openssl-1.1.1w.tar.gzBersihkan build lama
Kalau anda sudah susun dengan opsyen no-shared sebelum ini, pastikan direktori bersih:
bashcd ~/Build/openssl-1.1.1w   # contoh kalau ini source
make cleanKonfigurasi semula dengan opsyen ‘shared -fPIC’
Gunakan --prefix supaya ia masuk ke /usr/local/openssl1.1 (tanpa mengganggu OpenSSL sistem):
bash./config --prefix=/usr/local/openssl1.1 shared -fPICOpsyen penting:
- shared→ hasilkan- .so(shared objects).
- -fPIC→ pastikan posisi independent (perlu untuk libraries dinamik, terutamanya apabila dipanggil- JNI).
Kompilasi dan pasang
bashmake -j$(nproc)
make test
sudo make installSemak hasil
Selepas pasang, jalankan arahan berikut:
bashsudo ls -l /usr/local/openssl1.1/lib | egrep 'ssl|crypto'Anda patut nampak:
libcrypto.a libcrypto.so -> libcrypto.so.1.1 libcrypto.so.1.1 libssl.a libssl.so -> libssl.so.1.1 libssl.so.1.1
Beritahu sistem lokasi lib
Tambah /usr/local/openssl1.1/lib dalam runtime linker path:
bashecho "/usr/local/openssl1.1/lib" | sudo tee /etc/ld.so.conf.d/openssl-1.1.conf
sudo ldconfigExport environment variables (untuk Hadoop/YARN)
Letak dalam /etc/profile.d/hadoop.sh atau .zshrc pengguna servis:
export PATH=/usr/local/openssl1.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl1.1/lib:$LD_LIBRARY_PATH
Uji versi
Pastikan binari dan library digunakan betul-betul dari /usr/local/openssl1.1 :
bashwhich openssl
openssl version -a
sudo ldd $HADOOP_HOME/bin/container-executor | grep -E 'ssl|crypto'Jika libssl.so.1.1 dan libcrypto.so.1.1 dipanggil dari /usr/local/openssl1.1/lib, maka penyediaan pakej telahpun dilakukan dengan betul.
Rujukan:
Kali terakhir dikemaskini:
