Persedian mengikut distribusi

Fedora

sudo dnf install perl-core perl-IPC-Cmd

Debian

sudo apt install perl build-essential


Java/JVM dan libhadoop.so lebih selesa guna shared .so.

Berikut langkah lengkap untuk bina OpenSSL 1.1 shared libraries di Fedora:

wget -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.gz

Bersihkan build lama

Kalau anda sudah compile dengan no-shared sebelum ini, pastikan direktori bersih:

cd ~/Build/openssl-1.1.1w   # contoh kalau ini source
make clean

Konfigurasi semula dengan shared -fPIC

Gunakan --prefix supaya ia masuk ke /usr/local/openssl1.1 (bukan kacau OpenSSL sistem):

./config --prefix=/usr/local/openssl1.1 shared -fPIC

Opsyen penting:

  • shared → hasilkan .so (shared objects).
  • -fPIC → pastikan posisi-independen (perlu untuk dynamic libraries, terutamanya bila dipanggil JNI).

Kompilasi dan pasang

make -j$(nproc)
make test
sudo make install

Semak hasil

Selepas install, anda patut nampak:

sudo ls -l /usr/local/openssl1.1/lib | egrep 'ssl|crypto'

Output dijangka:

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:

echo "/usr/local/openssl1.1/lib" | sudo tee /etc/ld.so.conf.d/openssl-1.1.conf
sudo ldconfig

Export 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:

which 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 setup betul


Kali terakhir dikemaskini:

Tentang Blog & Penulis

Topik perbincangan dalam blog ini merangkumi Linux dan perisian sumber terbuka, Virtual Machine, serta Typesetting system.
Fokus semasa: Full Stack Development
Minat sampingan: Analisis Data
Bakat tersembunyi hamba: Menyanyi dan melukis.

Sumber dari Wallpaper Cave.