Probrema com Antivirus ClamaV

Instalei o antivírus Clamav no Linux Ubuntu 18.04.03 LTS e toda vez que tento atualizar a base de dados ou o programa para uma nova versão apresenta esse erro. Segue em anexo print do erro.

OBS: Já tentei realizar o comando com privilégio “sudo” mas continua o mesmo erro.

1 Curtida

Provavelmente você vai encontrar a solução no arquivo de log.

1 Curtida

Vou buscar o processo que está broqueando o log. Mas até agora não encontrei nada na documentação.

No Ubuntu eu so conseguia atualizar pelo ClamTK, que é uma interface gráfica com ClamAV. Baixa e ve se consegue atualizar.

O correto é executar com sudo execute como sudo e coloque a saída do sudo.
Qual foi a maneira que você instalo?
Pelo código fonte?
Algum tutorial?
Coloque a saída do “log” do erro a cima também.

Desculpe, não entendi nada…
Este erro que você está tendo provavelmente é pela falta do arquivo de log na pasta, então pra criá-la os passos são estes.

Tem que ser em super usuário porque o caminho precisa desta permissão. E um dos comandos está errado, o certo é esse:

sudo chown clamav:clamav /var/log/clamav/freshclam.log

não é “ponto” como lá e sim com “dois pontos”.

Baixei, fala que tem uma atualização disponível e não atualiza.

1 Curtida

O arquivo log está na pasta var/log/clamav mas mesmo assim está dando erro.

É, parece que o cara não redigiu bem sua solução…
Considerando que a pasta e os arquivos ainda estão mesmo na pasta como no print, dê o seguintes comandos:

Antes, certifique-se que o conteúdo dos arquivos freshclam.log e clamav.log estejam em branco, se não apague tudo e salve em branco.

$ sudo chmod 747 /var/log/clamav
$ sudo chmod 640 /var/log/clamav/freshclam.log
$ sudo chmod 640 /var/log/clamav/clamav.log
$ sudo chown clamav:clamav /var/log/clamav
$ sudo chown clamav:adm /var/log/clamav/freshclam.log
$ sudo chown clamav:adm /var/log/clamav/clamav.log

finalize com

sudo freshclam

neste último comando veja se retorna algum erro, se não, funcionou…

Depois de realizar o processo descrito retorna a mensagem de erro abaixo. Tentei matar o processo mas não resolveu.

ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

Olá!
Explicarei os seguintes erros…

ClamAV v0.102.1 - ERROR: Check permissions

Tentando executar o binário freshclam, sem permissão de root, para verificar (id -u ) saída diferente de 0. Você receberá a seguinte mensagem:

user@hostname: ~$ freshclam 
ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!
WARNING: [LibClamAV] cli_rmdirs: Cant remove temporary directory /var/lib/clamav/tmp: Permission denied

Solução:

Execute o binário freshclam com permissão de conta root ou equivalente usando sudo:

root@hostname: ~# freshclam

ou

user@hostname: ~$ sudo freshclam

ClamAV v0.102.1 - ERROR: Locked by another process

Tentando executar o binário freshclam com outro processo ligado ao freshclam (Ex.: clamav-freshclam.service) já iniciado. Você receberá a seguinte mensagem:

user@hostname: ~$ sudo freshclam 
[sudo] password for user: 
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!

- Solução

Finalize os processos ligados ao freshclam que já estiverem em execução. (Irei utilizar com exemplo o próprio clamav-freshclam.service):

user@hostname: ~$ sudo systemctl stop clamav-freshclam.service

ClamAV v0.102.1 - Execução normal

Após tudo resolvido você poderá executar o binário e receberá uma saída parecida com a seguinte:

user@hostname: ~$ sudo freshclam 
ClamAV update process started at Thu Dec 12 03:51:34 2019

Dica:

Se sua internet não for muito boa, altere o tempo de espera para a duração de download das database:

Abra o arquivo em /etc/clamav/freshclam.conf e procure pelas linhas a seguir:

# Timeout in seconds when connecting to database server.
# Default: 30
#ConnectTimeout 30

# Timeout in seconds when reading from database server.
# Default: 60
#ReceiveTimeout 60

Exemplo já testado para internet de 19496 Kbp/s:

# Timeout in seconds when connecting to database server.
ConnectTimeout 160
# Timeout in seconds when reading from database server.
ReceiveTimeout 200

- Porque alterar?

Caso sua internet não for boa e tentar fazer um download por exemplo da database main.cvd (112.40 MiB), com Timeout baixo você pode receber a seguinte mensagem de alerta:

main database available for download (remote version: 59)
WARNING: Download failed (28) WARNING:  Message: Timeout was reached3.37MiB/112.40MiB   
WARNING: getcvd: Can't download main.cvd from https://database.clamav.net/main.cvd
Trying again in 5 secs...

Espero ter lhe ajudado, até mais!

Eu estou com o Clamav aqui e estas são as permissões, acredito que está tudo certo. Provavelmente este erro que você está recebendo é porque o processo freshclam já está em execução e não pode correr outra instância , para que você visse tudo certo teria que parar sua execução com sudo e reiniciá-la. Acho que tá tudo certo, você não precisa fazer mais nada, reinicie o pc e tente atualizar a base de dados dele para confirmar…

Curiosamente testei o comando ‘freshclam’ aqui e isso que você teve aparece aqui também. Não tenho problema nenhum com o Clamav, como disse, o seu caso está solucionado…

$ sudo systemctl status clamav-freshclam

Executa este comando e posta a resposta dele. Se tiver um trecho “Active: active (running)” é porque realmente está tudo certo…

Consegui resolver o problema obrigado a todos :grinning: