Bug 39645 - Починить старт ClamAV
Summary: Починить старт ClamAV
Status: CLOSED FIXED
Alias: None
Product: Branch p9
Classification: Distributions
Component: clamav (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey Y. Afonin
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks: 39631
  Show dependency tree
 
Reported: 2021-02-03 12:55 MSK by Vera Blagoveschenskaya
Modified: 2021-11-17 09:50 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vera Blagoveschenskaya 2021-02-03 12:55:58 MSK
Вынесено из
https://bugzilla.altlinux.org/show_bug.cgi?id=39631#c10

clamd (как и clamsmtpd) тоже не имеет настоящего юнита --- он тоже стартует как обёртка над SysV-init. И дальше, видимо, всё просто: обёртки над SysV-init стартуют _последовательно_, друг за другом. И если clamd стартует несколько минут, то тем самым он задерживает весь "состав" идущий следом.

Следовательно, нужно а) починить старт ClamAV (минуты --- это несерьёзно) и б) написать (взять из сети) для него нормальный юнит --- тогда он будет запускаться _параллельно_.
Comment 1 Sergey Y. Afonin 2021-02-03 15:45:05 MSK
Меня пока всё ещё не интересует systemd. Патчи c unit-фалами готов прининять. И не против обновления пакета в этом плане даже без меня. Eve R. Ybody в ACL есть.
Comment 2 Sergey Y. Afonin 2021-02-03 15:53:53 MSK
(In reply to Vera Blagoveschenskaya from comment #0)

> а) починить старт ClamAV (минуты --- это несерьёзно)

Что касается этого момента, боюсь, это не получится. Апстрим уже сделал, что мог:
https://lists.clamav.net/pipermail/clamav-users/2019-September/008496.html
И по треду. Хорошо хоть перезагрузку баз сделали быструю.
Comment 3 Alexey Shabalin 2021-02-03 16:52:53 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #0)
> Вынесено из
> https://bugzilla.altlinux.org/show_bug.cgi?id=39631#c10
> 
> clamd (как и clamsmtpd) тоже не имеет настоящего юнита --- он тоже стартует
> как обёртка над SysV-init. И дальше, видимо, всё просто: обёртки над
> SysV-init стартуют _последовательно_, друг за другом. И если clamd стартует
> несколько минут, то тем самым он задерживает весь "состав" идущий следом.

Ну нет же. Зачем придумывать? Просто почитайте доку.
Для sysv-скриптов отрабатывает генератор /lib/systemd/system-generators/systemd-sysv-generator, и для каждого sysv-скрипта появляется unit-файл в /run/systemd/generator.late. Дальше они запускаются паралельно как обыкновенные unit-файлы. Основная проблема, что в sysv-скрипте нет LSB заголовков, поэтому в unit-файле нет корректных After= и т.п. Соответственно systemd не знает когда нужно запускать такой unit.


> 
> Следовательно, нужно а) починить старт ClamAV (минуты --- это несерьёзно) и
> б) написать (взять из сети) для него нормальный юнит --- тогда он будет
> запускаться _параллельно_.


В clamav уже есть unit'ы, сделанные апстримом, только их имя не совпадает с именем init-скрипта. Поэтому для systemd это два разных сервиса (clamd и clamav-daemon). Что бы clamav-daemon виделся как сервис clamd достаточно сделать symlink, это будет восприниматься как алиас.
Comment 4 manowar@altlinux.org 2021-02-03 17:10:36 MSK
Спасибо за ликбез. Я правильно понимаю, что проблему можно починить на уровне init-скрипта, добавив туда корректный заголовок LSB? По идее, это ведь не должно ничего сломать в системах на SysV-init? Скорее только улучшить.

Переименование или симлинк для юнит-файла звучит просто: сейчас попробую это сделать и пришлю патч, если поможет.
Comment 5 Sergey Y. Afonin 2021-02-03 18:21:43 MSK
(In reply to manowar@altlinux.org from comment #4)

> Я правильно понимаю, что проблему можно починить на
> уровне init-скрипта, добавив туда корректный заголовок LSB?

Он там есть с 0.97.1-alt2 (2011 г.). Вроде бы корректный:

### BEGIN INIT INFO
# Provides:          clamd
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:
# Default-Stop:
# Short-Description: Start clamd at boot time
# Description:       Start Clam AntiVirus Daemon at boot time
### END INIT INFO

Default Start/Stop пустые ввиду того, что предполагается, что демон отключен по умолчанию. Если там что-то задать, то в системе с sysvinit он включается при установке в систему.
Comment 6 Vera Blagoveschenskaya 2021-03-01 11:43:18 MSK
Для информации: в Сизифе clamav-0.103.1-alt5.x86_64
Проблема старта сервисов не воспроизводится.

Но прошу иметь в виду https://bugzilla.altlinux.org/show_bug.cgi?id=39748
Comment 7 Sergey Y. Afonin 2021-11-16 01:24:26 MSK
(In reply to Vera Blagoveschenskaya from comment #6)

> Для информации: в Сизифе clamav-0.103.1-alt5.x86_64
> Проблема старта сервисов не воспроизводится.

Эта версия давно попала и в p9. Баг закрываем?
Comment 8 Vera Blagoveschenskaya 2021-11-16 09:23:32 MSK
(Ответ для Sergey Y. Afonin на комментарий #7)
> (In reply to Vera Blagoveschenskaya from comment #6)
> 
> > Для информации: в Сизифе clamav-0.103.1-alt5.x86_64
> > Проблема старта сервисов не воспроизводится.
> 
> Эта версия давно попала и в p9. Баг закрываем?

Здравствуйте.
В p10 на версии 0.103.4-alt1 не воспроизводится.
Ошибка в p9 будет проверена с заданием
http://git.altlinux.org/tasks/289856/
Comment 9 Alexander Makeenkov 2021-11-17 09:50:04 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #8)
> (Ответ для Sergey Y. Afonin на комментарий #7)
> > (In reply to Vera Blagoveschenskaya from comment #6)
> > 
> > > Для информации: в Сизифе clamav-0.103.1-alt5.x86_64
> > > Проблема старта сервисов не воспроизводится.
> > 
> > Эта версия давно попала и в p9. Баг закрываем?
> 
> Здравствуйте.
> В p10 на версии 0.103.4-alt1 не воспроизводится.
> Ошибка в p9 будет проверена с заданием
> http://git.altlinux.org/tasks/289856/

В p9 не воспроизводится.