Установка Python3.10.10 + OpenSSL 1.1.1 в RHEL 7

Данный пост не претендует на полноту предоставленной информации.
Все действия выполняете на свой страх и риск.
Для понимания поста требуются минимальные знания в администрировании Linux.

Понадобилось мне недавно установить Python3 определенной версии на сервера с ОС RHEL 7. И вот вроде задача простая, но были несколько условий, а именно:

  • На контуре закрыт доступ в сеть Интернет

  • В локальном репозитории нет нужной версии

И еще были требования к минимальным номерам версий, Python должен быть не ниже 3.10.10 и исходя из этого появлялась еще необходимость обновить OpenSSL до версии 1.1.1. После прочтения нескольких статей родилась эта короткая инструкция.

Заходим на сервер, копируем архивы с Python и OpenSSL в папку /tmp и погнали. Начнём с установки OpenSSL версии 1.1.1n.

sudo -s

yum install nano wget yum-utils gcc openssl-devel bzip2-devel libffi-devel perl -y

cp /tmp/openssl-1.1.1n.tar.gz /usr/src

cd /usr/src

tar -xzf openssl-1.1.1n.tar.gz

cd openssl-1.1.1n

./config

make -j $(nproc)

make install

mkdir lib

cp *.{so,so.1.1,a,pc} ./lib

rm -f /usr/src/openssl-1.1.1n.tar.gz

echo 'export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64' >> /etc/profile.d/openssl.sh

source /etc/profile.d/openssl.sh

openssl version

Если последняя команда выведет номер версии отличный от 1.1.1, то выполняем следующее:

mv /usr/bin/openssl /usr/bin/openssl.backup.1.0.2k-fips

ln -s /usr/local/bin/openssl /usr/bin/openssl

С OpenSSL разобрались, теперь приступаем к установке Python версии 3.10.10.

cd /tmp

tar -xzf Python-3.10.10.tgz

cd Python-3.10.10

./configure --prefix=/opt/python310 --with-system-ffi --with-computed-gotos --enable-loadable-sqlite-extensions --with-openssl=/usr/src/openssl-1.1.1n

make -j $(nproc)

make altinstall

rm -f /tmp/Python-3.10.11.tgz

ln -s /opt/python310/bin/python3.10 /usr/bin/python3.10

python3.10 -m pip install pyopenssl

python3.10 -c "import ssl; print(ssl.OPENSSL_VERSION)"

На этом всё.

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru (@devops_spb_ru)

Вы смотрите срез комментариев. Показать все
4
Автор поста оценил этот комментарий

Странный способ решения проблем. "На контуре закрыт доступ в сеть Интернет" - но с внешним миром он же как-то общается? Скачайте с офсайта нужные rpm пакеты и проведите оффлайн установку. Ставить пакеты в систему через sudo make install это порочная практика уже чуть не 20 лет.

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

На офсайте нет пакетов с питоном 3.10 под RHEL7.

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

Значит надо опакетить у себя

раскрыть ветку (1)
Автор поста оценил этот комментарий

Если на один раз надо - то в принципе и так сойдёт. А вообще - да, конечно лучше опакетить.


Или купить CloudLinux, там есть питон 3.10 для бинарно совместимой с RH7 ОС. -)

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества