#2: Скрипт теперь заменяет необходимые строки в конфиге clamd.conf. Добавил пакет samba для загрузки.
This commit is contained in:
73
install_script.sh
Normal file
73
install_script.sh
Normal 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";
|
||||||
Reference in New Issue
Block a user