公司的系统都是内网,无法连接互联网,所以没办法只有源码安装了。

看了下saltstack的官网,需要安装的包有

https://docs.saltstack.com/en/latest/topics/installation/index.html

DEPENDENCIES

Salt should run on any Unix-like platform so long as the dependencies are met.

  • Python 2.6 >= 2.6 <3.0
  • msgpack-python - High-performance message interchange format
  • YAML - Python YAML bindings
  • Jinja2 - parsing Salt States (configurable in the master settings)
  • MarkupSafe - Implements a XML/HTML/XHTML Markup safe string for Python
  • apache-libcloud - Python lib for interacting with many of the popular cloud service providers using a unified API
  • Requests - HTTP library

Depending on the chosen Salt transport, ZeroMQ or RAET, dependencies vary:

  • ZeroMQ:

    • ZeroMQ >= 3.2.0
    • pyzmq >= 2.2.0 - ZeroMQ Python bindings
    • PyCrypto - The Python cryptography toolkit
    • M2Crypto - "Me Too Crypto" - Python OpenSSL wrapper
  • RAET:
    • libnacl - Python bindings to libsodium
    • ioflo - The flo programming interface raet and salt-raet is built on
    • RAET - The worlds most awesome UDP protocol

Salt defaults to the ZeroMQ transport, and the choice can be made at install time, for example:

python setup.py --salt-transport=raet install

一般都使用zeromq,其余的包安装都很顺利,没遇到什么问题,安装zeroMQ的时候遇到不少问题,查了好多资料,这里记录下,免得以后又忘记了
1. 安装pyzmq的时候报错
python setup.py install
最后报错

gcc: error trying to exec 'cc1plus': execvp: 没有那个文件或目录

error: command 'gcc' failed with exit status 1

查询很多网址后发现说明是gcc和g++版本不一致导致的问题,一查,发现操作系统根本就没安装g++,安装个g++后重新安装正常

2. 安装M2Crypto时报错

building 'M2Crypto.__m2crypto' extension

swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c

swig -python -I/usr/include/python2.7 -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i

unable to execute swig: No such file or directory

error: command 'swig' failed with exit status 1

发现安装m2crypto需要用到swig,而本机上没有安装swig,所以报错,就需要安装swig,此处又给后面挖了一个坑

在swig的主页上下载了最新版的swig 3.0.7

安装完swig后继续安装M2Crypto,继续报错

Running setup.py install for M2Crypto
building 'M2Crypto.__m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/openssl/opensslconf.h:31: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
error: command 'swig' failed with exit status 1

根据这个报错提示结合搜索到的结果,在M2Crypto目录的setup.py中加上一句

self.swig_opts.append('-cpperraswarn')

重新安装没有报错

其余的包安装都很顺利,没有报错

本以为安装好了,执行salt-master,这次没有报什么什么库找不到了,又报了一个新的错误

[ERROR   ] 'module' object has no attribute 'PKCS5_SALT_LEN'

Traceback (most recent call last):

File "/usr/lib/python2.7/site-packages/salt/utils/parsers.py", line 155, in parse_args

process_option_func()

File "/usr/lib/python2.7/site-packages/salt/utils/parsers.py", line 435, in process_config_dir

self.config.update(self.setup_config())

File "/usr/lib/python2.7/site-packages/salt/utils/parsers.py", line 1411, in setup_config

return config.master_config(self.get_config_file_path())

File "/usr/lib/python2.7/site-packages/salt/config.py", line 2052, in master_config

opts = apply_master_config(overrides, defaults)

File "/usr/lib/python2.7/site-packages/salt/config.py", line 2069, in apply_master_config

import salt.crypt

File "/usr/lib/python2.7/site-packages/salt/crypt.py", line 21, in <module>

from M2Crypto import RSA, EVP

File "build/bdist.linux-x86_64/egg/M2Crypto/__init__.py", line 24, in <module>

File "build/bdist.linux-x86_64/egg/M2Crypto/ASN1.py", line 12, in <module>

