Хостинг: новая капля на Digital Ocean
Операционная система: свежая установка CentOS 7.6.1810
Вопрос: Я установил OpenSSL 1.1.1 из исходного кода, используя руководство, но я не понимаю, что делают следующие 2 строки. Я понимаю основы 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.