Bug 44044 - Отключённый a2dismod модуль отключается даже после a2enmod
Summary: Отключённый a2dismod модуль отключается даже после a2enmod
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: apache2-base (show other bugs)
Version: unstable
Hardware: x86 Linux
: P5 normal
Assignee: Egor Ignatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-10-15 15:04 MSK by Vitaly Chikunov
Modified: 2022-11-14 18:29 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Chikunov 2022-10-15 15:04:33 MSK
Утилита a2dismod отключает произвольный модуль удаляя симлинк из mods-enabled и прописывая '=no' в mods-start.d/*.conf.

Утилита a2enmod включает модуль прописывая симлинк в mods-enabled, но забывая прописать '=yes' в соответствующий mods-start.d конфиг.

В результате при любом апдейте пакета apache2-base (запустится a2chkconfig м) включённый таким образом модуль ошибочно снова отключится - так как в mods-start.d/*.conf для него останется прописанное a2dismod '=no'.
Comment 1 Vitaly Chikunov 2022-10-15 15:33:39 MSK
ps. К слову сказать UI/UX этих утилит имеет серьезный недостаток -- название "a2chkconfig" отсылает к известной системной утилите chkconfig, но a2chkconfig работает совершенно иначе. При этом идея, чтоб a2chkconfig работал как chkconfig была бы хорошей, жаль что она не реализована.
Comment 2 Vitaly Chikunov 2022-10-15 15:53:30 MSK
pps. Да и еще одна проблема UI/UX -- конфигурация распределена в разных точках -- для 1 конфиграционного действия нужно и ставить симлинк в mods-available (это то чего пользователь ожидает), и редактировать конфиг в mods-start.d (это то чего пользователь не ожидает не проштудировав документацию и исходный код) -- иначе конфигурация в некоторых случаях может переключиться при апдейте пакета.

В этом случае снова схема с a la chkconfig была бы понятным решением. Симлинки устанавливается пакетом (согласно вендор пресету) при первом инсталле в систему, а дальше управление идет только меняя симлинки.
Comment 3 Anton Farygin 2022-10-16 18:55:07 MSK
Егор, посмотри пожалуйста.
Comment 4 Egor Ignatov 2022-11-11 21:40:41 MSK
(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.
Comment 5 Repository Robot 2022-11-14 18:29:21 MSK
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)