[sisyphus] Error in the apache2-base postinstall scripts

Aleksey Avdeev solo на solin.spb.ru
Пт Авг 24 01:18:43 MSK 2012


24.08.2012 00:53, Ivan Adzhubey пишет:
> On Friday 24 August 2012 00:39:31 Aleksey Avdeev wrote:
>> 24.08.2012 00:21, Ivan Adzhubey пишет:
>>> On Friday 24 August 2012 00:09:40 Aleksey Avdeev wrote:
>>>> 23.08.2012 22:14, Ivan Adzhubey пишет:
>>>>> Uzhe paru nedel pri vseh obnovlenijah apache2 oshibka:
>>>>>
>>>>> Running /usr/lib/rpm/posttrans-filetriggers
>>>>> Stopping httpd2 service: [ DONE ]
>>>>> Checking configuration sanity for httpd2:  Syntax OK
>>>>> [ DONE ]
>>>>> Starting httpd2 service:   [FAILED]
>>>>> /usr/lib/rpm/zz-apache2-base.filetrigger failed
>>>>> error: execution of /usr/lib/rpm/posttrans-filetriggers scriptlet from
>>>>> (null)-(null)-(null) failed, exit status 1
>>>>> Done.
>>>
>>> Prohoditsa ubirat' vot etot script:
>>>
>>> # mv /usr/lib/rpm/zz-apache2-base.filetrigger /usr/lib/rpm/zz-apache2-
>>> base.filetrigger.bak
>>>
>>>>   Не могу повторить: у меня на 2х тестовых системах (с init и с systemd)
>>>>
>>>> данная операция проходит нормально. (Проверял с apache2-2.2.22-alt7.)
>>
>>   Какая именно версия apache2 стоит у вас по факту? Что возвращает:
>>
>> rpm -qa|fgrep apache2
> 
> # rpm -qa|fgrep apache2|sort
> apache2-2.2.22-alt7
> apache2-base-2.2.22-alt7
...
> 
>>>>   Прошу проверить (при запущенном httpd2):
>>>> 1. Какой код возвращает команда:
>>>>
>>>> service httpd2 condrestart
>>>
>>> # service httpd2 condrestart
>>> Stopping httpd2 service:	[ DONE ]
>>> Checking configuration sanity for httpd2:  Syntax OK	[ DONE ]
>>> Starting httpd2 service:	[FAILED]
>>
>>   Значит проблема выплывает при condrestart (и скорее всего при
>> restart)... Это наблюдается именно на apache2-2.2.22-alt7?
> 
> Eto nabludaetsa poslednie paru nedel'... za eto vremja v Sisyphe bylo 3 ili 4 
> obnovlenija apache2.
> 
>>   Прошу прислать отладочный вывод (при запущенном httpd2):
>>
>> sh -x service httpd2 condrestart
> 
> # sh -x service httpd2 condrestart
> + PATH=/sbin:/usr/sbin:/bin:/usr/bin
> + export PATH
> + VERSION='service version 0.91-alt'
> + SERVICEDIR=/etc/init.d
> + SYSTEMCTL=/bin/systemctl
> + SYSTEMD_SERVICE_DIR=/lib/systemd/system
                        ^^^^^^^^^^^^
> + SYSTEMD_CGROUP_DIR=/sys/fs/cgroup/systemd
> + SERVICE=
> + OPTIONS=
> + systemd_status=
> + '[' 2 -eq 0 ']'
> + '[' 2 -eq 2 -a condrestart = --full-restart ']'
> + case "$1" in
> + SERVICE=httpd2
> + shift
> + check_service
> + '[' -n httpd2 ']'
> + '[' -x /etc/init.d/httpd2 ']'
> + return 0
> + cd /
> + systemd_is_active
> + '[' -z '' ']'
> + '[' -x /bin/systemctl -a -d /sys/fs/cgroup/systemd ']'
> + systemd_status=1
> + return 1
> + exec /etc/init.d/httpd2 condrestart
> Stopping httpd2 service:                                                                                                    
> [ DONE ]
> Checking configuration sanity for httpd2:  Syntax OK
> [ DONE ]
> Starting httpd2 service:                                                                                                    
> [FAILED]

  Я правильно понял, что вы используете systemd? Предупреждать же надо!!!

  Я пытался что-то понять в /etc/init.d/httpd2 копаясь, а раз у вас
systemd, то засада скорее всего в /lib/systemd/system/httpd2.servic.

  Прошу в /lib/systemd/system/httpd2.servic заменить строку

ExecStop=/usr/sbin/apachectl2 stop

на

ExecStop=/usr/sbin/apachectl2 wait-stop

и очередной раз проверить (при запущенном httpd2):

service httpd2 condrestart

PS: apachectl2 wait-stop ожидает фактического завершения httpd2. (Не 0
возвращает только если httpd2 не завершился за 300 секунд.)

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 900 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20120824/deca224b/attachment.bin>


Подробная информация о списке рассылки Sisyphus