Bug 60856
| Summary: | dogtag-pki: ошибки sss_cache в выводе установки dogtag-pki-server — stderr команды groupadd в %pre не перенаправлен | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Artem Varaksa <varaksaaa> |
| Component: | dogtag-pki | Assignee: | Stanislav Levin <slev> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | minor | ||
| Priority: | P5 | CC: | slev |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| See Also: |
https://bugzilla.altlinux.org/show_bug.cgi?id=60854 https://bugzilla.altlinux.org/show_bug.cgi?id=60855 |
||

Description
Artem Varaksa 2026-10-07 16:37:52 MSKИсследовано с помощью Zed Agent (qwen3.8-27b). **Симптом** При установке dogtag-pki-server (в составе установки freeipa-server на свежей системе p11) в вывод apt-get попадают строки: ldb: unable to stat module /usr/lib64/samba/ldb : No such file or directory Could not open available domains В рассматриваемой установке эти строки появляются 2 раза (по паре строк на неудачный запуск sss_cache), именно во время выполнения %pre бинарного пакета dogtag-pki-server. **Причина** 1. Утилиты groupadd/useradd/usermod (пакет shadow-utils) после каждой операции с учётной записью автоматически запускают /usr/sbin/sss_cache для сброса кэша sssd (sssd_flush_cache(), shadow/lib/sssd.c). Вызов выполняется без перенаправления stderr (run_command(), fork/execve), поэтому вывод sss_cache попадает в терминал процесса установки. 2. На стадии большой транзакции установки sss_cache не может открыть конфигурационную базу sssd /var/lib/sss/db/config.ldb (LDB): каталог модулей LDB /usr/lib64/samba/ldb ещё не доступен, из-за чего sss_cache завершается с кодом 5 и печатает в stderr обе приведённые строки (первая — из libldb, вторая — из sssd). 3. Сама операция создания учётной записи при этом завершается успешно (rc=0); о неудаче сброса кэша сообщается только в системном журнале: groupadd: sss_cache exited with status 5 groupadd: Failed to flush the sssd cache. В %pre-скриплете dogtag-pki-server системная группа pkiuser создаётся без перенаправления stderr: groupadd -r -f pkiuser (создание пользователя pkiuser в том же %pre уже перенаправляет вывод, `> /dev/null 2>&1`, поэтому в терминал попадают только пары строк от groupadd; в журнале в момент работы %pre зафиксировано 5 неудачных запусков sss_cache: 2 — от groupadd, 3 — от useradd, из них в терминал видны 2). **Предлагаемое исправление** Перенаправить stderr (или оба потока) у команды создания учётной записи в %pre: groupadd -r -f pkiuser > /dev/null 2>&1 Для справки: тот же приём уже применяется в %pre-скриплетах четырёх пакетов, которые ставятся в той же транзакции и также создают учётные записи, — `sssd`, `gssproxy`, `webserver-common`, `apache2-base`. У них stderr команд создания учётных записей перенаправлен, поэтому ошибки sss_cache в вывод установки не попадают. **Состояние в Sisyphus** Проблема присутствует и в Sisyphus: в версии 11.8.0-alt1 (коммит 0273bb8) %pre-скриплет в `.gear/dogtag-pki.spec` содержит тот же шаблон — строка 540: %_sbindir/groupadd -r -f %pki_groupname ||: (создание пользователя pkiuser в том же %pre вывод перенаправляет, `> /dev/null 2>&1`). Исправление требуется в обеих ветках — Sisyphus и p11. **Влияние** Косметическое: все учётные записи создаются успешно, на работоспособность системы ошибки не влияют. **Воспроизведение** Свежая система p11 (проверено при установке из репозитория задания 435114): # apt-get install freeipa-server -y В выводе установки появляются указанные строки (2 пары от %pre dogtag-pki-server; суммарно 16 пар — остальные дают %pre пакетов 389-ds-base и freeipa, см. соответствующие отчёты), в `journalctl` — записи `groupadd: sss_cache exited with status 5`.