Saltar a contenido

Adaptaciones para Manjaro Linux

1. Instalación de paquetes

En Manjaro, debes usar pacman en lugar de apt:

sudo pacman -S clamav zenity libnotify at

2. Ubicación de archivos de configuración

En Manjaro/Arch, la ubicación de los archivos de configuración es diferente: - /etc/clamav/clamd.conf/etc/clamav/clamd.conf (mismo) - /etc/clamav/freshclam.conf/etc/clamav/freshclam.conf (mismo)

Pero es posible que estén en una ubicación ligeramente distinta, verifica con:

find /etc -name "clamd.conf"
find /etc -name "freshclam.conf"

3. Nombres de servicios systemd

En Manjaro, los nombres de los servicios son diferentes: - clamav-daemonclamav-daemon.service - clamav-freshclamclamav-freshclam.service - atdatd.service

Verifica los nombres exactos con:

systemctl list-unit-files | grep clam
systemctl list-unit-files | grep at

4. Usuario del demonio ClamAV

En Manjaro, el usuario podría ser clamav o clamav-daemon. Verifica con:

grep -r "User=" /usr/lib/systemd/system/clam*

5. Configuración de cron

Manjaro usa systemd timers más que cron. Aquí tienes la forma correcta de programar el escaneo:

  1. Crear un archivo de servicio systemd:
sudo nano /etc/systemd/system/clamav-scan.service

Contenido:

[Unit]
Description=ClamAV Interactive Scan
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/clamav-interactive-scan.sh
  1. Crear un timer systemd para ejecutarlo los lunes a las 00:00:
sudo nano /etc/systemd/system/clamav-scan.timer

Contenido:

[Unit]
Description=Run ClamAV scan weekly on Monday at midnight

[Timer]
OnCalendar=Mon *-*-* 00:00:00
Persistent=true

[Install]
WantedBy=timers.target
  1. Activar el timer:
sudo systemctl enable clamav-scan.timer
sudo systemctl start clamav-scan.timer

Adaptación del script

El script necesita pequeñas modificaciones para Manjaro:

  1. Asegúrate de que el servicio 'at' esté instalado y habilitado:
sudo systemctl enable atd.service
sudo systemctl start atd.service
  1. Crea el directorio de logs si no existe:
sudo mkdir -p /var/log/clamav
sudo chown $(grep "User=" /usr/lib/systemd/system/clamav-daemon.service | cut -d= -f2) /var/log/clamav

Paso a paso completo para Manjaro

  1. Instala los paquetes necesarios:
sudo pacman -S clamav clamav-daemon zenity libnotify at
  1. Configura ClamAV:
# Detener servicios
sudo systemctl stop clamav-daemon.service
sudo systemctl stop clamav-freshclam.service

# Hacer copia de los archivos de configuración
sudo cp /etc/clamav/clamd.conf /etc/clamav/clamd.conf.backup
sudo cp /etc/clamav/freshclam.conf /etc/clamav/freshclam.conf.backup

# Editar configuraciones según las recomendaciones anteriores
sudo nano /etc/clamav/clamd.conf
sudo nano /etc/clamav/freshclam.conf
  1. Crear el script de escaneo interactivo:
sudo nano /usr/local/bin/clamav-interactive-scan.sh
# Pegar el contenido del script (igual que antes)
sudo chmod +x /usr/local/bin/clamav-interactive-scan.sh
  1. Configurar el servicio y timer de systemd:
sudo nano /etc/systemd/system/clamav-scan.service
# Pegar el contenido del servicio

sudo nano /etc/systemd/system/clamav-scan.timer
# Pegar el contenido del timer

sudo systemctl enable clamav-scan.timer
sudo systemctl start clamav-scan.timer
  1. Habilitar el servicio de actualización de base de datos, pero no el escáner en tiempo real:
sudo systemctl enable clamav-freshclam.service
sudo systemctl start clamav-freshclam.service
sudo systemctl disable clamav-daemon.service
  1. Verificar que todo está configurado correctamente:
# Verificar que el timer está activo
systemctl list-timers | grep clamav

# Verificar permisos del directorio de logs
ls -la /var/log/clamav

# Verificar que el servicio 'at' está habilitado
systemctl status atd.service

Con estas adaptaciones, la configuración de bajo consumo de ClamAV debería funcionar correctamente en tu sistema Manjaro Linux.