Ansible 角色 - 多个本地 RPM 的安装不工作
Ansible Role - Multiple Local RPM's Installation Not Working
我有安装本地 rpm 的 ansible 角色,它已下载到文件文件夹位置。
当我执行 ansible-playbook 命令时,它说“找不到 Rpm”
角色
drwxr-xr-x. 2 root root 22 Jun 29 14:12 handlers
drwxr-xr-x. 2 root root 22 Jun 29 14:12 defaults
drwxr-xr-x. 2 root root 22 Jun 29 14:12 meta
drwxr-xr-x. 2 root root 22 Jun 29 14:12 vars
drwxr-xr-x. 2 root root 39 Jun 29 14:12 tests
drwxr-xr-x. 2 root root 42 Jun 29 17:57 tasks
drwxr-xr-x. 2 root root 40 Jun 29 18:57 templates
drwxr-xr-x. 2 root root 4.0K Jul 1 01:12 files
[root@localhost playbook]# ls -lrth <role_name>/files/
total 216M
-rw-r--r-- 1 root root 830K Jun 14 16:19 <rpm_name>-lib-0.103.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 41K Jun 14 16:19 <rpm_name>-0.103.2-2.el7.noarch.rpm
-rw-r--r-- 1 root root 48K Jun 14 16:19 <rpm_name>-0.103.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 432K Jun 14 16:19 <rpm_name>.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 214M Jun 14 16:19 <rpm_name>-0.103.2-2.el7.noarch.rpm
-rw-r--r-- 1 root root 119K Jun 14 16:19 <rpm_name>.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 124K Jun 14 16:19 <rpm_name>-0.103.2-2.el7.x86_64.rpm
tasks/main.yml
package:
name: files/"{{ item }}"
with_items: "{{ pkgs }}"
收到以下错误消息
"msg": "No package matching 'files/\"<rpm_name>-0.103.2-2.el7.x86_64.rpm\"' found available, installed or updated",
"rc": 126,
"results": [
"No package matching 'files/\"<rpm_name>-0.103.2-2.el7.x86_64.rpm\"' found available, installed or updated"
请对此提出建议
要使用 RPM 文件在目标系统上安装软件包,它应该存在于目标系统的某个路径中。
因此您的角色应该首先 copy
将 RPM 发送到目标上的某个目标,然后 运行 安装命令。
示例tasks/main.yml
:
- copy:
src: "{{ item }}"
dest: "/tmp/{{ item }}"
loop: "{{ pkgs }}"
- yum:
name: "/tmp/{{ item }}"
state: "present"
loop: "{{ pkgs }}"
我有安装本地 rpm 的 ansible 角色,它已下载到文件文件夹位置。 当我执行 ansible-playbook 命令时,它说“找不到 Rpm”
角色
drwxr-xr-x. 2 root root 22 Jun 29 14:12 handlers
drwxr-xr-x. 2 root root 22 Jun 29 14:12 defaults
drwxr-xr-x. 2 root root 22 Jun 29 14:12 meta
drwxr-xr-x. 2 root root 22 Jun 29 14:12 vars
drwxr-xr-x. 2 root root 39 Jun 29 14:12 tests
drwxr-xr-x. 2 root root 42 Jun 29 17:57 tasks
drwxr-xr-x. 2 root root 40 Jun 29 18:57 templates
drwxr-xr-x. 2 root root 4.0K Jul 1 01:12 files
[root@localhost playbook]# ls -lrth <role_name>/files/
total 216M
-rw-r--r-- 1 root root 830K Jun 14 16:19 <rpm_name>-lib-0.103.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 41K Jun 14 16:19 <rpm_name>-0.103.2-2.el7.noarch.rpm
-rw-r--r-- 1 root root 48K Jun 14 16:19 <rpm_name>-0.103.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 432K Jun 14 16:19 <rpm_name>.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 214M Jun 14 16:19 <rpm_name>-0.103.2-2.el7.noarch.rpm
-rw-r--r-- 1 root root 119K Jun 14 16:19 <rpm_name>.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root 124K Jun 14 16:19 <rpm_name>-0.103.2-2.el7.x86_64.rpm
tasks/main.yml
package:
name: files/"{{ item }}"
with_items: "{{ pkgs }}"
收到以下错误消息
"msg": "No package matching 'files/\"<rpm_name>-0.103.2-2.el7.x86_64.rpm\"' found available, installed or updated",
"rc": 126,
"results": [
"No package matching 'files/\"<rpm_name>-0.103.2-2.el7.x86_64.rpm\"' found available, installed or updated"
请对此提出建议
要使用 RPM 文件在目标系统上安装软件包,它应该存在于目标系统的某个路径中。
因此您的角色应该首先 copy
将 RPM 发送到目标上的某个目标,然后 运行 安装命令。
示例tasks/main.yml
:
- copy:
src: "{{ item }}"
dest: "/tmp/{{ item }}"
loop: "{{ pkgs }}"
- yum:
name: "/tmp/{{ item }}"
state: "present"
loop: "{{ pkgs }}"