Installing Ansible¶
Prerequisites¶
Control Nodes¶
- Control Node는 Linx 또는 Unix 시스템이어야 하고, Microsoft Windows는 지원하지 않습니다.
- Python 2는 2.7 버전 이상, Python 3는 3.5 버전이 설치되어 있어야 합니다.
- Manage Node와 SSH 통신이 가능해야합니다.
Python 버전 확인
yum list installed python
python --version
Manage Nodes¶
- 특별한 Agent 설치가 필요 없으며, Control Node와 동일하게 Python을 필요로 합니다.
- Python 2는 2.7 버전 이상, Python 3는 3.5 버전이 설치되어 있어야 합니다.
- 만약 SELinux가 활성화 되어 있으면,
libselinux-python
패키지도 필요합니다. - Windows는 PowerShell 3.0 이상과 .NET Framework 4.0 버전 이상이 필요합니다.
- Windows는 SSH가 아닌 WinRM 서비스로 Control Node와 연결되기 때문에 WinRM 서비스가 활성화 되어 있어야합니다.
- Windows에 대한 자세한 정보는 Windows Guide를 참고하시길 바랍니다.
- 라우터 및 스위치와 같은 Network 장치들은 전용 모듈이 제공되며, Control Node에서 실행됩니다. 자세한 내용은 Ansible for Network Automation을 참고하시길 바랍니다.
Ansible’s supported Windows versions
Windows Version (ServicePack) |
---|
Windows 7 (SP1) |
Windows 8.1 |
Windows 10 |
Windows Server 2008 (SP2) |
Windows Server 2008 R2 (SP1) |
Windows Server 2012 |
Windows Server 2012 R2 |
Windows Server 2016 |
Windows Server 2019 |
Practice Environment¶
CentOS 8.1 (Minimal Intall) 설치 후 테스트하였습니다.
이전 버전에서 사용한 yum
도 dnf
와 동일하게 사용 가능하니 참고하시길 바랍니다.
Online-Install¶
인터넷 사용이 가능한 환경에서는 dnf
를 이용하여 쉽게 설치가 가능합니다.
기본으로 제공되는 AppStream, Base, Extras Repository에는 Ansible 패키지가 없기 때문에 EPEL repository를 추가해야 합니다.
EPEL
EPEL(Extra Packages for Enterprise Linux)은 Fedora 환경에서 개발 및 테스트를 거쳐 기능 개선, 검증된 패키지를 RHEL(Redhat Enterprise Linux)에서 사용할 수 있도록 하는데 목표를 둔 Project 입니다.
dnf install epel-release
Last metadata expiration check: 0:11:52 ago on Fri 22 May 2020 12:33:13 PM KST.
Dependencies resolved.
====================================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================================
Installing:
epel-release noarch 8-8.el8 extras 23 k
Transaction Summary
====================================================================================================================================
Install 1 Package
Total download size: 23 k
Installed size: 32 k
Is this ok [y/N]: y
Downloading Packages:
epel-release-8-8.el8.noarch.rpm 268 kB/s | 23 kB 00:00
------------------------------------------------------------------------------------------------------------------------------------
Total 24 kB/s | 23 kB 00:00
warning: /var/cache/dnf/extras-2770d521ba03e231/packages/epel-release-8-8.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - Extras 1.5 MB/s | 1.6 kB 00:00
Importing GPG key 0x8483C65D:
Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>"
Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : epel-release-8-8.el8.noarch 1/1
Running scriptlet: epel-release-8-8.el8.noarch 1/1
Verifying : epel-release-8-8.el8.noarch 1/1
Installed:
epel-release-8-8.el8.noarch
Complete!
dnf repolist
로 추가된 EPEL Repository를 확인 합니다.
dnf repolist
CentOS-8 - AppStream 10 MB/s | 7.0 MB 00:00
CentOS-8 - Base 3.6 MB/s | 2.2 MB 00:00
CentOS-8 - Extras 12 kB/s | 5.9 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64 59 kB/s | 118 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 397 kB/s | 6.7 MB 00:17
repo id repo name status
AppStream CentOS-8 - AppStream 5,318
BaseOS CentOS-8 - Base 1,661
epel Extra Packages for Enterprise Linux 8 - x86_64 5,607
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64 0
extras CentOS-8 - Extras
dnf
를 이용하여 Ansible을 설치 합니다.
#dnf install ansible
Last metadata expiration check: 0:03:33 ago on Fri 22 May 2020 12:46:20 PM KST.
Dependencies resolved.
====================================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================================
Installing:
ansible noarch 2.9.9-1.el8 epel 17 M
Installing dependencies:
python3-babel noarch 2.5.1-5.el8 AppStream 4.8 M
python3-jinja2 noarch 2.10.1-2.el8_0 AppStream 538 k
python3-jmespath noarch 0.9.0-11.el8 AppStream 45 k
python3-markupsafe x86_64 0.23-19.el8 AppStream 39 k
python3-pip noarch 9.0.3-15.el8 AppStream 19 k
python3-pyasn1 noarch 0.3.7-6.el8 AppStream 126 k
python3-pytz noarch 2017.2-9.el8 AppStream 54 k
python36 x86_64 3.6.8-2.module_el8.1.0+245+c39af44f AppStream 19 k
python3-pyyaml x86_64 3.12-12.el8 BaseOS 193 k
python3-setuptools noarch 39.2.0-5.el8 BaseOS 162 k
libsodium x86_64 1.0.18-2.el8 epel 162 k
python3-bcrypt x86_64 3.1.6-2.el8.1 epel 44 k
python3-pynacl x86_64 1.3.0-5.el8 epel 100 k
sshpass x86_64 1.06-9.el8 epel 27 k
Installing weak dependencies:
python3-paramiko noarch 2.4.3-1.el8 epel 289 k
Enabling module streams:
python36 3.6
Transaction Summary
====================================================================================================================================
Install 16 Packages
Total download size: 24 M
Installed size: 124 M
Is this ok [y/N]: y
Downloading Packages:
(1/16): python3-jmespath-0.9.0-11.el8.noarch.rpm 879 kB/s | 45 kB 00:00
(2/16): python3-markupsafe-0.23-19.el8.x86_64.rpm 6.8 MB/s | 39 kB 00:00
(3/16): python3-pip-9.0.3-15.el8.noarch.rpm 4.0 MB/s | 19 kB 00:00
(4/16): python3-pyasn1-0.3.7-6.el8.noarch.rpm 4.8 MB/s | 126 kB 00:00
(5/16): python3-jinja2-2.10.1-2.el8_0.noarch.rpm 5.5 MB/s | 538 kB 00:00
(6/16): python3-pytz-2017.2-9.el8.noarch.rpm 5.6 MB/s | 54 kB 00:00
(7/16): python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm 3.5 MB/s | 19 kB 00:00
(8/16): python3-setuptools-39.2.0-5.el8.noarch.rpm 8.9 MB/s | 162 kB 00:00
(9/16): python3-babel-2.5.1-5.el8.noarch.rpm 34 MB/s | 4.8 MB 00:00
(10/16): python3-pyyaml-3.12-12.el8.x86_64.rpm 3.9 MB/s | 193 kB 00:00
(11/16): python3-bcrypt-3.1.6-2.el8.1.x86_64.rpm 10 kB/s | 44 kB 00:04
(12/16): libsodium-1.0.18-2.el8.x86_64.rpm 21 kB/s | 162 kB 00:07
(13/16): python3-pynacl-1.3.0-5.el8.x86_64.rpm 18 kB/s | 100 kB 00:05
(14/16): sshpass-1.06-9.el8.x86_64.rpm 20 kB/s | 27 kB 00:01
(15/16): python3-paramiko-2.4.3-1.el8.noarch.rpm 20 kB/s | 289 kB 00:14
(16/16): ansible-2.9.9-1.el8.noarch.rpm 18 kB/s | 17 MB 16:49
------------------------------------------------------------------------------------------------------------------------------------
Total 24 kB/s | 24 MB 16:51
warning: /var/cache/dnf/epel-6519ee669354a484/packages/ansible-2.9.9-1.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x2F86D6A1:
Userid : "Fedora EPEL (8) <epel@fedoraproject.org>"
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Is this ok [y/N]: Y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-setuptools-39.2.0-5.el8.noarch 1/16
Installing : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 2/16
Running scriptlet: python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 2/16
Installing : python3-pip-9.0.3-15.el8.noarch 3/16
Installing : sshpass-1.06-9.el8.x86_64 4/16
Installing : python3-bcrypt-3.1.6-2.el8.1.x86_64 5/16
Installing : libsodium-1.0.18-2.el8.x86_64 6/16
Installing : python3-pynacl-1.3.0-5.el8.x86_64 7/16
Installing : python3-pyyaml-3.12-12.el8.x86_64 8/16
Installing : python3-pytz-2017.2-9.el8.noarch 9/16
Installing : python3-babel-2.5.1-5.el8.noarch 10/16
Installing : python3-pyasn1-0.3.7-6.el8.noarch 11/16
Installing : python3-paramiko-2.4.3-1.el8.noarch 12/16
Installing : python3-markupsafe-0.23-19.el8.x86_64 13/16
Installing : python3-jinja2-2.10.1-2.el8_0.noarch 14/16
Installing : python3-jmespath-0.9.0-11.el8.noarch 15/16
Installing : ansible-2.9.9-1.el8.noarch 16/16
Running scriptlet: ansible-2.9.9-1.el8.noarch 16/16
Verifying : python3-babel-2.5.1-5.el8.noarch 1/16
Verifying : python3-jinja2-2.10.1-2.el8_0.noarch 2/16
Verifying : python3-jmespath-0.9.0-11.el8.noarch 3/16
Verifying : python3-markupsafe-0.23-19.el8.x86_64 4/16
Verifying : python3-pip-9.0.3-15.el8.noarch 5/16
Verifying : python3-pyasn1-0.3.7-6.el8.noarch 6/16
Verifying : python3-pytz-2017.2-9.el8.noarch 7/16
Verifying : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 8/16
Verifying : python3-pyyaml-3.12-12.el8.x86_64 9/16
Verifying : python3-setuptools-39.2.0-5.el8.noarch 10/16
Verifying : ansible-2.9.9-1.el8.noarch 11/16
Verifying : libsodium-1.0.18-2.el8.x86_64 12/16
Verifying : python3-bcrypt-3.1.6-2.el8.1.x86_64 13/16
Verifying : python3-paramiko-2.4.3-1.el8.noarch 14/16
Verifying : python3-pynacl-1.3.0-5.el8.x86_64 15/16
Verifying : sshpass-1.06-9.el8.x86_64 16/16
Installed:
ansible-2.9.9-1.el8.noarch python3-paramiko-2.4.3-1.el8.noarch python3-babel-2.5.1-5.el8.noarch
python3-jinja2-2.10.1-2.el8_0.noarch python3-jmespath-0.9.0-11.el8.noarch python3-markupsafe-0.23-19.el8.x86_64
python3-pip-9.0.3-15.el8.noarch python3-pyasn1-0.3.7-6.el8.noarch python3-pytz-2017.2-9.el8.noarch
python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 python3-pyyaml-3.12-12.el8.x86_64 python3-setuptools-39.2.0-5.el8.noarch
libsodium-1.0.18-2.el8.x86_64 python3-bcrypt-3.1.6-2.el8.1.x86_64 python3-pynacl-1.3.0-5.el8.x86_64
sshpass-1.06-9.el8.x86_64
Complete!
설치가 완료되면 ansible --version
으로 설치된 Ansible 버전 정보 등을 확인할 수 있습니다.
ansible --version
1번 라인에서 설치된 Ansible 버전을 확인할 수 있습니다.
2번 라인은 Ansible 패키지 설치 시 제공되는 설정 파일입니다. 지금은 경로만 참고하시길 바랍니다.
1 2 3 4 5 6 |
|
Offline-Install¶
인터넷 사용이 어려운 경우에는 패키지를 저장장치 등을 이용하여 오프라인 환경에 반입 한 후 설치 해야합니다.
우선 인터넷 사용이 가능한 시스템에서 패키지를 다운로드하고, /var/log/dnf.rpm.log
파일을 확인하여 설치한 패키지를 확인합니다.
cat /var/log/dnf.rpm.log
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 |
|
패키지를 다운로드하기 위해 표준 출력 결과를 가공하여 패키지명만 출력합니다.
cat /var/log/dnf.rpm.log | awk '{print $4}' | grep -Ev "logging|epel" | uniq | cut -d "-" -f 1-2 > package_list.txt
cat package_list.txt
python3-setuptools
python36-3.6.8
python3-pip
sshpass-1.06
python3-bcrypt
libsodium-1.0.18
python3-pynacl
python3-pyyaml
python3-pytz
python3-babel
python3-pyasn1
python3-paramiko
python3-markupsafe
python3-jinja2
python3-jmespath
ansible-2.9.9
dnf
를 이용하여 패키지를 다운로드 합니다.
dnf download `cat package_list.txt`
CentOS-8 - AppStream 9.9 kB/s | 4.3 kB 00:00
CentOS-8 - Base 4.5 kB/s | 3.9 kB 00:00
CentOS-8 - Extras 2.0 kB/s | 1.5 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64 15 kB/s | 8.0 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 11 kB/s | 6.5 kB 00:00
CentOS-8 - AppStream 194% [================================================================================CentOS-8 - Base 194% [================================================================================(1/16): python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm 290 kB/s | 19 kB 00:00
(2/16): python3-pip-9.0.3-15.el8.noarch.rpm 258 kB/s | 19 kB 00:00
(3/16): python3-setuptools-39.2.0-5.el8.noarch.rpm 2.0 MB/s | 162 kB 00:00
(4/16): sshpass-1.06-9.el8.x86_64.rpm 162 kB/s | 27 kB 00:00
(5/16): python3-bcrypt-3.1.6-2.el8.1.x86_64.rpm 226 kB/s | 44 kB 00:00
(6/16): python3-pyyaml-3.12-12.el8.x86_64.rpm 7.9 MB/s | 193 kB 00:00
(7/16): python3-pynacl-1.3.0-5.el8.x86_64.rpm 1.4 MB/s | 100 kB 00:00
(8/16): libsodium-1.0.18-2.el8.x86_64.rpm 714 kB/s | 162 kB 00:00
(9/16): python3-pytz-2017.2-9.el8.noarch.rpm 2.6 MB/s | 54 kB 00:00
(10/16): python3-pyasn1-0.3.7-6.el8.noarch.rpm 5.0 MB/s | 126 kB 00:00
(11/16): python3-markupsafe-0.23-19.el8.x86_64.rpm 7.1 MB/s | 39 kB 00:00
(12/16): python3-jinja2-2.10.1-2.el8_0.noarch.rpm 11 MB/s | 538 kB 00:00
(13/16): python3-babel-2.5.1-5.el8.noarch.rpm 47 MB/s | 4.8 MB 00:00
(14/16): python3-paramiko-2.4.3-1.el8.noarch.rpm 2.9 MB/s | 289 kB 00:00
(15/16): python3-jmespath-0.9.0-11.el8.noarch.rpm 1.7 MB/s | 45 kB 00:00
(16/16): ansible-2.9.9-1.el8.noarch.rpm 17 MB/s | 17 MB 00:01
ls
명령어를 이용하여 다운 받은 파일을 확인합니다.
ls
ansible-2.9.9-1.el8.noarch.rpm python3-paramiko-2.4.3-1.el8.noarch.rpm
libsodium-1.0.18-2.el8.x86_64.rpm python3-pip-9.0.3-15.el8.noarch.rpm
package_list.txt python3-pyasn1-0.3.7-6.el8.noarch.rpm
python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm python3-pynacl-1.3.0-5.el8.x86_64.rpm
python3-babel-2.5.1-5.el8.noarch.rpm python3-pytz-2017.2-9.el8.noarch.rpm
python3-bcrypt-3.1.6-2.el8.1.x86_64.rpm python3-pyyaml-3.12-12.el8.x86_64.rpm
python3-jinja2-2.10.1-2.el8_0.noarch.rpm python3-setuptools-39.2.0-5.el8.noarch.rpm
python3-jmespath-0.9.0-11.el8.noarch.rpm sshpass-1.06-9.el8.x86_64.rpm
python3-markupsafe-0.23-19.el8.x86_64.rpm
패키지를 압축하거나 개별적으로 저장장치 또는 외부로 전송합니다. Windows 및 MacOS 환경에서 SSH Client를 이용하여 패키지를 다운받은 Linux서버에 접속하고 있다면, lrzsz
패키지를 이용하여 쉽게 Client로 전송이 가능합니다. package_list.txt
파일은 삭제한 후 tar
와 gz
을 이용하여 현재 디렉토리에 위치한 패키지를 압축합니다.
Info
동일한 버전이 필요하신 분들은 압축 파일을 다운로드 할 수 있습니다. ( ansible.tar.gz)
rm -f package_list.txt
tar cvfz ansible.tar.gz ./*
./ansible-2.9.9-1.el8.noarch.rpm
./libsodium-1.0.18-2.el8.x86_64.rpm
./python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm
./python3-babel-2.5.1-5.el8.noarch.rpm
./python3-bcrypt-3.1.6-2.el8.1.x86_64.rpm
./python3-jinja2-2.10.1-2.el8_0.noarch.rpm
./python3-jmespath-0.9.0-11.el8.noarch.rpm
./python3-markupsafe-0.23-19.el8.x86_64.rpm
./python3-paramiko-2.4.3-1.el8.noarch.rpm
./python3-pip-9.0.3-15.el8.noarch.rpm
./python3-pyasn1-0.3.7-6.el8.noarch.rpm
./python3-pynacl-1.3.0-5.el8.x86_64.rpm
./python3-pytz-2017.2-9.el8.noarch.rpm
./python3-pyyaml-3.12-12.el8.x86_64.rpm
./python3-setuptools-39.2.0-5.el8.noarch.rpm
./sshpass-1.06-9.el8.x86_64.rpm
ansible.tar.gz
파일에 패키지가 잘 압축됬는지 확인합니다.
#tar tvf ansible.tar.gz
-rw-r--r-- root/root 18096400 2020-05-22 13:41 ./ansible-2.9.9-1.el8.noarch.rpm
-rw-r--r-- root/root 165988 2020-05-22 13:41 ./libsodium-1.0.18-2.el8.x86_64.rpm
-rw-r--r-- root/root 19506 2020-05-22 13:41 ./python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm
-rw-r--r-- root/root 5018176 2020-05-22 13:41 ./python3-babel-2.5.1-5.el8.noarch.rpm
-rw-r--r-- root/root 44612 2020-05-22 13:41 ./python3-bcrypt-3.1.6-2.el8.1.x86_64.rpm
-rw-r--r-- root/root 550536 2020-05-22 13:41 ./python3-jinja2-2.10.1-2.el8_0.noarch.rpm
-rw-r--r-- root/root 45892 2020-05-22 13:41 ./python3-jmespath-0.9.0-11.el8.noarch.rpm
-rw-r--r-- root/root 39672 2020-05-22 13:41 ./python3-markupsafe-0.23-19.el8.x86_64.rpm
-rw-r--r-- root/root 296092 2020-05-22 13:41 ./python3-paramiko-2.4.3-1.el8.noarch.rpm
-rw-r--r-- root/root 19664 2020-05-22 13:41 ./python3-pip-9.0.3-15.el8.noarch.rpm
-rw-r--r-- root/root 129348 2020-05-22 13:41 ./python3-pyasn1-0.3.7-6.el8.noarch.rpm
-rw-r--r-- root/root 102360 2020-05-22 13:41 ./python3-pynacl-1.3.0-5.el8.x86_64.rpm
-rw-r--r-- root/root 55364 2020-05-22 13:41 ./python3-pytz-2017.2-9.el8.noarch.rpm
-rw-r--r-- root/root 197680 2020-05-22 13:41 ./python3-pyyaml-3.12-12.el8.x86_64.rpm
-rw-r--r-- root/root 166368 2020-05-22 13:41 ./python3-setuptools-39.2.0-5.el8.noarch.rpm
-rw-r--r-- root/root 28064 2020-05-22 13:41 ./sshpass-1.06-9.el8.x86_64.rpm
dnf
를 이용하여 lrzsz
패키지를 설치 합니다.
Info
lrzsz
패키지는 X/Y/Z Modem 프로토콜을 이용하여 파일을 전송하는 패키지 입니다. 일부 SSH Client 프로그램에서 지원하지 않을 수 있습니다. (XShell, SecureCRT에서는 가능합니다.) 자세한 정보는 공식 사이트를 참고하시길 바랍니다.
dnf install lrzsz
Last metadata expiration check: 0:14:25 ago on Fri 22 May 2020 01:41:28 PM KST.
Dependencies resolved.
====================================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================================
Installing:
lrzsz x86_64 0.12.20-43.el8 BaseOS 84 k
Transaction Summary
====================================================================================================================================
Install 1 Package
Total download size: 84 k
Installed size: 190 k
Is this ok [y/N]: y
Downloading Packages:
lrzsz-0.12.20-43.el8.x86_64.rpm 1.1 MB/s | 84 kB 00:00
------------------------------------------------------------------------------------------------------------------------------------
Total 156 kB/s | 84 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : lrzsz-0.12.20-43.el8.x86_64 1/1
Running scriptlet: lrzsz-0.12.20-43.el8.x86_64 1/1
Verifying : lrzsz-0.12.20-43.el8.x86_64 1/1
Installed:
lrzsz-0.12.20-43.el8.x86_64
Complete!
sz
명령어를 이용하여 파일을 SSH Client 측으로 전송합니다. 파일을 저장할 위치를 물어보는 창이 열린 후, 경로를 지정해주시면 전송되는 것을 확인할 수 있습니다.
sz ansible.tar.gz
Tip
lrzsz 패키지가 설치되어 있으면, #rz 혹은 파일을 SSH Client에 Drag&Drop하면 Client 측 파일을 SSH 서버쪽으로 전송하는 것도 가능합니다.
Tab-Completion¶
TAB키를 이용하여 bash 명령어를 자동완성 해주는 bash-completion
패키지가 있듯이 Ansible 명령어를 자동으로 완성해주는 python-argcomplete
패키지가 있습니다. EPEL Repository에서 제공 하며 #dnf install python3-argcomplete
명령어를 이용하여 설치가 가능합니다. 패키지 설치 후 #activate-global-python-argcomplete
, #sh /etc/bash_completion.d/python-argcomplete.sh
명령어를 입한 후, soruce
명령어를 통해 Profile 관련 파일을 실행하거나 재로그인을 합니다.