Хостинг: новая капля на Digital Ocean
Операционная система: новая установка CentOS 7.6.1810
Вопрос: Я установил OpenSSL 1.1.1 из исходного кода, используя учебное пособие, но я не понимаю, что делают следующие две строки. Я понимаю основы Linux, но не знаю, как их читать.
:~# export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
:~# echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64" >> ~/.bashrc
Во-вторых, когда я проверяю версию, возвращается 1.1.1.
:~# openssl version
:~# OpenSSL 1.1.1 11 Sep 2018
Однако, когда я смотрю на то, что установлено, оно все еще показывает старый OpenSSL 1.0.2k.
:~# yum list installed | grep openssl
openssl.x86_64 1:1.0.2k-16.el7_6.1 installed
openssl-devel.x86_64 1:1.0.2k-16.el7_6.1 @updates
openssl-libs.x86_64 1:1.0.2k-16.el7_6.1 installed
Мне кажется, что первые две строки каким-то образом связаны с этой проблемой, но я не могу их понять. Ненавижу делать что-то с помощью роботов, не понимая, что происходит.
На странице руководства ld.so (8) объясняется:
LD_LIBRARY_PATH
A list of directories in which to search for ELF libraries at
execution time. The items in the list are separated by either
colons or semicolons, and there is no support for escaping
either separator.
This variable is ignored in secure-execution mode.
Устанавливая это в вашей среде, вы заставляете программы, которые вы запускаете, сначала искать разделяемые библиотеки в этих каталогах. Похоже, что ваш автор учебника намеревается переопределить системные пакеты OpenSSL вашей локально установленной версией OpenSSL.