File "build/bdist.linux-x86_64/egg/M2Crypto/BIO.py", line 221, in <module>

File "build/bdist.linux-x86_64/egg/M2Crypto/BIO.py", line 227, in CipherStream

AttributeError: 'module' object has no attribute 'PKCS5_SALT_LEN'

又只有继续搜索,找了很长时间才发现说是swig新版本的一个bug,回退到3.0.4即可解决该问题,又重新下载swig 3.0.4安装,再重新安装M2Crypto,saltstack终于安装完成,源码安装真是痛苦,好在现在都是虚拟机,安装好一个制作好模板,以后使用就不成问题了。

欢迎交流salt-stack的各种问题

 

源码安装saltstack的时候遇到的问题的更多相关文章

  1. saltstack源码安装

    环境 centos6.3,python2.7.5. 1.install libzmq-master $ git clone git://github.com/zeromq/libzmq.git $ c ...

  2. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  3. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  4. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  5. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  6. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  7. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  8. 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展

    上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...

  9. 搭建LNAMP环境(三)- 源码安装Apache2.4

    上一篇:搭建LNAMP环境(二)- 源码安装Nginx1.10 1.yum安装编译apache需要的包(如果已经安装,可跳过此步骤) yum -y install pcre pcre-devel zl ...

随机推荐

  1. 【转】Directx11 HelloWorld之HLSL的Effect框架的使用

    最近尝试用了下Directx下的Effect框架,作为一初学者初学者,说下为什么我们要使用Effect框架及其好处吧. 首先Effect最大好处的就是简单,使得编写Shader绘制的程序工作量大大下降 ...

  2. Akka.NET是Java/Scala 流行框架Akka的一个 .NET 开源移植

    Akka.NET v1.0 已发布,支持Mono Akka.NET 是Java/Scala 流行框架Akka的一个 .NET 开源移植.可用于构建高并发,分布式和容错事件驱动的应用在 .NET 和 M ...

  3. 部署Redis主-从

    Redis主-从部署实践 0. 前言 这篇文章简要介绍Redis的主从部署,实现了一主二从,使用两个哨兵监控,以实现简单的HA,其中从库作为备机. 1. 部署 这里有三台服务器,其中239主机上的Re ...

  4. Attribute(两)——定义自己的特色+Asp.net MVC中间filter详细解释

    部分博客是预先定义的有关特性的一些基本特征,同时还Attribute这一概念的一个宏观上的认识,在上篇博客结尾介绍了有关为自己定义特性服务的AttributeUsage,这篇博客主要是通过filter ...

  5. Akka.net开发第一个分布式应用

    Akka.net开发第一个分布式应用 系列主题:基于消息的软件架构模型演变 既然这个系列的主题是”基于消息的架构模型演变“,少不了说说Actor模型.Akka.net是一个基于Actor模型的分布式框 ...

  6. 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件

    原文:数据库管理--Powershell--使用Powershell脚本找出消耗最多磁盘空间的文件 原文译自: http://www.mssqltips.com/sqlservertip/2774/p ...

  7. linux下串口调试工具/串口终端推荐: picocom

    对于picocom, kermit, minicom, picocom 最简单易用,也全然符合我的使用需求. 安装(mint / ubuntu): $ sudo apt-get install pic ...

  8. Android 通过应用程序来设置系统的日期和时间中的

    Android 通过应用程序来设置系统的日期和时间中的 android 2.3 android 4.0 测试可行,刚需ROOT权限. import java.io.DataOutputStream; ...

  9. Eclipse SDK构建J2EE开发环境

    鄙视官Java EE Developers 体积庞大的兄弟们可以提出自己的J2EE开发环境! 1.第一次去Eclipse官网下载Eclipse IDE 我使用的是:Eclipse IDE for Ja ...

  10. 先锋军Android注射技术《三》

    继续 于<两>通过专门出台ptrace实施注射的技术解决方案,在这一章,我就为大家介绍一Android在独特的喷射技术,我点了他的名字--Component Injection.顾名思义. ...