zoukankan      html  css  js  c++  java
  • stacksalt-centos6升级python2.6到2.7.13(salt第一课)

    安装就不写了

    先把配置文件贴出来

    vim /etc/salt/master

    然后是目录树:

     

    修改配置文件是为了把根目录设置成base

     init目录是初始化服务器要做的所有操作都放在这个目录里面,init/files 目录放着了源码安装所需的所有文件,init-install.sls 是安装服务器所需的基础模块,python.sls是升级python相关的操作,init.sls是init目录的入口文件

    init-install.sls内容:

    # 修改yum源
    yum-source-change:
      file.managed:
        - name: /opt/repo.tar.gz
        - source: salt://init/files/repo.tar.gz
        - mode: 755
        - user: root
        - group: root
      cmd.run:
        - name: tar xf /opt/repo.tar.gz  -C /etc/yum.repos.d/
        - unless: -f /opt/repo.tar.gz
        - require:
          - file: yum-source-change
    
    # 安装基础模块
    init-install:
      pkg.installed:
        - names:
          - gcc
          - gcc-c++
          - zip
          - unzip
          - zlib
          - zlib-devel
          - openssl
          - openssl-devel
          - ntp
          - vim
          - yum-fastestmirror
          - openssh-clients
          - wget
          - rsync
          - cmake
          - lrzsz
          - xz
          - ntpdate
          - lsof
          - telnet
          - epel-release
          - tree
          - kernel-devel
          - kernel
          - ncurses-devel
          - libaio
    
    # 配置基础环境
    localtime-change:
      cmd.run:
        - name: rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
        - unless: -f /usr/share/zoneinfo/Asia/Shanghai
    
    # 添加开机启动
    ntp-add-chkconfig:
      cmd.run:
        - name: chkconfig --add ntpd
        - unless: chkconfig --list | grep ntpd
        - require:
          - pkg: init-install

    python.sls内容:

    # 更新python2.6到python2.7.13版本
    include:
      - init.init-install
    
    python-source-install:
      file.managed:
        - name: /usr/local/src/Python-2.7.13.tgz
        - source: salt://init/files/Python-2.7.13.tgz
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src/ && tar xvf Python-2.7.13.tgz && cd Python-2.7.13 && ./configure  && make && make install
        - unless: -d /usr/local/src/Python-2.7.13
        - require:
          - pkg: init-install
          - file: python-source-install
    
    # 将系统默认的2.6改成2.7
    python-change-version:
      cmd.run:
        - name: mv /usr/bin/python /usr/bin/python_old2 && cp /usr/local/src/Python-2.7.13/python /usr/bin/python
        - unless: -f /usr/bin/python
        - require:
          - cmd: python-source-install
    # 安装 distribute
    distribute-soruce-install:
      file.managed:
        - name: /usr/local/src/distribute-0.7.3.zip
        - source: salt://init/files/distribute-0.7.3.zip
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src/  && unzip -o distribute-0.7.3.zip && cd distribute-0.7.3 && python setup.py install
        - unless: -d /usr/local/src/distribute-0.7.3
        - require:
          - file: distribute-soruce-install
          - cmd: python-change-version
    
    # 安装setuptools
    setuptools-soruce-install:
      file.managed:
        - name: /usr/local/src/setuptools-39.2.0.zip
        - source: salt://init/files/setuptools-39.2.0.zip
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src/  && unzip -o setuptools-39.2.0.zip && cd setuptools-39.2.0 && python setup.py install
        - unless: -d /usr/local/src/setuptools-39.2.0
        - require:
          - file: setuptools-soruce-install
          - cmd: python-change-version
    
    # 安装pip 
    pip-soruce-install:
      file.managed:
        - name: /usr/local/src/pip-18.0.tar.gz
        - source: salt://init/files/pip-18.0.tar.gz
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src/  && tar xf  pip-18.0.tar.gz && cd pip-18.0 &&  python setup.py build && python setup.py install
        - unless: -d /usr/local/src/pip-18.0
        - require:
          - file: pip-soruce-install
          - cmd: setuptools-soruce-install
    
    # 修复yum不能使用
    yum-change-version:
      cmd.run:
        - name: sed -i 's#/usr/bin/python#/usr/bin/python2.6#g' /usr/bin/yum
        - unless: -f /usr/bin/yum
        - require:
          - cmd: python-source-install

    init.sls内容:

    include:
      - init.python
      - init.init-install

    然后把源文件放到指定目录就可以安装了

    在master上执行命令:

         salt  'vps-test-001'   state.highstate  test=True                测试上面的内容是否正确

       salt  'vps-test-001'   state.highstate                                 单个服务器执行安装

       salt  '*'   state.highstate                                                   所有受控服务器执行安装

    在minion上执行命令:

         salt-call  state.sls init

    不同的系统版本有可能会出现基础模块没安装的情况,有报错请在init-install.sls中加入对应的模块名

    第一章结束,下一章写iptables相关配置

  • 相关阅读:
    根据中国气象局提供的API接口实现天气查询
    小程序——云函数发送请求
    apifm-wxapi API工厂
    首次使用 linux 阿里云服务器,入门及使用
    Android立体旋转动画实现与封装(支持以X、Y、Z三个轴为轴心旋转)
    Android来电监听和去电监听
    Android 源码下载方法(Git 方式clone)
    HandlerThread 创建一个异步的后台线程
    Android Toast cancel和show 不踩中不会知道的坑
    PopupWindow 点击外部和返回键无法消失背后的真相(setBackgroundDrawable(Drawable background))
  • 原文地址:https://www.cnblogs.com/xianyin/p/9670699.html
Copyright © 2011-2022 走看看