Скрипт за инсталиране и деинсталиране на програми в Ubuntu и Linux Mint

В света на Linux, управлението на софтуера може да бъде както лесно, така и предизвикателно. Операционните системи на Linux са известни със своята гъвкавост и мощност. Това обаче идва с известна сложност за новите потребители. Инсталирането и деинсталирането на програми може да изисква значителни усилия, особено когато трябва да се работи с множество приложения. За да се улесни този процес, автоматизираните скриптове предоставят идеалното решение. Те не само спестяват време, но и минимизират човешките грешки.

В тази статия ще разгледаме предимствата на използването на автоматизирани скриптове за управление на софтуера в Linux, като се фокусираме върху един примерен скрипт.

За какво се използва скриптът

Този скрипт автоматизира процесите на инсталиране и деинсталиране на програми и е от изключителна полза. Например, скриптът предоставя меню, от което потребителят да избере желаните програми за инсталиране. В допълнение, той включва опции за деинсталиране на програми, които вече не са необходими. Такава структура позволява на потребителите да управляват софтуера си по-ефективно и без излишни усилия.

Необходими стъпки за използване на скрипта

Запазете скрипта в текстов файл с име, например install_script.sh

#!/bin/bash

# Цветове
GREEN='\033[0;32m'
RED='\033[0;31m'
BLUE='\033[0;34m'
BOLD='\033[1m'
NORMAL='\033[0m'

# Функция за инсталация на програми
install_program() {
    echo -e "${GREEN}${BOLD}Инсталиране на $1...${NORMAL}"
    $2
    echo -e "${GREEN}${BOLD}Инсталирането на $1 завърши!${NORMAL}"
}

# Функция за деинсталация на програми
remove_program() {
    echo -e "${RED}${BOLD}Деинсталиране на $1...${NORMAL}"
    sudo apt-get remove --purge $2 -y
    sudo apt-get autoremove -y
    echo -e "${RED}${BOLD}Деинсталирането на $1 завърши!${NORMAL}"
}

