编译安装python3.10,使用ansible管理windows

前言

以下适用于CentOS7.9,因为ansible又是由python编写的,而yum源仅能下载到python3.6.8。ansible for windows是2019年推出的,需要用到的高版本ansible和插件,所以需要更新到python3.8以上版本才能支持,否则会运行会出现各种错误。

0.设置yum为阿里源

yum install -y wget
#更新阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

#非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。用户也可自行修改相关配置: 
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

#更新epel源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

yum makecache

1.准备安装

#查看python3依赖包
yum deplist python3

#安装开发工具包和依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y libffi-devel
yum install zlib* -y
yum install yum-utils -y
yum-builddep python -y

#更新gcc编译器
yum -y install centos-release-scl 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
source /opt/rh/devtoolset-9/enable
gcc --version    #查看gcc版本
ldconfig -v  #重新加载lib库文件
<strong>编译安装python3.10,使用ansible管理windows</strong>

2.下载安装python3.10

#下载python3.10
wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz
tar -zxvf Python-3.10.10.tgz && cd Python-3.10.10

#创建编译安装目录开始编译安装
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl 
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度.
#第三个是为了安装pip需要用到ssl,后面报错会有提到.
make && make install

3.删除原有python2的软链接,解决yum不能使用问题

#列出/usr/bin目录下的python与pip
[root@localhost local]# ll /usr/bin | grep -E "python|pip"
-rwxr-xr-x.   1 root root       2291 Jul 31  2015 lesspipe.sh
lrwxrwxrwx.   1 root root          7 Aug 16  2021 python -> python2
lrwxrwxrwx.   1 root root          9 Aug 16  2021 python2 -> python2.7
-rwxr-xr-x.   1 root root       7144 Nov 17  2020 python2.7

rm -rf /usr/bin/python
rm -rf /usr/bin/pip                 #如果此前安装过pip删掉软链接
ln -s /usr/local/python3/bin/python3.10 /usr/bin/python      #按照实际安装路径填写
ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip

#系统默认使用python3,python2保留给其它程序用
#修改yum安装命令,使其还是使用python2,也可以vi /usr/bin/yum修改首行
sed -i '1s/python/python2/' /usr/bin/yum          
sed -i '1s/python/python2/' /usr/libexec/urlgrabber-ext-down

#查看安装的版本
python -V
pip -V
<strong>编译安装python3.10,使用ansible管理windows</strong>

查看版本号成功,python2和python3共存完成

4.ansble在线安装方法

python官方镜像源比较慢,可以换成阿里或者华为的镜像源

#更新pip3[可选] 
python -m pip install pip==             #包名后面不加版本号默认获取最新版本,==是查看可用版本,==后加数值是指定版本号
python -m pip install --upgrade pip

#pip更换阿里源
在根目录下创建/修改
mkdir ~/.pip
vi ~/.pip/pip.conf
  
#pip.conf配置文件;

[global]
index-url=http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

包名后面不加版本号默认获取最新版本,下载完成后就可以上传到服务器进行离线安装

python -m pip install ansible
<strong>编译安装python3.10,使用ansible管理windows</strong>


上述提示说明还没有配置ansible的环境变量

#查看环境变量
[root@localhost bin]# echo $PATH
/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
追加ansible环境变量
echo "export PATH=/usr/local/python3/bin:$PATH" >> /etc/profile
#生效文件
source /etc/profile
<strong>编译安装python3.10,使用ansible管理windows</strong>

查看ansible版本
ansible –version

<strong>编译安装python3.10,使用ansible管理windows</strong>

5.使用ansible

安装pywinrm插件管理windows
python -m pip install pywinrm

[root@localhost ~]# tree ansible
ansible
├── ansible.cfg
├── hosts
├── smartmontools-7.3-1.win32-setup.exe
├── demo.yml
└── demo.ps1

[root@localhost ansible]# cat hosts
[hk]
43.248.136.219 ansible_password=bae4556a40d9

[hk:vars]
ansible_user=Administrator
ansible_port=5985
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore


[root@localhost ansible]# cat ansible.cfg
[defaults]
inventory      = hosts
deprecation_warnings = False

[root@localhost ansible]# cat demo.yml
---
- name: 演示
  hosts: all
  gather_facts: false
  tasks:
    - name: 上传ps1文件至D盘
      win_copy:
        src: /root/ansible/demo.ps1
        dest: d:\demo.ps1
    - name: 运行结果
      win_command: powershell d:\demo.ps1

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7185

(0)
郭靖的头像郭靖
上一篇 2023年2月10日 下午5:53
下一篇 2023年2月13日 下午5:04

相关推荐

  • Hyper-V虚拟机显卡虚拟化VGPU 配置指南V2.0

    ⚠️ 重要前提 🔧 配置脚本(管理员 PowerShell) 运行脚本(管理员权限) 脚本操作流程(交互式步骤) 步骤 操作 说明 1 输入虚拟机名称 输入您要配置的Hyper-V虚拟机名称(区分大小写) 2 确认关闭虚拟机 如果虚拟机正在运行,需要关闭才能继续 3 设置显存分配 输入推荐显存大小(GB),默认1GB 4 确认配置 查看配置参数并确认应用 5…

    2025年6月14日
    3.0K00
  • Linux实验案例:构建DHCP服务器

    公司要求将闲置的一台Linux主机配置为DHCP服务器,以便为局域网内员工的办公用机提供自动分配IP地址服务,提高网络管理和维护的效率。 需求描述 给局域网内各主机自动分配的IP地址范围为192.168.10.20~192.168.10.30 局域网内各主机使用的默认网关地址为192.168.10.2 局域网内各主机使用的DNS服务器地址分别为202.96.…

    2024年6月24日
    1.9K00
  • atop:监控Linux系统资源与进程

    命令简介 atop 命令是一款监控 Linux 系统资源与进程的工具,非内部命令,需要安装。 atop 是以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,我们可获取相应的atop日志文件进行分析,atop是一款开源软件。 语法格式 选项说明 进程图…

    2023年9月5日
    1.3K00
  • NtLmSsp攻击的解决办法

    问题描述 服务器无法连接或者服务器经常自动重启 问题排查 查看系统日志,在安全类目发现大量的登录审核失败的记录。 解决方法 进行NTLM策略控制,彻底阻止NTLM响应 修改以下2个设置: 网络安全:Lan管理器身份验证级别:仅发送 NTLMv2 响应/拒绝 LM 和 NTLM 网络安全:限制NTLM:传入NTLM流量 修改成拒绝所有账户

    2022年9月3日
    3.7K00
  • Linux 系统硬盘MBR转换为GPT格式并扩容

    问题描述之前创建了一台ubuntu16的服务器虚机,挂载了一块2T的云数据盘,当时文件系统做的是MBR(dos)格式,最近因为存量数据增加,数据盘空间不足就在云平台将2T的数据盘扩容成了4T,结果进入虚机扩容的时候报错MBR格式的硬盘最大支持2T,剩余的空间将不会用到。需要将硬盘转化为GPT分区格式,来支持2T以上空间的使用才行,但是转化硬盘格式又怕数据丢失…

    2023年11月23日
    1.9K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信