Утилита a2dismod отключает произвольный модуль удаляя симлинк из mods-enabled и прописывая '=no' в mods-start.d/*.conf. Утилита a2enmod включает модуль прописывая симлинк в mods-enabled, но забывая прописать '=yes' в соответствующий mods-start.d конфиг. В результате при любом апдейте пакета apache2-base (запустится a2chkconfig м) включённый таким образом модуль ошибочно снова отключится - так как в mods-start.d/*.conf для него останется прописанное a2dismod '=no'.
ps. К слову сказать UI/UX этих утилит имеет серьезный недостаток -- название "a2chkconfig" отсылает к известной системной утилите chkconfig, но a2chkconfig работает совершенно иначе. При этом идея, чтоб a2chkconfig работал как chkconfig была бы хорошей, жаль что она не реализована.
pps. Да и еще одна проблема UI/UX -- конфигурация распределена в разных точках -- для 1 конфиграционного действия нужно и ставить симлинк в mods-available (это то чего пользователь ожидает), и редактировать конфиг в mods-start.d (это то чего пользователь не ожидает не проштудировав документацию и исходный код) -- иначе конфигурация в некоторых случаях может переключиться при апдейте пакета. В этом случае снова схема с a la chkconfig была бы понятным решением. Симлинки устанавливается пакетом (согласно вендор пресету) при первом инсталле в систему, а дальше управление идет только меняя симлинки.
Егор, посмотри пожалуйста.
(In reply to Vitaly Chikunov from comment #0) > Утилита a2dismod отключает произвольный модуль удаляя симлинк из > mods-enabled и прописывая '=no' в mods-start.d/*.conf. > > Утилита a2enmod включает модуль прописывая симлинк в mods-enabled, но > забывая прописать '=yes' в соответствующий mods-start.d конфиг. > > В результате при любом апдейте пакета apache2-base (запустится a2chkconfig > м) включённый таким образом модуль ошибочно снова отключится - так как в > mods-start.d/*.conf для него останется прописанное a2dismod '=no'. Да, это я добавил, чтобы a2dismod выключал модуль еще и в mods-start.d/*.conf. А вот про a2enmod забыл. Вообще в мане к a2chkconfig написано следующее: " If you've enable or disable the part of configuration with utilites a2en*/a2dis* and forgot to add corresponding line to config in directory conf/*-start.d the configuration will be rewriting after next run a2chkcon‐ fig. You have to know that utility a2chkconfig will automatic while you upgrade apache2 or install something apache2 corresponding (modules or smth else). The right way to enable or disable the part of configuration is to modify line in corresponding file in conf/*-start.d/ and then run a2chkconfig utitl‐ ity. " Честно говоря, не знаю зачем так сделано и думаю было бы правильно сейчас исправить a2enmod, чтобы он тоже правил mods-start.d/*.conf, и переписать man.
apache2-1:2.4.54-alt3 -> sisyphus: Mon Nov 14 2022 Egor Ignatov <egori@altlinux> 1:2.4.54-alt3 - a2enmod: enable mod also in mods-start.d (closes: #44044)