# Главно меню
while true; do
    echo -e "${BLUE}${BOLD}Изберете действие:${NORMAL}"
    echo -e "${BOLD}1) Инсталиране на програми${NORMAL}"
    echo -e "${BOLD}2) Деинсталиране на програми${NORMAL}"
    echo -e "${BOLD}3) Изход${NORMAL}"
    read -p "Въведете избор (1-3): " main_choice

    case $main_choice in
        1)
            echo -e "${BLUE}${BOLD}Изберете програмите, които искате да инсталирате:${NORMAL}"
            echo "1) Инсталиране на основни инструменти (vim, git, net-tools, и др.)"
            echo "2) Инсталиране на AppImageLauncher"
            echo "3) Инсталиране на Brave браузър"
            echo "4) Инсталиране на Chrome браузър"
            echo "5) Инсталиране на Nextcloud"
            echo "6) Инсталиране на Viber"
            echo "7) Инсталиране на AnyDesk"
            echo "8) Инсталиране на всички гореизброени"
            echo "9) Връщане в главното меню"
            read -p "Въведете избор (1-9): " install_choice

            case $install_choice in
                1)
                    install_program "основни инструменти" "sudo apt-get install vim git net-tools apt-transport-https curl pwgen gnome-characters keepassxc software-properties-common nmap preload tmux ansible whois telegram-desktop wget gpg -y"
                    ;;
                2)
                    install_program "AppImageLauncher" "sudo add-apt-repository ppa:appimagelauncher-team/stable && sudo apt update && sudo apt-get install appimagelauncher -y"
                    ;;
                3)
                    install_program "Brave браузър" "curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/brave-browser-release.gpg >/dev/null && echo 'deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main' | sudo tee /etc/apt/sources.list.d/brave-browser-release.list && sudo apt update && sudo apt install -y brave-browser"
                    ;;
                4)
                    install_program "Chrome браузър" "wget -O ~/temp-install/google-chrome-stable_current_amd64.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo dpkg -i ~/temp-install/google-chrome-stable_current_amd64.deb && sudo apt-get install -f"
                    ;;
                5)
                    install_program "Nextcloud" "wget -O ~/temp-install/Nextcloud-3.9.0-x86_64.AppImage https://github.com/nextcloud-releases/desktop/releases/download/v3.9.0/Nextcloud-3.9.0-x86_64.AppImage && ail-cli integrate ~/temp-install/Nextcloud-3.9.0-x86_64.AppImage && cd ~/Applications/ && chmod 755 Nextcloud* && ./Nextcloud*.AppImage &"
                    ;;
                6)
                    install_program "Viber" "wget -O ~/temp-install/viber.AppImage https://download.cdn.viber.com/desktop/Linux/viber.AppImage && ail-cli integrate ~/temp-install/viber.AppImage && cd ~/Applications/ && chmod 755 viber* && ./viber*.AppImage &"
                    ;;
                7)
                    install_program "AnyDesk" "wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/anydesk.gpg >/dev/null && echo 'deb http://deb.anydesk.com/ all main' | sudo tee /etc/apt/sources.list.d/anydesk-stable.list && sudo apt update && sudo apt install anydesk -y"
                    ;;
                8)
                    echo -e "${GREEN}${BOLD}Инсталиране на всички програми...${NORMAL}"
                    install_program "основни инструменти" "sudo apt-get install vim git net-tools apt-transport-https curl pwgen gnome-characters keepassxc software-properties-common nmap preload tmux ansible whois telegram-desktop wget gpg -y"
                    install_program "AppImageLauncher" "sudo add-apt-repository ppa:appimagelauncher-team/stable && sudo apt update && sudo apt-get install appimagelauncher -y"
                    install_program "Brave браузър" "curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/brave-browser-release.gpg >/dev/null && echo 'deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main' | sudo tee /etc/apt/sources.list.d/brave-browser-release.list && sudo apt update && sudo apt install -y brave-browser"
                    install_program "Chrome браузър" "wget -O ~/temp-install/google-chrome-stable_current_amd64.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo dpkg -i ~/temp-install/google-chrome-stable_current_amd64.deb && sudo apt-get install -f"
                    install_program "Nextcloud" "wget -O ~/temp-install/Nextcloud-3.9.0-x86_64.AppImage https://github.com/nextcloud-releases/desktop/releases/download/v3.9.0/Nextcloud-3.9.0-x86_64.AppImage && ail-cli integrate ~/temp-install/Nextcloud-3.9.0-x86_64.AppImage && cd ~/Applications/ && chmod 755 Nextcloud* && ./Nextcloud*.AppImage &"
                    install_program "Viber" "wget -O ~/temp-install/viber.AppImage https://download.cdn.viber.com/desktop/Linux/viber.AppImage && ail-cli integrate ~/temp-install/viber.AppImage && cd ~/Applications/ && chmod 755 viber* && ./viber*.AppImage &"
                    install_program "AnyDesk" "wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/anydesk.gpg >/dev/null && echo 'deb http://deb.anydesk.com/ all main' | sudo tee /etc/apt/sources.list.d/anydesk-stable.list && sudo apt update && sudo apt install anydesk -y"
                    ;;
                9)
                    continue
                    ;;
                *)
                    echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}"
                    ;;
            esac
            ;;
        2)
            echo -e "${RED}${BOLD}Изберете програмите, които искате да деинсталирате:${NORMAL}"
            echo "1) Деинсталиране на основни инструменти"
            echo "2) Деинсталиране на AppImageLauncher"
            echo "3) Деинсталиране на Brave браузър"
            echo "4) Деинсталиране на Chrome браузър"
            echo "5) Деинсталиране на Nextcloud"
            echo "6) Деинсталиране на Viber"
            echo "7) Деинсталиране на AnyDesk"
            echo "8) Деинсталиране на всички гореизброени"
            echo "9) Връщане в главното меню"
            read -p "Въведете избор (1-9): " remove_choice

            case $remove_choice in
                1)
                    remove_program "основни инструменти" "vim git net-tools apt-transport-https curl pwgen gnome-characters keepassxc software-properties-common nmap preload tmux ansible whois telegram-desktop wget gpg"
                    ;;
                2)
                    remove_program "AppImageLauncher" "appimagelauncher"
                    ;;
                3)
                    remove_program "Brave браузър" "brave-browser"
                    ;;
                4)
                    remove_program "Chrome браузър" "google-chrome-stable"
                    ;;
                5)
                    echo -e "${RED}${BOLD}За Nextcloud, моля премахнете ръчно AppImage файла.${NORMAL}"
                    ;;
                6)
                    echo -e "${RED}${BOLD}За Viber, моля премахнете ръчно AppImage файла.${NORMAL}"
                    ;;
                7)
                    remove_program "AnyDesk" "anydesk"
                    ;;
                8)
                    echo -e "${RED}${BOLD}Деинсталиране на всички програми...${NORMAL}"
                    remove_program "основни инструменти" "vim git net-tools apt-transport-https curl pwgen gnome-characters keepassxc software-properties-common nmap preload tmux ansible whois telegram-desktop wget gpg"
                    remove_program "AppImageLauncher" "appimagelauncher"
                    remove_program "Brave браузър" "brave-browser"
                    remove_program "Chrome браузър" "google-chrome-stable"
                    echo -e "${RED}${BOLD}За Nextcloud и Viber, моля премахнете ръчно AppImage файловете.${NORMAL}"
                    remove_program "AnyDesk" "anydesk"
                    ;;
                9)
                    continue
                    ;;
                *)
                    echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}"
                    ;;
            esac
            ;;
        3)
            echo -e "${BLUE}${BOLD}Излизане...${NORMAL}"
            exit 0
            ;;
        *)
            echo -e "${RED}${BOLD}Невалиден избор.${NORMAL}"
            ;;
    esac
done

Направете файла изпълним чрез командата: chmod +x install_script.sh

Изпълнение на скрипта

Стартирайте скрипта , като използвате командата:

./install_script.sh

Обяснение:

  • chmod +x install_script.sh дава права на файла да бъде изпълним.
  • ./install_script.sh стартира скрипта. Трябва да използвате ./, ако скриптът се намира в текущата директория. Ако скриптът е в друга директория, трябва да посочите пълния път до него.

Заключение

В заключение, автоматизираните скриптове са мощен инструмент за управление на софтуера в Linux. Те предоставят удобство, сигурност и ефективност, които трудно могат да бъдат постигнати чрез ръчни методи. Независимо дали сте нов потребител или опитен администратор, автоматизираните скриптове могат значително да улеснят вашата работа. Те не само спестяват време, но и гарантират, че вашата система ще бъде винаги в оптимално състояние. С правилния скрипт, управлението на софтуера става по-лесно, по-бързо и по-безопасно. Това прави Linux още по-мощен и гъвкав инструмент за ежедневна работа.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: