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-daemon → clamav-daemon.service
- clamav-freshclam → clamav-freshclam.service
- atd → atd.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:
- 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
- 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
- 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:
- Asegúrate de que el servicio 'at' esté instalado y habilitado:
sudo systemctl enable atd.service
sudo systemctl start atd.service
- 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¶
- Instala los paquetes necesarios:
sudo pacman -S clamav clamav-daemon zenity libnotify at
- 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
- 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
- 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
- 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
- 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.