Ansible – Как Я Могу Проверить Наличие Установленной Упакованной Версии На Нескольких Хостах Linux?

  • Автор темы Mentalo
  • Обновлено
  • 22, Oct 2024
  • #1

мне нужно проверить более 100 серверов на наличие пакета snapd, но результат мне совсем не нравится. Я целый день искал разные варианты, но безуспешно. Прикреплен вывод ansible-playbook. Есть какие-нибудь подсказки, ребята? ansible – Как я могу проверить наличие установленной упакованной версии на нескольких хостах Linux?

 
 ---

- hosts: test2

become: true

tasks:

- name: Check Hostname

command: /usr/bin/hostname

- name: Check for package if is installed

yum:

list: snapd

register: package_name_version

- name: set package version

set_fact:

package_name_version: "{{ package_name_version.results|selectattr('yumstate','equalto','installed')|map(attribute='version')|list|first }}"
 

Для проверки версии пакета я попробовал использовать следующую книгу, но Ansible не нравится синтаксис:

--- - hosts: centos become: true tasks: - name: Check Hostname command: /usr/bin/hostname - name: Check for package if is installed yum: list: snapd register: result

Спасибо,

Июль

Mentalo


Рег
22 Mar, 2008

Тем
61

Постов
203

Баллов
508
  • 25, Oct 2024
  • #2

Простым способом было бы сделать:

 ansible -i <inventory> <target group, lets' say some CentOS systems> -m shell -a "rpm -qa | grep <package name>"
 

Это отобразит список, состоящий из имени сервера и версии пакета.

 

Narpdrerral


Рег
18 Oct, 2006

Тем
71

Постов
202

Баллов
587
Тем
403,760
Комментарии
400,028
Опыт
2,418,908