31.01.2016 03:20, Dmitry V. Levin пишет: > Hi, > > On Sun, Jan 31, 2016 at 12:49:10AM +0300, Aleksey Avdeev wrote: >> Приветствую. >> >> Прошу пропустить в Сизиф и p7 пакеты исправляющие >> и >> : >> >> >> 1. -- systemd-228-alt3 (см. >> ), >> в Сизиф. Изменения относительно текущего systemd-228-alt2: >> >> 1.а) Каталог /usr/lib/tmpfiles.d добавлен в фильтр >> systemd-tmpfiles.filetrigger (предоставляется подпакетом systemd-utils). > > У нас вместо /usr/lib/tmpfiles.d используется /lib/tmpfiles.d Знаю. Но не вижу чем обработка /usr/lib/tmpfiles.d может помешать данной политике. А вот уменьшить (не значительно) количество ситуаций когда пакет не работает после установки но начинает работать после перезагрузки -- может. Кроме того: 1. У нас по прежнему есть пакеты использующие конфиги в /usr/lib/tmpfiles.d: в Сизифе это selinux-policy, в p7/t7 -- selinux-policy иlightdm. 2. Судя по коду, systemd-tmpfiles обрабатывает /usr/lib/tmpfiles.d (как и /usr/local/lib/tmpfiles.d, но /usr/local зарезервирован для локальных сборок и не должен использоваться в пакетах), см.: $ cat src/tmpfiles/tmpfiles.c ... static const char conf_file_dirs[] = CONF_PATHS_NULSTR("tmpfiles.d"); ... $ cat src/basic/def.h ... #define CONF_PATHS_NULSTR(n) \ "/etc/" n "\0" \ "/run/" n "\0" \ "/usr/local/lib/" n "\0" \ "/usr/lib/" n "\0" \ _CONF_PATHS_SPLIT_USR(n) > >> 1.б) В подпакет systemd-utils добавлены средства обеспечивающие >> поддержку systemd-tmpfiles под sysvinit -- init и cron daily скрипты >> tmpfiles, позволяющие выполнять запуск >> >> systemd-tmpfiles --create --remove >> >> при старте и >> >> systemd-tmpfiles --clean >> >> раз в сутки и при стопе системы. > > Вы /etc/rc.d/scripts/cleanup видели? Да, как и /etc/cron.daily/stmpclean. Но оба решения обрабатывают фиксированный список каталогов по фиксированным правилам задания времени жизни файлов. А systemd-tmpfiles может обрабатывать произвольный список каталогов с произвольным временем жизни файлов (за счёт конфигов принадлежащим пакетам). > В любом случае не надо добавлять sysv-specific скрипты в systemd. А как тогда быть с udevd.init -- явный sysv-specific скрипт, уже добавленный в systemd? Причина предлагаемых изменений одна: Управление всё большим количеством временных каталогов и файлов переезжает в конфиги tmpfiles.d. С учётом отсутствия обработки содержимого tmpfiles.d под sysvinit -- данный процесс может приводить к смолам работы sysvinit (на один из которых я и нарвался). А с учётом того, что новый udev в любом случаи тянет за собой systemd-utils -- sysv-specific скриптовая обвязка выглядит логичной... (Работе под systemd она не мешает, т. к. там есть защита от исполнения под systemd.) Если есть другие варианты -- готов их рассматривать. -- С уважением. Алексей.