Homebrew 또는 Python pip를 사용하여 MacOS에 Ansible을 설치하는 방법은 무엇입니까?
게시 됨: 2019-02-24
Ansible은 현존하는 최고의 강력한 IT 자동화 도구 중 하나입니다. SaltStack
, Docker 등으로 직접 완성됩니다. 이 튜토리얼에서는 macOS에 Ansible을 설치하는 방법에 대한 단계를 살펴보겠습니다.
- Ansible을 통한 Mac 설정 및 구성.
- 명령줄을 사용하여 Apple MacOS X에 Ansible을 설치하는 방법은 무엇입니까?
- macOS Mojave에 설치 가능
시작하자.
두 가지 방법으로 Ansible을 설치할 수 있습니다.
- 옵션 1. 홈브류 사용.
- Homebrew는 Apple 운영 체제에서 소프트웨어 설치를 단순화하는 무료 오픈 소스 소프트웨어 패키지 관리 시스템입니다.
- 옵션-2: pip 명령 사용.
- Python의 표준 패키지 관리자는 pip입니다.
옵션 1. 홈브류 사용하기

1 단계.
- 먼저 MacOS에 homebrew를 설치해야 합니다.
2 단계.
- Ansible을 설치하는 명령입니다.
1 |
bash - 3.2 $ brew install ansible |
다음은 로그입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
bash - 3.2 $ brew install ansible Running ` brew update -- preinstall ` . . . == > Auto - updated Homebrew ! Updated 1 tap ( homebrew / core ) . == > New Formulae asyncapi esphome ffmpeg @ 4 linode - cli rure usbutils == > Updated Formulae Updated 225 formulae . == > Downloading https : //ghcr.io/v2/homebrew/core/ansible/manifests/5.2.0 ######################################################################## 100.0% == > Downloading https : //ghcr.io/v2/homebrew/core/ansible/blobs/sha256:ed415688614ad6a8fc68aa9e886c9296053cfca375aa70759ee5dc5e56da43f1 == > Downloading from https : //pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:ed415688614ad6a8fc68aa9e886c9296053cfca375aa70759ee5dc5e56da43f1?se=202 ######################################################################## 100.0% == > Installing dependencies for ansible : libyaml , gdbm , mpdecimal , xz , python @ 3.10 and six == > Installing ansible dependency : libyaml == > Pouring libyaml -- 0.2.5.monterey.bottle.tar.gz / usr / local / Cellar / libyaml / 0.2.5 : 10 files , 331.3KB == > Installing ansible dependency : gdbm == > Pouring gdbm -- 1.22.monterey.bottle.tar.gz / usr / local / Cellar / gdbm / 1.22 : 24 files , 941.7KB == > Installing ansible dependency : mpdecimal == > Pouring mpdecimal -- 2.5.1.monterey.bottle.tar.gz / usr / local / Cellar / mpdecimal / 2.5.1 : 71 files , 2.1MB == > Installing ansible dependency : xz == > Pouring xz -- 5.2.5.monterey.bottle.tar.gz / usr / local / Cellar / xz / 5.2.5 : 95 files , 1.3MB == > Installing ansible dependency : python @ 3.10 == > Pouring python @ 3.10 -- 3.10.2.monterey.bottle.tar.gz == > / usr / local / Cellar / python @ 3.10 / 3.10.2 / bin / python3 - m ensurepip == > / usr / local / Cellar / python @ 3.10 / 3.10.2 / bin / python3 - m pip install - v -- no - deps -- no - index -- upgrade -- isolated -- target =/ usr / local / lib / python3 . 10 / site - pac / usr / local / Cellar / python @ 3.10 / 3.10.2 : 3 , 133 files , 56.4MB == > Installing ansible dependency : six == > Pouring six -- 1.16.0_2.all.bottle.1.tar.gz / usr / local / Cellar / six / 1.16.0_2 : 20 files , 122.3KB == > Installing ansible == > Pouring ansible -- 5.2.0.monterey.bottle.tar.gz Error : The ` brew link ` step did not complete successfully The formula built , but is not symlinked into / usr / local Could not symlink bin / ansible Target / usr / local / bin / ansible already exists . You may want to remove it : rm '/usr/local/bin/ansible' To force the link and overwrite all conflicting files : brew link -- overwrite ansible To list all files that would be deleted : brew link -- overwrite -- dry - run ansible Possible conflicting files are : / usr / local / bin / ansible / usr / local / bin / ansible - config / usr / local / bin / ansible - connection / usr / local / bin / ansible - console / usr / local / bin / ansible - doc / usr / local / bin / ansible - galaxy / usr / local / bin / ansible - inventory / usr / local / bin / ansible - playbook / usr / local / bin / ansible - pull / usr / local / bin / ansible - test / usr / local / bin / ansible - vault == > Summary / usr / local / Cellar / ansible / 5.2.0 : 44 , 382 files , 427.8MB == > Running ` brew cleanup ansible ` . . . Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP . Hide these hints with HOMEBREW_NO_ENV_HINTS ( see ` man brew ` ) . bash - 3.2 $ brew link -- overwrite ansible Linking / usr / local / Cellar / ansible / 5.2.0... 20 symlinks created . bash - 3.2 $ |
3단계. Ansible 버전 확인
1 2 3 4 5 6 7 8 9 10 |
bash - 3.2 $ ansible -- version ansible [ core 2.12.1 ] config file = None configured module search path = [ '/Users/app/.ansible/plugins/modules' , '/usr/share/ansible/plugins/modules' ] ansible python module location = / usr / local / Cellar / ansible / 5.2.0 / libexec / lib / python3 . 10 / site - packages / ansible ansible collection location = / Users / app / . ansible / collections : / usr / share / ansible / collections executable location = / usr / local / bin / ansible python version = 3.10.2 ( main , Feb 2 2022 , 06 : 19 : 27 ) [ Clang 13.0.0 ( clang - 1300.0.29.3 ) ] jinja version = 3.0.3 libyaml = True |
옵션-2. pip 명령 사용
1 단계.
pip 명령을 사용하여 Ansible을 설치합니다. PIP는 Python 패키지용 package manager
입니다. macOS에는 기본적으로 pip가 설치되어 있지 않습니다. 먼저 설치해야 합니다.
- 명령:
sudo easy_install pip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
bash - 3.2 $ sudo easy_install pip Password : Searching for pip Reading https : //pypi.python.org/simple/pip/ Best match : pip 19.0.3 Downloading https : //files.pythonhosted.org/packages/36/fa/51ca4d57392e2f69397cd6e5af23da2a8d37884a605f9e3f2d3bfdc48397/pip-19.0.3.tar.gz#sha256=6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2 Processing pip - 19.0.3.tar.gz Writing / tmp / easy_install - eYeYXb / pip - 19.0.3 / setup . cfg Running pip - 19.0.3 / setup . py - q bdist_egg -- dist - dir / tmp / easy_install - eYeYXb / pip - 19.0.3 / egg - dist - tmp - GvhMn8 / System / Library / Frameworks / Python . framework / Versions / 2.7 / lib / python2 . 7 / distutils / dist . py : 267 : UserWarning : Unknown distribution option : 'python_requires' warnings . warn ( msg ) warning : no files found matching 'docs/docutils.conf' warning : no previously - included files found matching '.coveragerc' warning : no previously - included files found matching '.mailmap' warning : no previously - included files found matching '.appveyor.yml' warning : no previously - included files found matching '.travis.yml' warning : no previously - included files found matching 'tox.ini' warning : no files found matching 'Makefile' under directory 'docs' warning : no files found matching '*.bat' under directory 'docs' warning : no previously - included files found matching 'src/pip/_vendor/six' warning : no previously - included files found matching 'src/pip/_vendor/six/moves' warning : no previously - included files matching '*.pyi' found under directory 'src/pip/_vendor' no previously - included directories found matching '.github' no previously - included directories found matching '.azure-pipelines' no previously - included directories found matching 'docs/build' no previously - included directories found matching 'news' no previously - included directories found matching 'tasks' no previously - included directories found matching 'tests' no previously - included directories found matching 'tools' creating / Library / Python / 2.7 / site - packages / pip - 19.0.3 - py2 . 7.egg Extracting pip - 19.0.3 - py2 . 7.egg to / Library / Python / 2.7 / site - packages Adding pip 19.0.3 to easy - install . pth file Installing pip script to / usr / local / bin Installing pip2 . 7 script to / usr / local / bin Installing pip2 script to / usr / local / bin Installed / Library / Python / 2.7 / site - packages / pip - 19.0.3 - py2 . 7.egg Processing dependencies for pip Finished processing dependencies for pip |
2 단계.
pip를 사용하여 Ansible을 설치합니다.

