web-dev-qa-db-ja.com

Cygwin-ansibleをインストールするにはどうすればいいですか?

Cygwinを使用してansibleを取得/インストールする方法は?

次の手順を試しましたが、箇条書き5では機能しませんでした( "python setup.py install"の実行中)。実行元の手順:取得元 https://servercheck.in/blog/running-ansible-within-windows

1)少なくとも次のパッケージを選択してCygwinをダウンロードしてインストールします(インストールプロセス中にパッケージを選択できます)。

libyaml
libyaml-devel
curl
python (2.7.x)
python-crypto
python-openssl
python-paramiko
python-setuptools
git (2.1.x)
vim
openssh
openssl
openssl-devel

2)PyYAMLとJinja2は、Cygwinのインストーラーでは利用できないため、ダウンロードしてインストールします。

1. Open Cygwin
2. Download PyYAML:
    curl -O https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz
3. Download Jinja2:
    curl -O https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz
4. Untar both downloads:
    tar -xvf PyYAML-3.10.tar.gz && tar -xvf Jinja2-2.6.tar.gz
5. Change directory into each of the expanded folders and run python "python setup.py install" to install each package.
6. Clone ansible from its repository on GitHub:
    git clone https://github.com/ansible/ansible /opt/ansible
    This was tested with Ansible version v1.6.6, change directory into /opt/ansible and checkout the correct tag: git checkout v1.6.6.
7. Add the following lines into your Cygwin .bash_profile:
    # Ansible settings
    ANSIBLE=/opt/ansible
    export PATH=$PATH:$ANSIBLE/bin
    export PYTHONPATH=$ANSIBLE/lib
    export ANSIBLE_LIBRARY=$ANSIBLE/library

8. At this point, you should be able to run ansible commands via Cygwin (once you restart, or enter source ~/.bash_profile to pick up the settings you just added). 
    Try ansible --version to display Ansible's version.

9. Passwordless ssh will need to be set up between your Windows machine and the deployment Host(s)
    To enable passwordless ssh on Centos -  ssh-copy-id root@node
    To enable passwordless ssh on SuSE I followed the steps in this blog:
    http://www.firedaemon.com/blog/passwordless-root-ssh-public-key-authentication-on-centos-6
    install sshpass v1.05 on your Windows machine<br>

箇条書き5の間に私が得たエラーは次のとおりです。

$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib.cygwin-2.2.1-x86_64-2.7
creating build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/composer.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/constructor.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/cyaml.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/dumper.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/emitter.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/error.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/events.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/loader.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/nodes.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/parser.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/reader.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/representer.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/resolver.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/scanner.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/serializer.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/tokens.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
copying lib/yaml/__init__.py -> build/lib.cygwin-2.2.1-x86_64-2.7/yaml
running build_ext
creating build/temp.cygwin-2.2.1-x86_64-2.7
checking if libyaml is compilable
gcc -fno-strict-aliasing -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python/python-2.7.10-1.x86_64/build=/usr/src/debug/python-2.7.10-1 -fdebug-prefix-map=/usr/src/ports/python/python-2.7.10-1.x86_64/src/Python-2.7.10=/usr/src/debug/python-2.7.10-1 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/cygdrive/c/cygwin/include/python2.7 -c build/temp.cygwin-2.2.1-x86_64-2.7/check_libyaml.c -o build/temp.cygwin-2.2.1-x86_64-2.7/check_libyaml.o
checking if libyaml is linkable
gcc build/temp.cygwin-2.2.1-x86_64-2.7/check_libyaml.o -L/cygdrive/c/cygwin/lib/python2.7/config -L/usr/lib -lyaml -o build/temp.cygwin-2.2.1-x86_64-2.7/check_libyaml.exe
skipping 'ext/_yaml.c' Cython extension (up-to-date)
building '_yaml' extension
creating build/temp.cygwin-2.2.1-x86_64-2.7/ext
gcc -fno-strict-aliasing -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python/python-2.7.10-1.x86_64/build=/usr/src/debug/python-2.7.10-1 -fdebug-prefix-map=/usr/src/ports/python/python-2.7.10-1.x86_64/src/Python-2.7.10=/usr/src/debug/python-2.7.10-1 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/cygdrive/c/cygwin/include/python2.7 -c ext/_yaml.c -o build/temp.cygwin-2.2.1-x86_64-2.7/ext/_yaml.o
ext/_yaml.c:4:20: fatal error: Python.h: No such file or directory
 #include "Python.h"
                    ^
