博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在linux下升级python以及saltstack安装
阅读量:6857 次
发布时间:2019-06-26

本文共 3128 字,大约阅读时间需要 10 分钟。

背景:公司申请了一些云服务器,包括阿里云和腾讯云,由于服务器自带的python是2.x版本,考虑到后续开发人员要使用3.x版本的,因此对python进行版本升级。

首先查看云服务器的版本:

使用lsb_release -a命令

腾讯云服务器出现了找不到该命令的提示 -bash: lsb_release: command not found

原来lsb命令并不是系统默认给安装好的,如果要使用该命令,需要自行安装了命令才可以使用

安装方式:yum install -y redhat-lsb

安装完成之后,系统不用重启,直接使用即可

其他查看命令:

[root@VM_0_9_centos ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[root@VM_0_9_centos ~]# rpm -q centos-release   #redhat可以用rpm -q redhat-release 

centos-release-7-5.1804.el7.centos.x86_64

下载python新版本

我选择的版本是 3.6.4

[root@VM_0_9_centos ~]# wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

如果使用上述命令出现下载速度慢的情况,可以先去官网将tar包下载到本地,再通过xshell上传到云服务器

解压缩

[root@VM_0_9_centos ~]# tar -zxvf Python-3.6.4.tgz 

安装配置

# cd Python-3.6.4/

# ./configure

编译 & 安装

# make && make install

安装过程可能会出现如下报错:

zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1

需要安装zlib的依赖包

# yum -y install zlib-devel

再执行编译安装命令就完成了

验证

# python -V

Python 2.7.5

# python3 -V

Python 3.6.4

一个是旧版本 2.x,另外一个是新版本 3.x。

注意:在 /usr/local/bin/ 下有一个 python3 的链接,指向 bin 目录下的 python 3.6

设置 3.x 为默认版本

将原来 python 的软链接重命名:

 #mv /usr/bin/python /usr/bin/python.bak

将 python 链接至 python3:

#ln -s /usr/local/bin/python3 /usr/bin/python    (ln -s a b  a是源文件,b是建立的软链接文件)

这时,再查看 Python 的版本:

#python -V

Python 3.6.4

输出的是 3.x,说明已经使用的是 python3了

配置 yum

升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:

# vi /usr/bin/yum

同时修改:

# vi /usr/libexec/urlgrabber-ext-down

将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可

安装saltstack

官网地址  http://docs.saltstack.cn/

找到如下链接,点进去,按照文档操作

由于服务器是centos7系统:

rpm --import https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub vi  /etc/yum.repos.d/saltstack.repo (文件不存在也没关系,编辑完后会自动创建该文件) 编辑内容为:
[saltstack-repo]name=SaltStack repo for RHEL/CentOS $releaseverbaseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest enabled=1 gpgcheck=1 gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub 然后运行: sudo yum clean expire-cache sudo yum update 根据需求安装saltstack的主从
  • yum install salt-master
  • yum install salt-minion
Master master配置:   vim /etc/salt/master   interface:本机IP地址 (监听本机) 启动systemctl start salt-master
Slave minion配置:   vim /etc/salt/minion   master:master的IP地址 (连接master)
注意!如果master启动遇到下面报错,说明配置文件里的interface错了

Job for salt-master.service failed because the control process exited with error code. See "systemctl status salt-master.service" and "journalctl -xe" for details.

由于云服务器分公网IP和内网IP,因此在/etc/salt/master里 Interface应该配置内网IP,配公网IP就有问题

Master的操作命令:

salt-key -L 查看接收到的客户端 命令行方式(执行shell命令) salt salve端主机名 cmd.run 命令 (在master服务器上对salve进行远程操作) [root@iZwz99npcx0lerg6pooym6Z salt]# salt 'iZwz99npcx0lerg6pooym6Z' cmd.run 'ifconfig' py代码方式一 import salt.client local = salt.client.LocalClient() res = cmd('iZwz99npcx0lerg6pooym6Z','cmd.run',['which ip']) print(res) #输出的是一个字典{'iZwz99npcx0lerg6pooym6Z': '/usr/sbin/ip'}
py代码方式二(通过subprocess模块执行shell命令)
import subprocess res = subprocess.getoutput("salt 'iZwz99npcx0lerg6pooym6Z' cmd.run 'which ip'") print(res) #输出的是字符串形式

转载于:https://www.cnblogs.com/zhangdajin/p/11094015.html

你可能感兴趣的文章
javascript怎么禁用浏览器后退按钮
查看>>
AtomicLong可以被原子地读取和写入的底层long值的操作
查看>>
Android studio 将 Module 打包成 Jar 包
查看>>
Java中抽象类和抽象方法的区别
查看>>
任务调度JOB
查看>>
有关通过web来发送东西的小记住
查看>>
mysql数据类型
查看>>
Elasticsearch系统配置及rest风格API
查看>>
Filter过滤器详解(转)
查看>>
第一章 起步
查看>>
socket和http有什么区别?
查看>>
vue+element刷新当前路由
查看>>
关于“机器人离线编程”国内外近三年的研究
查看>>
计算机网络
查看>>
[04]javascript的数据类型
查看>>
[CC-SEABUB]Sereja and Bubble Sort
查看>>
JS设置cookie、读取cookie、删除cookie
查看>>
我的博客园的CSS和html设置
查看>>
数论基础(维诺格拉多夫著,裘光明译) 勘误
查看>>
vue-cookies的使用
查看>>