CRITICAL FIX: Handle grep failures with set -eo pipefail in scanner installation
FIXED: - Added '|| true' to all grep commands that filter installation output - ClamAV installation: Fixed grep exit code issue on yum/apt-get output - Maldet installation: Fixed signature update grep failure handling - ImunifyAV installation: Fixed deployment script grep and update grep failures - Changed imunify update from pipe-to-grep-or-retry to proper if-statement check BEHAVIOR CHANGE: - Installation continues even if output patterns don't match expected strings - Signature updates now use if-statement with grep -q instead of bare pipes - Better status reporting: shows 'unclear' instead of error when status unknown ROOT CAUSE: With 'set -eo pipefail' enabled, grep commands that return 1 (no match) cause the entire pipeline to fail. This was causing the installation to exit with code 1 even though the software was actually installing successfully. EXAMPLE: Before: yum output 'Complete!' → grep looks for 'Installing' → grep returns 1 → exit After: yum output 'Complete!' → grep returns 1 → handled with '|| true' → continue
This commit is contained in:
@@ -223,13 +223,13 @@ install_all_scanners() {
|
|||||||
if rpm -qa | grep -q "cpanel-clamav"; then
|
if rpm -qa | grep -q "cpanel-clamav"; then
|
||||||
echo -e "${GREEN}✓ ClamAV already installed (cPanel)${NC}"
|
echo -e "${GREEN}✓ ClamAV already installed (cPanel)${NC}"
|
||||||
else
|
else
|
||||||
/scripts/update_local_rpm_versions --edit target_settings.clamav installed 2>/dev/null
|
/scripts/update_local_rpm_versions --edit target_settings.clamav installed 2>/dev/null || true
|
||||||
/scripts/check_cpanel_rpms --fix --targets=clamav 2>&1 | grep -E "Installing|Updating|up to date"
|
/scripts/check_cpanel_rpms --fix --targets=clamav 2>&1 | grep -E "Installing|Updating|up to date" || true
|
||||||
fi
|
fi
|
||||||
elif command -v yum &>/dev/null; then
|
elif command -v yum &>/dev/null; then
|
||||||
yum install -y clamav clamav-update 2>&1 | grep -E "Installing|Updating|already installed"
|
yum install -y clamav clamav-update 2>&1 | grep -E "Installing|Updating|already installed" || true
|
||||||
elif command -v apt-get &>/dev/null; then
|
elif command -v apt-get &>/dev/null; then
|
||||||
apt-get update && apt-get install -y clamav clamav-daemon
|
apt-get update && apt-get install -y clamav clamav-daemon || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if is_clamav_installed; then
|
if is_clamav_installed; then
|
||||||
@@ -374,7 +374,7 @@ install_all_scanners() {
|
|||||||
|
|
||||||
if [ -f imav-deploy.sh ]; then
|
if [ -f imav-deploy.sh ]; then
|
||||||
# Run deployment script with progress indicators
|
# Run deployment script with progress indicators
|
||||||
bash imav-deploy.sh 2>&1 | grep -E "Installing|Installed|Complete|Error|Failed" || bash imav-deploy.sh
|
bash imav-deploy.sh 2>&1 | grep -E "Installing|Installed|Complete|Error|Failed" || true
|
||||||
rm -f imav-deploy.sh
|
rm -f imav-deploy.sh
|
||||||
|
|
||||||
# Enable cPanel UI plugin if installed
|
# Enable cPanel UI plugin if installed
|
||||||
|
|||||||
Reference in New Issue
Block a user