compilation terminated.
error: command 'gcc' failed with exit status 1

$ ansible --version
Traceback (most recent call last):
  File "/opt/ansible/bin/ansible", line 40, in <module>
    from ansible.utils.display import Display
  File "/opt/ansible/lib/ansible/utils/display.py", line 35, in <module>
    from ansible import constants as C
  File "/opt/ansible/lib/ansible/constants.py", line 30, in <module>
    from ansible.parsing.splitter import unquote
  File "/opt/ansible/lib/ansible/parsing/__init__.py", line 32, in <module>
    from ansible.parsing.vault import VaultLib
  File "/opt/ansible/lib/ansible/parsing/vault/__init__.py", line 82, in <module>
    from cryptography.hazmat.primitives.hashes import SHA256 as c_SHA256
  File "/cygdrive/c/cygwin/lib/python2.7/site-packages/cryptography/hazmat/primitives/hashes.py", line 15, in <module>
    from cryptography.hazmat.backends.interfaces import HashBackend
  File "/cygdrive/c/cygwin/lib/python2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 7, in <module>
    import pkg_resources
  File "/cygdrive/c/cygwin/lib/python2.7/site-packages/pkg_resources/__init__.py", line 84, in <module>
    packaging = pkg_resources._vendor.packaging
AttributeError: 'module' object has no attribute '_vendor'
10
Arun Sangal

はるかに簡単:

#!/bin/sh
type apt-cyg || exit
apt-cyg install git python-{jinja2,six,yaml}
git clone --depth 1 git://github.com/ansible/ansible
cd ansible
PATH+=:~+/bin
export PYTHONPATH=~+/lib
ansible --version

結果

ansible 2.0.0 (devel 2a50957ad8) last updated 2015/09/15 21:22:17 (GMT -500)
16
Steven Penny

Cygwinがインストールされていると仮定します。

  • Cygwinターミナルを開く
  • alias cyg-get="/path/to/cygwin/setup/package/setup-x86_64.exe -q -P"
  • cyg-get cygwin32-gcc-g++,gcc-core,gcc-g++,git,libffi-devel,nano,openssl,openssl-devel,python-crypto,python3,python3-devel,python3-openssl,python3-pip,python3-setuptools,python3-devel,tree,wget,Zip,make
  • ここでのスペースの不足とコンマの存在は重要です!
  • pip3 install --upgrade pipを介してpipをアップグレードします
  • pip install ansible

ノート:

cyg-getエイリアスを使用すると、Cygwin UIで検索する代わりに、コマンドラインからすべてのパッケージをインストールできます。

Ansibleインストールには、「ru​​nning setup.py bdist_wheel for pynacl」が実行されるステップが含まれます。これには、少なくとも30分かかりますが、最終的には完了します。

8
Bonnie

AnsibleはCygwinで動作する可能性がありますが、公式にはサポートされておらず、近い将来にサポートされるようには思われないことに注意してください。

WindowsコントロールマシンからAnsibleを実行することは、プロジェクトの目標ではないことに注意してください。この機能は、将来メインプロジェクトで使用できるテクノロジー、機能、およびコードを制限するため、要求しないでください。 Windowsホストを管理するには、Linux制御マシンが必要です。

Cygwinはサポートされていないため、Cygwinから実行されているAnsibleについて質問しないでください。

Ansible Documentation から取得

検討すべき代替案の1つは、WindowsホストでLinux仮想マシンを実行し、それをAnsibleコントローラーとして使用することです。

