Сервис ClamD не может запуститься

Вопрос или проблема

В данный момент я следую этому руководству по настройке ClamAV на своем AlmaLinux 9.3 компьютере, однако на Шаге 11 я не могу запустить clamd@service и хотел бы узнать, сталкивался ли кто-нибудь еще с этой проблемой, так как я не могу найти много информации из других источников.

[root@localhost tester]# sudo systemctl status clamd@service
× [email protected] - даемон сканера clamd (сервис)
     Загружено: загружено (/usr/lib/systemd/system/[email protected]; отключено; пресет: отключено)
     Активно: неудача (Результат: код завершения) с Thu 2023-12-28 12:08:15 GMT; 3min 26s назад
       Документы: man:clamd(8)
             man:clamd.conf(5)
             https://www.clamav.net/documents/
    Процесс: 6728 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/service.conf (код=вышел, статус=1/НЕУДАЧА)
        ЦП: 3мс

Dec 28 12:08:15 localhost.localdomain systemd[1]: [email protected]: Запланированная перезагрузка, счетчик перезапусков на уровне 5.
Dec 28 12:08:15 localhost.localdomain systemd[1]: Остановлен даемон сканера clamd (сервис).
Dec 28 12:08:15 localhost.localdomain systemd[1]: [email protected]: Запрос на запуск повторился слишком быстро.
Dec 28 12:08:15 localhost.localdomain systemd[1]: [email protected]: Не удается с результатом 'код завершения'.
Dec 28 12:08:15 localhost.localdomain systemd[1]: Не удалось запустить даемон сканера clamd (сервис).

Я выполнил следующую команду, согласно рекомендованному выводу в Терминале:

$ journalctl -xeu [email protected]

░░ Код выхода процесса 'вышел', и его статус выхода равен 1.
Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Не удалось с результатом 'код завершения'.
░░ Subject: Unit failed
░░ Определен: systemd
░░ Поддержка: https://access.redhat.com/support
░░
░░ Юнит [email protected] вошел в состояние 'неудача' с результатом 'код завершения'.
Dec 28 12:45:18 localhost.localdomain systemd[1]: Не удалось запустить даемон сканера clamd (сервис).
░░ Subject: Запрос на старт для юнита [email protected] не удался
░░ Определен: systemd
░░ Поддержка: https://access.redhat.com/support
░░
░░ Запрос на старт для юнита [email protected] закончился неудачей.
░░
░░ Идентификатор задачи 7444, результат задачи - неудача.
Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Запланированная перезагрузка, счетчик перезапусков на уровне 5.
░░ Subject: Автоматическая перезагрузка юнита запланирована
░░ Определен: systemd
░░ Поддержка: https://access.redhat.com/support
░░
░░ Автоматическая перезагрузка юнита [email protected] запланирована, как результат для
░░ установленного параметра Restart= для юнита.
Dec 28 12:45:18 localhost.localdomain systemd[1]: Остановлен даемон сканера clamd (сервис).
░░ Subject: Запрос на остановку юнита [email protected] завершился
░░ Определен: systemd
░░ Поддержка: https://access.redhat.com/support
░░
░░ Запрос на остановку юнита [email protected] завершился.
░░
░░ Идентификатор задачи 7568, результат задачи - выполнено.
Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Запрос на запуск повторился слишком быстро.
Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Не удалось с результатом 'код завершения'.
░░ Subject: Unit failed
░░ Определен: systemd
░░ Поддержка: https://access.redhat.com/support
░░
░░ Юнит [email protected] вошел в состояние 'неудача' с результатом 'код завершения'.
Dec 28 12:45:18 localhost.localdomain systemd[1]: Не удалось запустить даемон сканера clamd (сервис).
░░ Subject: Запрос на старт для юнита [email protected] не удался
░░ Определен: systemd
░░ Поддержка: https://access.redhat.com/support
░░
░░ Запрос на старт для юнита [email protected] завершился неудачей.
░░
░░ Идентификатор задачи 7568, результат задачи - неудача.

Скопируйте ваш /etc/clamd.d/scan.conf в /etc/clamd.d/service.conf и внесите изменения на шаге 11 в этот файл.

