对于“快速入门指南”中所述的安装,我必须下载安装程序(例如Anaconda-2.1.0-Linux-x86_64.sh),然后在shell中执行
bash <downloaded file>
我是否必须为盐写一个花哨的python安装程序,或者是否有更简单的方法让盐知道如何安装Anaconda?
答案 0 :(得分:2)
我认为您最好的选择是使用此处记录的cmd.script
州:http://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html#salt.states.cmd.script
运行此状态的示例Salt状态看起来像这样。
假设您已将anaconda安装程序复制到Salt Master上的此位置:
/srv/salt/Anaconda-2.1.0-Linux-x86_64.sh
/srv/salt/install_anaconda.sls
的内容:
run_anaconda_installer:
cmd.script:
- source: salt://Anaconda-2.1.0-Linux-x86_64.sh
- creates: /usr/bin/anaconda # This should be a path to a file or directory created by Anaconda-2.1.0-Linux-x86_64.sh. This will cause Salt not to rerun this install script if that file or directory already exist.
- user: root
- group: root
答案 1 :(得分:1)
我想这个问题最初被提出后已经发生了变化,但现在您可以简单地将-b
参数传递给脚本以批处理模式运行。我的salt状态也在/opt
下以root身份安装,如下所示:
/opt/Miniconda2-latest-Linux-x86_64.sh:
cmd.run:
- name: >
wget --continue
https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
-O /opt/Miniconda2-latest-Linux-x86_64.sh
- creates: /opt/miniconda2
/opt/miniconda:
cmd.script:
- name: /opt/Miniconda2-latest-Linux-x86_64.sh
- args: -b -p /opt/miniconda2
- creates: /opt/miniconda2
两人都说他们创建了/opt/miniconda2
文件夹,这样我们就不会多次上网了。