- 명령:
sudo pip install ansible
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
bash - 3.2 $ sudo pip install ansible DEPRECATION : Python 2.7 will reach the end of its life on January 1st , 2020. Please upgrade your Python as Python 2.7 won 't be maintained after that date. A future version of pip will drop support for Python 2.7. The directory ' / Users / ashah / Library / Caches / pip / http ' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo' s - H flag . The directory '/Users/ashah/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled . check the permissions and owner of that directory . If executing pip with sudo , you may want sudo ' s - H flag . Collecting ansible Downloading https : //files.pythonhosted.org/packages/e4/22/4325212e609071cd93b8142722d770f5defab34a95511f183e262f8de983/ansible-2.7.8.tar.gz (11.8MB) 100 % | -------------------------------- | 11.8MB 3.3MB / s Collecting jinja2 ( from ansible ) Downloading https : //files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB) 100 % | -------------------------------- | 133kB 10.4MB / s Collecting PyYAML ( from ansible ) Downloading https : //files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz (270kB) 100 % | -------------------------------- | 276kB 12.2MB / s Collecting paramiko ( from ansible ) Downloading https : //files.pythonhosted.org/packages/cf/ae/94e70d49044ccc234bfdba20114fa947d7ba6eb68a2e452d89b920e62227/paramiko-2.4.2-py2.py3-none-any.whl (193kB) 100 % | -------------------------------- | 194kB 7.0MB / s Collecting cryptography ( from ansible ) Downloading https : //files.pythonhosted.org/packages/f3/d0/f8bdea567805d96cfb42bd8289408df7a6687693fed658a950a90d14c49b/cryptography-2.5-cp27-cp27m-macosx_10_6_intel.whl (1.7MB) 100 % | -------------------------------- | 1.7MB 6.7MB / s Requirement already satisfied : setuptools in / System / Library / Frameworks / Python . framework / Versions / 2.7 / Extras / lib / python ( from ansible ) ( 18.5 ) Collecting MarkupSafe > = 0.23 ( from jinja2 - > ansible ) Downloading https : //files.pythonhosted.org/packages/cd/52/927263d9cf66a12e05c5caef43ee203bd92355e9a321552d2b8c4aee5f1e/MarkupSafe-1.1.0-cp27-cp27m-macosx_10_6_intel.whl Collecting pynacl > = 1.0.1 ( from paramiko - > ansible ) Downloading https : //files.pythonhosted.org/packages/51/83/2db5b919bf9848fe25d301225a16faabc378419e7eaf00da0b7d200fe801/PyNaCl-1.3.0-cp27-cp27m-macosx_10_6_intel.whl (283kB) 100 % | -------------------------------- | 286kB 12.7MB / s Collecting pyasn1 > = 0.1.7 ( from paramiko - > ansible ) Downloading https : //files.pythonhosted.org/packages/7b/7c/c9386b82a25115cccf1903441bba3cbadcfae7b678a20167347fa8ded34c/pyasn1-0.4.5-py2.py3-none-any.whl (73kB) 100 % | -------------------------------- | 81kB 12.7MB / s Collecting bcrypt > = 3.1.3 ( from paramiko - > ansible ) Downloading https : //files.pythonhosted.org/packages/14/1b/f6f05b80783ff84c58bca5f2b7a4cef7c02570e4bb2e40d326abb2ba41d3/bcrypt-3.1.6-cp27-cp27m-macosx_10_6_intel.whl (53kB) 100 % | -------------------------------- | 61kB 12.9MB / s Collecting asn1crypto > = 0.21.0 ( from cryptography - > ansible ) Downloading https : //files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl (101kB) 100 % | -------------------------------- | 102kB 13.0MB / s Collecting enum34 ; python_version < "3" ( from cryptography - > ansible ) Downloading https : //files.pythonhosted.org/packages/c5/db/e56e6b4bbac7c4a06de1c50de6fe1ef3810018ae11732a50f15f62c7d050/enum34-1.1.6-py2-none-any.whl Collecting ipaddress ; python_version < "3" ( from cryptography - > ansible ) Downloading https : //files.pythonhosted.org/packages/fc/d0/7fc3a811e011d4b388be48a0e381db8d990042df54aa4ef4599a31d39853/ipaddress-1.0.22-py2.py3-none-any.whl Collecting cffi ! = 1.11.3 , > = 1.8 ( from cryptography - > ansible ) Downloading https : //files.pythonhosted.org/packages/b2/03/8c9052bfb8fd8f40eead289731b21e5b82573cecd6d4366bfa7b50769bf0/cffi-1.12.1-cp27-cp27m-macosx_10_6_intel.whl (244kB) 100 % | -------------------------------- | 245kB 5.2MB / s Requirement already satisfied : six > = 1.4.1 in / System / Library / Frameworks / Python . framework / Versions / 2.7 / Extras / lib / python ( from cryptography - > ansible ) ( 1.4.1 ) Collecting pycparser ( from cffi ! = 1.11.3 , > = 1.8 - > cryptography - > ansible ) Downloading https : //files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB) 100 % | -------------------------------- | 163kB 5.9MB / s Installing collected packages : MarkupSafe , jinja2 , PyYAML , asn1crypto , enum34 , ipaddress , pycparser , cffi , cryptography , pynacl , pyasn1 , bcrypt , paramiko , ansible Running setup . py install for PyYAML . . . done Running setup . py install for pycparser . . . done Running setup . py install for ansible . . . done Successfully installed MarkupSafe - 1.1.0 PyYAML - 3.13 ansible - 2.7.8 asn1crypto - 0.24.0 bcrypt - 3.1.6 cffi - 1.12.1 cryptography - 2.5 enum34 - 1.1.6 ipaddress - 1.0.22 jinja2 - 2.10 paramiko - 2.4.2 pyasn1 - 0.4.5 pycparser - 2.19 pynacl - 1.3.0 |
3단계.
macOS에서 Ansible 버전을 확인해보자.
- 명령:
ansible --version
1 2 3 4 5 6 7 |
bash - 3.2 $ ansible -- version ansible 2.7.8 config file = None configured module search path = [ u '/Users/ashah/.ansible/plugins/modules' , u '/usr/share/ansible/plugins/modules' ] ansible python module location = / Library / Python / 2.7 / site - packages / ansible executable location = / usr / local / bin / ansible python version = 2.7.10 ( default , Aug 17 2018 , 19 : 45 : 58 ) [ GCC 4.2.1 Compatible Apple LLVM 10.0.0 ( clang - 1000.0.42 ) ] |
그게 다야
macOS 시스템에 Ansible을 성공적으로 설치했습니다. 호스트에서 Ansible을 실행하는 데 문제가 있으면 알려주십시오.
무엇 향후 계획?
Linux Ubuntu OS 명령줄에 Ansible을 설치합니다.