Date:2018-10-31

Author:winner Ren

1、所需组件

wget、openssl、python、pip、ansible

2、版本

Python:2.7.5——>3.7

pip:10.1——>18.1

Ansible:2.4.2.0——>2.7

3、安装方式

源码安装

4、具体操作

CentOS7.4 mini版默认是没有wget的,所以首先下载wget

yum install wget -y

升级openssl

1。 下载最新版openssl并解压

wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxf openssl-1.1.1.tar.gz

2.编译安装

cd openssl-1.1.1
./config --prefix=/usr/local/openssl no-zlib #不需要zlib
make
make install

3.备份原配置

[root@server ~]# mv  /usr/bin/openssl /usr/bin/openssl.bak
[root@server ~]# mv /usr/include/openssl/ /usr/include/openssl.bak

4.新版配置

#将安装好的openssl 的openssl命令软连到/usr/bin/openssl
[root@server ~]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
#软链到升级后的libssl.so
[root@server ~]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so

#将安装好的openssl命令软连到/usr/bin/openssl
[root@server ~]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

5.修改系统配置

#写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
#使修改后的/etc/ld.so.conf生效 
ldconfig -v

6.查看openssl版本

[root@server ~]# openssl version
OpenSSL 1.1.1  11 Sep 2018 

Python2.7.5升级到Python3.7

1、官网下载Python3.7并解压

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

2、解压python的压缩包,命令如下:

tar -xf Python-3.7.1.tgz

3、安装需要的依赖

yum -y install zlib* bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

其中readline这个依赖包是为了解决python命令行不能直接删除,使用上下键等问题的,但是这个包有依赖ncurses,所以都需要安装,python命令行默认删除使用的是  ctrl+删除。

4、切换到python目录,进行源码安装

cd Python-3.7.1
./configure --enable-optimizations
make && make install

5、安装完成后,配置CentOS7中需要原生python支持的程序文件。也可不修改原来的,只需把python3的路径添加到环境变量中即可,具体操作如下:

mv /usr/bin/python /usr/bin/python2.7.5 修改原生python的名字
ln -s /usr/local/bin/python3.7 /usr/bin/python  创建安装的python3的软连接,特别说明,由于我在编译安装的时候没有指定安装位置,所以默认安装在/usr/local/bin/目录中

添加环境变量
vim  /etc/profile   #在文件末尾添加
export PATH="/usr/local/python3/bin:$PATH"
#执行如下命令,即刻生效

6、依赖python的程序,其中一个就是yum命令,需要修改yum文件的开头制定的python

vim /usr/bin/yum 
修改#!/usr/bin/python 为 #!/usr/bin/python2.7.5
vim /usr/libexec/urlgrabber-ext-down
修改#!/usr/bin/python 为 #!/usr/bin/python2.7.5

至此,python升级结束,查看当前版本

[root@server ~]# python -V
Python 3.7.1

Pip源码安装

wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz
tar -zxvf pip-18.1.tar.gz
cd pip-18.1
python setup.py install

检查当前版本:
[root@server ~]# pip --version
pip 18.1 from /usr/local/python37/lib/python3.7/site-packages/pip-18.1-py3.7.egg/pip (python 3.7)

ansible安装

pip install ansbile -U