Tools Installer Script за Linux

Съдържание
Общ преглед
Tools Installer е bash скрипт за автоматизирана инсталация и деинсталация на популярни Linux програми. Скриптът предоставя интуитивен текстов интерфейс за управление на различни категории софтуер.
Системни изисквания
- Ubuntu/Debian базирана Linux дистрибуция
- Минимум 4GB RAM
- Минимум 10GB свободно дисково пространство
- Интернет връзка
- Sudo привилегии
Забележка: Скриптът автоматично проверява системните изисквания при стартиране.
Инсталация
За да използвате скрипта, запишете го в текстов файл (например tools-installer.sh).
#!/bin/bash
# Цветове
GREEN='\033[0;32m'
RED='\033[0;31m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
BOLD='\033[1m'
NORMAL='\033[0m'
# Създаване на временна директория
TEMP_DIR="$HOME/temp-install"
mkdir -p "$TEMP_DIR"
# Функция за проверка на грешки
check_error() {
if [ $? -ne 0 ]; then
echo -e "${RED}${BOLD}Грешка при изпълнение на командата!${NORMAL}"
exit 1
fi
}
# Функция за инсталация на програми
install_program() {
echo -e "${GREEN}${BOLD}Инсталиране на $1...${NORMAL}"
eval "$2"
check_error
echo -e "${GREEN}${BOLD}Инсталирането на $1 завърши успешно!${NORMAL}"
}
# Подобрена функция за деинсталация на програми
remove_program() {
local program_name="$1"
local package_name="$2"
echo -e "${RED}${BOLD}Деинсталиране на $program_name...${NORMAL}"
# Проверка дали програмата е инсталирана
if ! dpkg -l | grep -q "^ii.*$package_name"; then
echo -e "${YELLOW}${BOLD}$program_name не е инсталиран.${NORMAL}"
return
fi
# Деинсталиране с различни методи в зависимост от пакета
case "$package_name" in
"brave-browser")
sudo apt-get remove --purge brave-browser -y
sudo rm /etc/apt/sources.list.d/brave-*.list
sudo rm /usr/share/keyrings/brave-*.gpg
;;
"google-chrome-stable")
sudo apt-get remove --purge google-chrome-stable -y
sudo rm /etc/apt/sources.list.d/google-*.list
;;
"signal-desktop")
sudo apt-get remove --purge signal-desktop -y
sudo rm /etc/apt/sources.list.d/signal-*.list
sudo rm /usr/share/keyrings/signal-*.gpg
;;
"docker-ce")
sudo apt-get remove --purge docker-ce docker-ce-cli containerd.io -y
sudo rm /etc/apt/sources.list.d/docker.list
;;
"code")
sudo apt-get remove --purge code -y
sudo rm /etc/apt/sources.list.d/vscode.list
sudo rm /usr/share/keyrings/packages.microsoft.gpg
;;
*)
sudo apt-get remove --purge "$package_name" -y
;;
esac
sudo apt-get autoremove -y
sudo apt-get clean
echo -e "${RED}${BOLD}Деинсталирането на $program_name завърши успешно!${NORMAL}"
}
# Функция за деинсталационно меню
uninstall_menu() {
while true; do
echo -e "${BLUE}${BOLD}Изберете програма за деинсталиране:${NORMAL}"
echo "1) Браузъри"
echo "2) Комуникационни приложения"
echo "3) Инструменти за разработка"
echo "4) Мултимедийни приложения"
echo "5) Облачни услуги"
echo "6) Отдалечен достъп"
echo "7) Връщане в главното меню"
read -p "Въведете избор (1-7): " uninstall_choice
case $uninstall_choice in
1)
echo -e "${BLUE}${BOLD}Изберете браузър за деинсталиране:${NORMAL}"
echo "1) Brave"
echo "2) Google Chrome"
echo "3) Firefox"
echo "4) Назад"
read -p "Въведете избор (1-4): " browser_choice
case $browser_choice in
1) remove_program "Brave браузър" "brave-browser" ;;
2) remove_program "Chrome браузър" "google-chrome-stable" ;;
3) remove_program "Firefox браузър" "firefox" ;;
4) continue ;;
*) echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}" ;;
esac
;;
2)
echo -e "${BLUE}${BOLD}Изберете приложение за деинсталиране:${NORMAL}"
echo "1) Signal"
echo "2) Telegram"
echo "3) Discord"
echo "4) Viber"
echo "5) Назад"
read -p "Въведете избор (1-5): " comm_choice
case $comm_choice in
1) remove_program "Signal" "signal-desktop" ;;
2) remove_program "Telegram" "telegram-desktop" ;;
3) remove_program "Discord" "discord" ;;
4) remove_program "Viber" "viber" ;;
5) continue ;;
*) echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}" ;;
esac
;;
3)
echo -e "${BLUE}${BOLD}Изберете инструмент за деинсталиране:${NORMAL}"
echo "1) VS Code"
echo "2) Docker"
echo "3) Node.js"
echo "4) Назад"
read -p "Въведете избор (1-4): " dev_choice
case $dev_choice in
1) remove_program "VS Code" "code" ;;
2) remove_program "Docker" "docker-ce" ;;
3)
echo "За деинсталиране на Node.js изпълнете:"
echo "nvm deactivate && nvm uninstall default"
;;
4) continue ;;
*) echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}" ;;
esac
;;
4)
echo -e "${BLUE}${BOLD}Изберете приложение за деинсталиране:${NORMAL}"
echo "1) VLC"
echo "2) OBS Studio"
echo "3) Назад"
read -p "Въведете избор (1-3): " media_choice
case $media_choice in
1) remove_program "VLC" "vlc" ;;
2) remove_program "OBS Studio" "obs-studio" ;;
3) continue ;;
*) echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}" ;;
esac
;;
5)
echo -e "${BLUE}${BOLD}Изберете услуга за деинсталиране:${NORMAL}"
echo "1) Nextcloud"
echo "2) Dropbox"
echo "3) Назад"
read -p "Въведете избор (1-3): " cloud_choice
case $cloud_choice in
1) remove_program "Nextcloud" "nextcloud-desktop" ;;
2) remove_program "Dropbox" "dropbox" ;;
3) continue ;;
*) echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}" ;;
esac
;;
6)
echo -e "${BLUE}${BOLD}Изберете приложение за деинсталиране:${NORMAL}"
echo "1) AnyDesk"
echo "2) TeamViewer"
echo "3) Назад"
read -p "Въведете избор (1-3): " remote_choice
case $remote_choice in
1) remove_program "AnyDesk" "anydesk" ;;
2) remove_program "TeamViewer" "teamviewer" ;;
3) continue ;;
*) echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}" ;;
esac
;;
7)
break
;;
*)
echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}"
;;
esac
done
}
# Функция за проверка на системните изисквания
check_system() {
echo -e "${BLUE}${BOLD}Проверка на системата...${NORMAL}"
# Проверка на свободно място
FREE_SPACE=$(df -h / | awk 'NR==2 {print $4}' | sed 's/G//')
if (( $(echo "$FREE_SPACE < 10" | bc -l) )); then
echo -e "${RED}${BOLD}Предупреждение: По-малко от 10GB свободно място!${NORMAL}"
fi
# Проверка на RAM
TOTAL_RAM=$(free -g | awk 'NR==2 {print $2}')
if [ "$TOTAL_RAM" -lt 4 ]; then
echo -e "${RED}${BOLD}Предупреждение: По-малко от 4GB RAM!${NORMAL}"
fi
# Проверка на CPU
CPU_CORES=$(nproc)
if [ "$CPU_CORES" -lt 2 ]; then
echo -e "${RED}${BOLD}Предупреждение: Само едно CPU ядро!${NORMAL}"
fi
# Актуализация на системата
echo -e "${YELLOW}${BOLD}Актуализиране на системата...${NORMAL}"
sudo apt update && sudo apt upgrade -y
check_error
}
# Главно меню
while true; do
echo -e "\n${BLUE}${BOLD}Главно меню:${NORMAL}"
echo -e "${BOLD}1) Инсталиране на програми${NORMAL}"
echo -e "${BOLD}2) Деинсталиране на програми${NORMAL}"
echo -e "${BOLD}3) Проверка на системата${NORMAL}"
echo -e "${BOLD}4) Изход${NORMAL}"
read -p "Въведете избор (1-4): " main_choice
case $main_choice in
1)
# Тук остава същата логика за инсталиране както в оригиналния скрипт
;;
2)
uninstall_menu
;;
3)
check_system
;;
4)
echo -e "${BLUE}${BOLD}Почистване на временни файлове...${NORMAL}"
rm -rf "$TEMP_DIR"
echo -e "${BLUE}${BOLD}Излизане...${NORMAL}"
exit 0
;;
*)
echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}"
;;
esac
done
Направете го изпълним с командата:
chmod +x tools-installer.sh
и го стартирайте с :
./tools-installer.sh
Използване
След стартиране на скрипта, ще видите главно меню със следните опции:
- Инсталиране на програми
- Деинсталиране на програми
- Проверка на системата
- Изход
Категории програми
Категория | Налични програми |
---|---|
Браузъри | Brave, Google Chrome, Firefox |
Комуникационни приложения | Signal, Telegram, Discord, Viber |
Инструменти за разработка | VS Code, Docker, Node.js |
Мултимедийни приложения | VLC, OBS Studio |
Облачни услуги | Nextcloud, Dropbox |
Отдалечен достъп | AnyDesk, TeamViewer |
Функционалности
Автоматична инсталация
- Добавяне на необходимите хранилища
- Изтегляне и инсталиране на пакети
- Проверка за успешна инсталация
- Автоматично почистване на временни файлове
Безопасна деинсталация
- Проверка за инсталирани пакети
- Премахване на конфигурационни файлове
- Почистване на системата след деинсталация
Системни проверки
- Проверка на свободно дисково пространство
- Проверка на RAM памет
- Проверка на CPU ядра
- Автоматично обновяване на системата
Отстраняване на проблеми
Често срещани проблеми
Грешка при добавяне на хранилище:
sudo apt-get update
Изпълнете горната команда за обновяване на списъка с пакети.
Грешка при инсталация на пакет:
sudo dpkg --configure -a sudo apt-get install -f
Изпълнете горните команди за поправяне на прекъснати инсталации.
Лог файлове
Скриптът създава лог файлове в следните локации:
~/temp-install/install.log
– Лог от инсталациите~/temp-install/error.log
– Лог с грешки
Съвет: При проблеми, винаги проверявайте лог файловете за повече информация.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut