This repository has been archived on 2026-04-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Practice-Part/install_script.sh

81 lines
4.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Description: Скрипт для корректной загрузки и установки программы RPIVirusScanner
# Author: Шафеев "Thiflict" Марат
# Date: 2026-04-14
# Так как скрипт не тестировался должным образом, необходимо запросить у пользователя о его намерениях продолжать выполнение скрипта.
read -p "ВНИМАНИЕ!!! Данный скрипт установки не тестировался должным образом! Это значит, что скрипт может поломать некоторые конфиги ClamAV и Samba КАК МИНИМУМ! Для продолжения введите: '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/v2.0/smb_conf -o /tmp/rpivs/smb.conf
wget https://static1.thiflict.ru/raspberrypi_virus_scanner/v2.0/rpivirusscanner.jar -o /tmp/rpivs/rpivirusscanner.jar;
wget https://static1.thiflict.ru/raspberrypi_virus_scanner/v2.0/rpi_virus_scanner_service -o /tmp/rpivs/rpi_virus_scanner.service;
# Настройка Samba
echo "Выполняется настройка Samba"
systemctl stop smbd
systemctl disable smbd
cp /tmp/rpivs/smb.conf /etc/samba/smb.conf
testparm # Для дебага
# Установка программы
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";