Юнит systemd, который они вызывают, имеет имя экземпляра @, которое передается переменной как юнит и ссылается как %i. Поэтому, когда вы пытаетесь вызвать systemctl start clamd@service, он ссылается на /etc/clamd.d/service.conf согласно файлу юнита, который не существует.

Если мы создадим файл конфигурации, который ищет юнит, он должен запуститься.

Для справки, файл юнита – это /usr/lib/systemd/system/[email protected]

Это хорошо объяснено здесь: служба clamd

Вот инструкция на случай, если ссылка больше не доступна:

“Создайте новый файл конфигурации службы: Если файл службы Clamd еще не существует на вашей системе, создайте его, используя:”

vim /etc/clamd.d/service.conf

Добавьте следующие базовые строки в конец файла:

# Пример файла конфигурации Daemon ClamAV
LogFile /var/log/clamd.service.log
LogFileMaxSize 2M
LogTime yes
LogVerbose yes
PidFile /var/run/clamd.service.pid
DatabaseDirectory /var/lib/clamav
TCPSocket 3310
TCPAddr 127.0.0.1

Добавьте правильные права доступа

sudo chmod 644 /etc/clamd.d/service.conf
sudo chown clamav:clamav /etc/clamd.d/service.conf

Убедитесь, что там правильный execStart:

vim /etc/systemd/system/[email protected]

или на RHEL:

vim /etc/systemd/system/multi-user.target.wants/[email protected]

он должен содержать следующую строку в части [service]:

ExecStart=/usr/sbin/clamd --config-file=/etc/clamd.d/service.conf

или эквивалентная строка:

ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf

А теперь все в порядке:

sudo systemctl daemon-reload
sudo systemctl start [email protected]
sudo systemctl status [email protected]

Ответ или решение

Для решения проблемы с запуском службы ClamD на вашей машине AlmaLinux 9.3, необходимо выполнить несколько шагов, чтобы удостовериться, что конфигурация настроена должным образом.

  1. Проверка конфигурации: Убедитесь, что файл конфигурации service.conf существует в директории /etc/clamd.d/. Если этот файл отсутствует, вам нужно его создать и настроить.

    Откройте терминал и выполните команду:

    sudo vim /etc/clamd.d/service.conf

    Затем добавьте в конец файла следующие строки:

    # Пример конфигурационного файла для Daemon ClamAV
    LogFile /var/log/clamd.service.log
    LogFileMaxSize 2M
    LogTime yes
    LogVerbose yes
    PidFile /var/run/clamd.service.pid
    DatabaseDirectory /var/lib/clamav
    TCPSocket 3310
    TCPAddr 127.0.0.1
  2. Установка прав доступа: Убедитесь, что файл конфигурации имеет правильные разрешения, чтобы служба могла к нему обратиться.

    Выполните команды:

    sudo chmod 644 /etc/clamd.d/service.conf
    sudo chown clamav:clamav /etc/clamd.d/service.conf
  3. Проверка файла службы: Убедитесь, что файл службы clamd@.service корректно настроен на использование вашего файла конфигурации. Обычно этот файл находится здесь:

    /usr/lib/systemd/system/clamd@.service

    Откройте его с помощью редактора:

    sudo vim /usr/lib/systemd/system/clamd@.service

    Убедитесь, что строка ExecStart выглядит примерно так:

    ExecStart=/usr/sbin/clamd --config-file=/etc/clamd.d/%i.conf

    Либо, если вы хотите указать конкретный файл:

    ExecStart=/usr/sbin/clamd -c /etc/clamd.d/service.conf
  4. Перезагрузка systemd и перезапуск службы: После внесения изменений необходимо перезагрузить конфигурации systemd и снова попробовать запустить службу.

    Выполните:

    sudo systemctl daemon-reload
    sudo systemctl start clamd@service
    sudo systemctl status clamd@service
  5. Проверка логов: Если служба всё равно не запускается, вы можете проверить логи для получения дополнительной информации. Выполните команду:

    journalctl -xeu clamd@service

    Это позволит вам увидеть, какие ошибки возникают при попытке запуска.

Выполнив все вышеперечисленные шаги, вы должны быть в состоянии успешно запустить службу ClamD на вашем AlmaLinux 9.3. Если проблема сохраняется, пожалуйста, предоставьте дополнительные детали об ошибках из журналов для дальнейшего анализа.

Оцените материал
Добавить комментарий

Капча загружается...