I have previously written about installing Ansible on Oracle Linux 7 for non-production use. A similar approach can be taken to install Ansible on Oracle Linux 8. This is a quick post to show you how I did that in my Vagrant (lab) VM.
As it is the case with Oracle Linux 7, the Extra Packages for Enterprise Linux (EPEL) repository is listed in a section labelled “Packages for Test and Development“. As per http://yum.oracle.com/oracle-linux-8.html, these packages come with the following warning:
Note: The contents in the following repositories are for development purposes only. Oracle suggests these not be used in production.
This is really important!
If you are ok with the limitation I just quoted from Oracle’s YUM server, please read on. If not, head back to the official Ansible documentation and use a different installation method instead. I only use Ansible in my own lab and therefore don’t mind.
Enabling the EPEL repository
The first step is to enable the EPEL repository. For quite some time now, Oracle has split the monolithic YUM configuration file into smaller, more manageable pieces. For EPEL, you need to install oracle-epel-release-el8.x86_64:
[vagrant@dev ~]$ sudo dnf info oracle-epel-release-el8.x86_64 Last metadata expiration check: 1:51:09 ago on Wed 10 Feb 2021 09:30:41 UTC. Installed Packages Name : oracle-epel-release-el8 Version : 1.0 Release : 2.el8 Architecture : x86_64 Size : 18 k Source : oracle-epel-release-el8-1.0-2.el8.src.rpm Repository : @System From repo : ol8_baseos_latest Summary : Extra Packages for Enterprise Linux (EPEL) yum repository : configuration License : GPLv2 Description : This package contains the Extra Packages for Enterprise Linux : (EPEL) yum repository configuration. [vagrant@dev ~]$
A quick sudo dnf install oracle-epel-release-el8
will install the package and create the EPEL repository configuration. Until this stage the new repository is known, but still disabled. This is what it looked like on my (custom built) Oracle Linux 8.3 Vagrant box, booted into UEK 6:
[vagrant@dev ~]$ sudo dnf repolist repo id repo name ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64) ol8_appstream Oracle Linux 8 Application Stream (x86_64) ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64) [vagrant@dev ~]$
If you are ok with the caveat mentioned earlier (development purpose, no production use…, see above) you can enable the EPEL repository:
[vagrant@dev ~]$ sudo yum-config-manager --enable ol8_developer_EPEL [vagrant@dev ~]$ sudo dnf repolist repo id repo name ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64) ol8_appstream Oracle Linux 8 Application Stream (x86_64) ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64) ol8_developer_EPEL Oracle Linux 8 EPEL Packages for Development (x86_64) [vagrant@dev ~]$
The output of dnf repolist
confirms that EPEL is now enabled.
Installing Ansible
With the repository enabled you can search for Ansible:
[vagrant@dev ~]$ sudo dnf info ansible Last metadata expiration check: 0:00:10 ago on Wed 10 Feb 2021 11:26:57 UTC. Available Packages Name : ansible Version : 2.9.15 Release : 1.el8 Architecture : noarch Size : 17 M Source : ansible-2.9.15-1.el8.src.rpm Repository : ol8_developer_EPEL Summary : SSH-based configuration management, deployment, and task : execution system URL : http://ansible.com License : GPLv3+ Description : Ansible is a radically simple model-driven configuration : management, multi-node deployment, and remote task execution : system. Ansible works over SSH and does not require any software : or daemons to be installed on remote nodes. Extension modules can : be written in any language and are transferred to managed : machines automatically. [...] [vagrant@dev ~]$
Mind you, 2.9.15 was the current release at the time of writing. If you hit the blog by means of a search engine, the version will most likely be different. Let’s install Ansible:
[vagrant@dev ~]$ sudo dnf install ansible ansible-doc Last metadata expiration check: 0:01:06 ago on Wed 10 Feb 2021 11:26:57 UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: ansible noarch 2.9.15-1.el8 ol8_developer_EPEL 17 M ansible-doc noarch 2.9.15-1.el8 ol8_developer_EPEL 12 M Installing dependencies: python3-babel noarch 2.5.1-5.el8 ol8_appstream 4.8 M python3-jinja2 noarch 2.10.1-2.el8_0 ol8_appstream 538 k python3-jmespath noarch 0.9.0-11.el8 ol8_appstream 45 k python3-markupsafe x86_64 0.23-19.el8 ol8_appstream 39 k python3-pip noarch 9.0.3-18.el8 ol8_appstream 20 k python3-pytz noarch 2017.2-9.el8 ol8_appstream 54 k python3-pyyaml x86_64 3.12-12.el8 ol8_baseos_latest 193 k python3-setuptools noarch 39.2.0-6.el8 ol8_baseos_latest 163 k python36 x86_64 3.6.8-2.module+el8.3.0+7694+550a8252 ol8_appstream 19 k sshpass x86_64 1.06-9.el8 ol8_developer_EPEL 28 k Enabling module streams: python36 3.6 Transaction Summary ================================================================================ Install 12 Packages Total download size: 35 M Installed size: 459 M Is this ok [y/N]: y [...] Installed: ansible-2.9.15-1.el8.noarch ansible-doc-2.9.15-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-18.el8.noarch python3-pytz-2017.2-9.el8.noarch python3-pyyaml-3.12-12.el8.x86_64 python3-setuptools-39.2.0-6.el8.noarch python36-3.6.8-2.module+el8.3.0+7694+550a8252.x86_64 sshpass-1.06-9.el8.x86_64 Complete! [vagrant@dev ~]$
A quick test reveals the software works as advertised:
[vagrant@dev ~]$ ansible --version ansible 2.9.15 config file = /etc/ansible/ansible.cfg configured module search path = ['/home/vagrant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3.6/site-packages/ansible executable location = /usr/bin/ansible python version = 3.6.8 (default, Nov 5 2020, 18:03:20) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5.0.1)] [vagrant@dev ~]$
It seems that Ansible has been installed successfully.