Групповая политика Источники ПО. Как заставить сделать apt update после добавления нового источника репозитория?

AlShe

Участник
Регистрация
26.09.25
Сообщения
14
Реакции
0
Использую следующую конфигурацию скрипта:
{% set id = 'rbta_ldap_custom_gp_host_repo_source_list' %}
{% set node = salt['grains.get']('nodename') %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + id) %}
{% set filename = '/etc/apt/sources.list.d/repo_source.list' %}
{% set lines = [] %}

{% if gpo %}
{%- for item in gpo %}
{%- if item.repo_source_item.lower() != 'none' %}
{%- do lines.append(item.repo_source_item) %}
{%- endif %}
{%- endfor %}
{% endif %}

{{ id }}:
{%- if lines|length == 0 %}
file.absent:
- name: {{ filename }}
{%- else %}
file.managed:
- name: {{ filename }}
- user: root
- group: root
- mode: 644
- contents:
{%- for line in lines %}
- {{ line }}
{%- endfor %}
{%- endif %}
Файл с репозиторием создаётся, но программа не устанавливается пока на клиенте не дать команду:
sudo apt update
Помогите скрипт подправить
 
Привет, вот держи политику
Код:
{% set host = salt['grains.get']("nodename") %}
{% set gpo_name = 'rbta_ldap_custom_gp_host_sources_list' %}
{% set gpo = salt['pillar.get']('aldpro-hosts:'+ host +':'+ gpo_name) %}
{% if gpo %}
  {% set sllist = gpo | map(attribute='sourcelist_path') | list | unique %}
  {% for sl_path in sllist %}
{{ sl_path }}:
  file.managed:
    - makedirs: True
    - contents: |
        # Создано групповой политикой {{ gpo_name }}
        {% for attrs in gpo %}
          {%- set sourcelist_path = attrs.get('sourcelist_path') %}
          {%- set repo = attrs.get('repo') %}
          {%- if sl_path == sourcelist_path %}
        {{ repo }}
          {%- endif %}
        {%- endfor %}
  {% endfor %}
update_apt:
  cmd.run:
    - name: apt update
    - onchanges:
{%- for sl_path in sllist %}
      - file: {{ sl_path }}
{%- endfor %}
{% endif %}
1759134373730.png

1759134386468.png
 
Спасибо.
Но что-то не выходит каменный цветок.
В repo ввожу строку репозитория deb https://..............................
В sourcelist_path - путь к файлу с репозиторием /etc/apt/sources.list.d/repos.list

или как надо?
 
Последнее редактирование:
Спасибо.
Но что-то не выходит каменный цветок.
В repo ввожу строку репозитория deb https://..............................
В sourcelist_path - путь к файлу с репозиторием /etc/apt/sources.list.d/repos.list

или как надо?
есть в лк такая политика. Добавление реп и отдельно apt update
 
Не нашёл
Установка пакетов?
Настройка параметра
Обновление источников программного обеспечения

Назначение параметра​

Включает или отключает обновление источников программного обеспечения пакетного менеджера apt при применении параметра "Источники программного обеспечения"
Атрибут "Обновить список пакетов" определяет будет ли выполнен вызов apt update при применении ГП, допустимые значения:
  • true - Выполнить apt update
  • false - Не выполнять apt update (по умолчанию)
 
Настройка параметра
Обновление источников программного обеспечения

Назначение параметра​

Включает или отключает обновление источников программного обеспечения пакетного менеджера apt при применении параметра "Источники программного обеспечения"
Атрибут "Обновить список пакетов" определяет будет ли выполнен вызов apt update при применении ГП, допустимые значения:
  • true - Выполнить apt update
  • false - Не выполнять apt update (по умолчанию)
Не могу найти. Помню, что 2 недели назад видел, а сейчас не могу найти
 

Вложения

  • pic1.png
    pic1.png
    25.8 KB · Просмотры: 18
В общем ни параметра, ни политики такой не нашёл
 
Добрый день.
Я пошел по пути наименьшего сопротивления и создал групповую политику, которая ставил задание в планировщик задач выполнять apt update каждые 37 минут.

Настройка параметра Планировщик задач пользователя cron
Имя пользователя: system
Команда: /usr/bin/apt update > /tmp/gpo-pc-apt_update.log
Запустить как: root
Комментарий: bla-bla-bla
Месяцы: *
Дни месяца: *
Дни недели: *
Часы: *
Минуты: */37
Разрешить задачу: true

Может быть не вполне изящно, но зато функционально.
 
Да уже разобрались. Можно спец. политику включить, можно добавить код в политику создания файла репозитория.
 
Назад
Сверху Снизу