6
Steve E.


    1.cygwinをダウンロードします
    2。 [パッケージの選択]ページで、ビュー(左上)から[カテゴリ]を選択します
    3。 「開発」を「インストール」にマークします(「デフォルト」を「インストール」に変更します)
    4。 「Python」を「インストール」にマークします
    5。 「Web」から「wget」を選択します
    6。 「Net」から「Openssh」を選択します
    7。 「次へ」でパッケージのインストールに進みます
    8。 cygwinをインストールしたインストール先フォルダーに移動します
    9。 「Cygwin.bat」を右クリックして、管理者として実行します
    10。 「easy_install-2.7pip」と書く
    11。 「pip2installansible」と書く


フォークの問題を解決するために、すべてのパッケージをリベースする必要もあります。これについては、次のように記述します。

  1. リベース-トリガーフル
  2. cygwinシェルを閉じます(またはウィンドウを再起動します)
  3. cygwinインストーラーを再度実行し、インストールが終了するまで「次へ」をクリックするだけで、Cygwinはすべてのパッケージをリベースします。

その後、問題なくansibleを使用できます(私のために働いているので、私と同じ状況になることを願っています)

Windows 10 Home Edtionへのansibleのインストールを検索し、解決しようとすると、多くの日数がかかりました。

3
Arkan

このapt-getremove python-cryptographyを試してください。また、paramiko-1.10.0.tar.gzを手動でインストールする必要がある場合もあります。

➤ansible--versionansible2.1.0

1
Deepak Tom

後のインストーラーで https://cygwin.com/setup-x86_64.exe ansibleとansible-docを直接インストールできます

0
zhrist

これは私のために働いた:

〜$ cat setup_ansible_cygwin.sh

#!/bin/sh

echo binutils,curl,gcc-g++,git,gmp,libffi-devel,libgmp-devel,\
make,nano,openssh,openssl-devel,python-crypto,python-paramiko, \
python2,python2-devel,python2-openssl,python2-pip,python2-setuptools |\
        tr ',' ' ' |\
        xargs apt-cyg install

apt-cyg remove python2
apt-cyg install python2

pip2 install --upgrade pip
pip2 install ansible
# inside: Installing collected packages: MarkupSafe, jinja2, PyYAML, ansible
0
tejot7

「シンボリックリンクの解決」に問題があったので、「pip install /path/absible.tar.gz」からインストールしませんでしたが、(root =管理者の下で)フォルダーに解凍し、アーカイブではなくフォルダーからインストールしました。そして-ああ、それは動作します-ansibleがcygwinにインストールされました。

0

Ansible2.7.6およびPython3とCygwin2.11.2(0.329/5/3)の手順

  1. Cygwinをインストールする
  2. Python3をインストールします
c:\cygwin64-setup>setup-x86_64.exe -q -P python3
$ python3 --version
  1. Pipをインストールする
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py
$ pip --version
  1. 開発ツールのインストール(Ansible用)
c:\cygwin64-setup>setup-x86_64.exe -q -P make
c:\cygwin64-setup>setup-x86_64.exe -q -P gcc-g++
c:\cygwin64-setup>setup-x86_64.exe -q -P python3-devel
c:\cygwin64-setup>setup-x86_64.exe -q -P libffi-devel
c:\cygwin64-setup>setup-x86_64.exe -q -P openssl-devel
c:\cygwin64-setup>setup-x86_64.exe -q -P openssh
  1. Ansibleをインストールする
$ pip install ansible
$ ansible --version
  1. 使用されているsshを確認してください( https://serverfault.com/a/913435
% which ssh
/cygdrive/c/WINDOWS/System32/OpenSSH/ssh

注:cygwin sshが使用されていない場合(上記のように)、cygwinのenv PATH変数を変更するか、フラグansible_ssh_executable=/usr/bin/sshのAnsibleインベントリホストファイルアイテムを変更します。

0
bedla.czech