Bug 56066 - Не применяется изменение OnUnitActiveSec в gpupdate-user.timer
Summary: Не применяется изменение OnUnitActiveSec в gpupdate-user.timer
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: gpupdate (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-19 14:41 MSK by Kostevich Arseniy
Modified: 2025-10-29 18:18 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kostevich Arseniy 2025-09-19 14:41:49 MSK
Версия пакета:
gpupdate-0.13.4-alt1
systemd-257.9-alt1

Платформы(Обновлены до Sisyphus):
Alt Workstation 11.0 x86_64(Клиент)
Alt Server 11.0 x86_64(DC)

Шаги для воспроизведения:
Изменить период выполнения gpupdate согласно https://docs.altlinux.org/ru-RU/alt-domain/11.0/html/alt-domain/gpui-preferences-gptimer--section.html:
1. Создать директорию /etc/systemd/user/gpupdate-user.timer.d/ с помощью ГП Компьютер -> Настройки -> Настройки Системы -> Папки
2. Создать ini-файл /etc/systemd/user/gpupdate-user.timer.d/override.conf с помощью Компьютер -> Настройки -> Настройки Системы -> Ini файлы:
- в поле Действие выбрать пункт Обновить;
- в поле Путь к файлу указать /etc/systemd/user/gpupdate-user.timer.d/override.conf;
- в поле Имя секции указать Timer;
- в поле Имя свойства указать OnUnitActiveSec;
- в поле Значение свойства указать периодичность запроса: 10min.
3. Перезагрузить клиента и авторизоваться доменным пользователем
4. Выполнить $ systemctl --user daemon-reload
5. Проверить $ systemctl --user status gpupdate-user.timer

Ожидаемый результат:
В статусе таймера:
Trigger: ...; 9min left

Фактический результат:
override.conf применился, таймер знает про переопределённый параметр
$ systemctl --user cat gpupdate-user.timer | grep OnUnitActive
OnUnitActiveSec=60min
OnUnitActiveSec = 10min

Но при этом используется значение 60min
● gpupdate-user.timer - Run gpupdate-user every hour
     Loaded: loaded (/usr/lib/systemd/user/gpupdate-user.timer; enabled; preset: disabled)
    Drop-In: /etc/systemd/user/gpupdate-user.timer.d
             └─override.conf
     Active: active (waiting) since Fri 2025-09-19 14:35:08 MSK; 2min 33s ago
 Invocation: ce821a371f254fdc98944bbdc23dc3fa
    Trigger: Fri 2025-09-19 15:33:26 MSK; 55min left
   Triggers: ● gpupdate-user.service

сен 19 14:35:08 workstation-11-1-x86-64-uefi-btrfs-20250911.localdomain systemd[3868]: Started gpupdate-user.timer - Run gpupdate-user every hour.

Дополнительно:
Аналогичная конфигурация для системного юнита gpupdate.timer применяется корректно.
Возможно ошибка в systemd, а возможно требуется дополнительная настройка(прошу подсказать какая).
Comment 1 Valentin Sokolov 2025-09-22 17:04:30 MSK
Арсений, здравствуйте. Данное поведение является особенностью работы таймера
В пользовательском таймере первое срабатывание задаётся параметром OnStartupSec (от момента старта systemd --user). Если он равен 60min, то после применения ГП первый запуск останется через час, даже если OnUnitActiveSec изменён на 10min.

Варианты решения:

1) Дождаться первого запуска по текущему OnStartupSec;

2) Добавить редактирование ещё одной секции через настройки Ini файлов в GPUI: задать OnStartupSec=0min, после чего выполнить:

$systemctl --user daemon-reload
$systemctl --user restart gpupdate-user.timer

Тогда новое значение интервала начнёт действовать сразу при применении ГП.
Comment 2 Kostevich Arseniy 2025-09-22 17:11:53 MSK
(Ответ для Valentin Sokolov на комментарий #1)
> Арсений, здравствуйте. Данное поведение является особенностью работы таймера
> В пользовательском таймере первое срабатывание задаётся параметром
> OnStartupSec (от момента старта systemd --user). Если он равен 60min, то
> после применения ГП первый запуск останется через час, даже если
> OnUnitActiveSec изменён на 10min.
> 
> Варианты решения:
> 
> 1) Дождаться первого запуска по текущему OnStartupSec;
> 
> 2) Добавить редактирование ещё одной секции через настройки Ini файлов в
> GPUI: задать OnStartupSec=0min, после чего выполнить:
> 
> $systemctl --user daemon-reload
> $systemctl --user restart gpupdate-user.timer
> 
> Тогда новое значение интервала начнёт действовать сразу при применении ГП.
Добрый день!
OnStartupSec также есть и для системного юнита. Если я правильно понял, получается системные групповые политики должны тоже применяться спустя час после загрузки, даже если OnUnitActiveSec=10min. Но для gpupdate.timer не требуется настройка OnStartupSec.

Если это особенность только для пользовательского таймера, может в таком случае добавить примечание в документацию?