Приветствую. Как правильно сделать триггер, срабатывающий на обновление с конкретных версий пакета? Подробно: В целях закрытия , по аналогии с я нарисовал следующий триггер (не знаю как отключить автоперенос строк в Thunderbird): %triggerun base -- %name-base < 2.2.16 if [ $2 -gt 0 ]; then pushd %apache2_confdir for conffile in `egrep -Rsm1 '^[[:space:]]*[Ii][Nn][Cc][Ll][Uu][Dd][Ee][[:space:]]+(%apache2_basedir/|)%apache2_confdir_name/extra-available/Directory_(root|html|cgibin)_default\.conf' *-available/*.conf|cut -sd: -f1` do echo "Warning: configuration files %apache2_confdir$conffile" echo " uses %apache2_extra_available/Directory_(root|html|cgibin)_default.conf," echo " moved to the %apache2_confdir_inc!" echo " The original file is saved as %apache2_confdir$conffile.rpmold" cp -fa --backup=t "$conffile" "$conffile.rpmold" sed -ri 's@^([[:space:]]*[Ii][Nn][Cc][Ll][Uu][Dd][Ee][[:space:]]+(%apache2_basedir/|)%apache2_confdir_name)/extra-available/(Directory_(root|html|cgibin)_default\.conf([[:space:]].*|)$)@\1/include/\3@' "$conffile" done for conffile in `cd %apache2_extra_available/ && \ find -maxdepth 1 -regextype posix-egrep -regex '\./Directory_(root|html|cgibin)_default.conf$' -printf '%f\n'` do diff -q "%apache2_extra_available/$conffile" "%apache2_confdir_inc/$conffile" >/dev/null` || { echo "Warning: config files %apache2_extra_available/$conffile" echo " and %apache2_confdir_inc/$conffile are different!" echo " %apache2_confdir_inc/$conffile file is saved as" echo " %apache2_confdir_inc/$conffile.rpmnew and replaced by" echo " %apache2_extra_available/$conffile." cp -fa --backup=t "%apache2_confdir_inc/$conffile" "%apache2_confdir_inc/$conffile.rpmnew" cp -fa "%apache2_extra_available/$conffile" "%apache2_confdir_inc/$conffile" } echo "Warning: config file %apache2_extra_available/$conffile" echo " saved as %apache2_extra_available/$conffile.rpmold!" cp -fa --backup=t "%apache2_extra_available/$conffile" "%apache2_extra_available/$conffile.rpmold" rm -f "%apache2_extra_available/$conffile" done popd fi exit 0 Суть: 1. Заменить пути к перемещённым файлам (дабы httpd2 мог стартовать). 2. Заменить новые файлы старыми, если их содержимое отличается (дабы не потерять ручные правки). Вопросы следующие: 1. Стоит ли вообще связываться с %triggerun? Судя по прядку применения скриптов (см. ) мне может подойти и %post. Но я не знаю как в нём указать на обновление каких версий пакетов он должен отрабатывать. 2. Помимо отработки на замещение apache2-base < 2.2.16 мне желательно выполнять данный скрипт и при замещении apache2 < 2.2.9-alt10. Можно ли это сделать без копипаста и не вынося тело скрипта в макрос? -- С уважением. Алексей.