#2: Скрипт теперь заменяет необходимые строки в конфиге clamd.conf. Добавил пакет samba для загрузки.

This commit is contained in:
2026-04-14 23:06:10 +05:00
parent e7b9521a8a
commit 2d8bdd3658

73
install_script.sh Normal file
View File

@@ -0,0 +1,73 @@
#!/bin/bash
# Description: Скрипт для корректной загрузки и установки программы RPIVirusScanner
# Author: Шафеев "Thiflict" Марат
# Date: 2026-04-14
# Так как скрипт не тестировался должным образом, необходимо запросить у пользователя о его намерениях продолжать выполнение скрипта.
read -p "ВНИМАНИЕ!!! Данный скрипт установки не тестировался должным образом! Это значит, что скрипт может поломать некоторые конфиги ClamAV КАК МИНИМУМ! Для продолжения введите: 'i understand all the risks and want to continue'. Это будет означать, что вы понимаете риски и хотите продолжить выполнение программы! " answer
answer=${answer,,}
if [[ "$answer" != "i understand all the risks and want to continue" ]]; then
echo "Неправильно набрана фраза для продолжена. Отменяю..."
exit 0
fi
echo "Выполняю..."
# Обновление списков пакетов и зарузка зависимостей
apt update;
apt install openjdk-21-jdk gpiod libgpiod-dev clamav clamav-daemon ntfs-3g usbmount samba -y; # Загрузка нужных пактов
# Настройка либы для взаимодействия с GPIO
echo "Подготовка библиотек взаимодействия с GPIO..."
sudo usermod -a -G gpio,spi,i2c $USER;
newgrp gpio;
# Настройка ClamAV
echo "Настройка ClamAV"
{
echo "PrivateMirror https://clamav-mirror.ru";
echo "PrivateMirror https://mirror.truenetwork.ru/clamav/";
echo "PrivateMirror http://mirror.truenetwork.ru/clamav/";
echo "ScriptedUpdates no";
} >> /etc/clamav/freshclam.conf;
rm /var/lib/clamav/freshclam.dat;
freshclam -vvv;
CONFIG_FILE="/etc/clamav/clamd.conf"; # Путь к файлу конфига
NEW_VALUE_MT="10"; # Новое значение MaxThreads
NEW_VALUE_MF="10M"; # Новое значение MaxFileSize
NEW_VALUE_MS="30M"; # Новое значение MaxScanSize
cp "$CONFIG_FILE" "$CONFIG_FILE.bak"; # Создание бекапа конфига
sed -i -E "
s/^(MaxThreads[[:space:]]+).*/\1$NEW_VALUE_MT/
s/^(MaxFileSize[[:space:]]+).*/\1$NEW_VALUE_MF/
s/^(MaxScanSize[[:space:]]+).*/\1$NEW_VALUE_MS/
" "$CONFIG_FILE"; # Изменение конфига
# Загрузка временных файлов
echo "Загрузка необходиых временных файлов..."
rm -rf /tmp/rpivs;
mkdir /tmp/rpivs;
wget https://static1.thiflict.ru/raspberrypi_virus_scanner/rpivirusscanner_v1.0.jar -o /tmp/rpivs/rpivirusscanner.jar;
wget https://static1.thiflict.ru/raspberrypi_virus_scanner/v1.0/rpi_virus_scanner_service -o /tmp/rpivs/rpi_virus_scanner.service;
# Установка программы
echo "Установка программы..."
rm -rf /opt/thiflict-dev/rpi-virus-scanner/
mkdir -p /opt/thiflict-dev/rpi-virus-scanner/
mv /tmp/rpivs/rpivirusscanner.jar /opt/thiflict-dev/rpi-virus-scanner/;
# Создание демона
echo "Создание демона RPIVirusScanner..."
mv /tmp/rpivs/rpi_virus_scanner.service /etc/systemd/system/;
systemctl daemon-reload;
systemctl enable rpi_virus_scanner.service;
# Авторство:
echo "RaspberryPi успешно установлен! Рекомендуется перезагрузить устройство.";
echo " ";
echo "==== Об авторе: ====";
echo "Репозиторий проекта: https://git.ds1.thiflict.ru/Shafeev-CourseWork/Practice-Part";
echo "Телеграм-канал: https://t.me/Thiflict_tg";
echo "YouTube канал: https://youtube.com/@Thiflict";