Files
MainSite/shell/1a-CheckSystem.sh
2024-02-29 01:04:07 +04:00

160 lines
7.1 KiB
Bash
Executable File
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
cd ..
#======================================================================
#Pip 3
#======================================================================
UpdatePip3()
{
echo ""
echo "============================================================="
echo "Pip 3"
echo "============================================================="
echo "Обновляем Pip 3 на всякий случай"
sudo pip3 install --upgrade pip
}
#======================================================================
#Проверка Python3
#======================================================================
CheckPython3()
{
echo ""
echo "============================================================="
echo "Python 3.10.13"
echo "============================================================="
echo "Проверяем наличие Python3 в системе "
T=$(python3 -V | grep 3.10.13)
if [ "$T" == "" ];
then
echo "Устанавливаем зависимости для Python 3.10 "
sudo apt-get build-dep python3.10
echo "Скачиваем Python 3.10.13 "
cd /tmp/
wget -c https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
echo "Распаковываем архив... "
tar -xvzf Python-3.10.13.tgz
cd Python-3.10.13
echo "Настраиваем пакет... "
./configure --enable-optimizations
echo "Компилируем пакет... "
make
make test
echo "Устанавливаем Python 3.10.13... "
sudo make install
else
echo "Уже установлен Python 3.10.13"
return 1
fi
echo "Перепроверяем " $1
T=$(python3 -V | grep 3.10.13)
if $T= ""
then
echo "Не удалось установить " $1
return 0 #Неудача
fi
echo "Успешно установлен " $1
echo "Рекомендуется перезагрузить Linux командой: sudo reboot 0"
return 1 #Успех
}
#======================================================================
#Проверка пакетов Linux
#======================================================================
Check()
{
echo ""
echo "============================================================="
echo "Linux:" $1
echo "============================================================="
echo "Проверяем наличие пакета Python 3 в системе "
T=$(dpkg --get-selections | grep $1 | grep install)
if [ "$T" == "" ];
then
echo "Устанавливаем " $1
sudo apt-get -y install $1
else
echo "Уже установлен " $1
return 1
fi
echo "Перепроверяем " $1
T=$(dpkg --get-selections | grep $1 | grep install)
if [ "$T" == "" ];
then
echo "Не удалось установить " $1
return 0 #Неудача
fi
echo "Успешно установлен " $1
return 1 #Успех
}
#======================================================================
#Проверка пакетов Python 3
#======================================================================
CheckPip()
{
echo ""
echo "============================================================="
echo "Pip 3: " $1
echo "============================================================="
echo "Проверяем наличие пакета в Python 3 "
T=$(sudo pip3 freeze | grep $1)
if [ "$T" == "" ];
then
echo "Устанавливаем " $1
sudo pip3 install $1
else
echo "Уже установлен " $1
return 1
fi
echo "Перепроверяем " $1
T=$(sudo pip3 freeze | grep $1)
if [ "$T" == "" ];
then
echo "Не удалось установить " $1
return 0 #Неудача
fi
echo "Успешно установлен " $1
return 1 #Успех
}
echo "Обновление существующих пакетов Linux..."
sudo apt-get update
sudo apt-get -y upgrade
Check "git" #Система управления репозиториями
Check "rsync" #Копировальщик
Check "build-essential" #информационный список пакетов необходимых для сборки
Check "make" #утилита управления компиляцией
Check "libssl-dev" #для работы с SSL
Check "libcurl4-gnutls-dev" #development files and documentation for libcurl (GnuTLS flavour). libcurl is an easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP.
Check "libgnutls28-dev" #GNU TLS library - development files GnuTLS is a portable library which implements the Transport Layer Security (TLS 1.0, 1.1, 1.2, 1.3) and Datagram Transport Layer Security (DTLS 1.0, 1.2) protocols.
Check "zlib1g-dev" #для сжатия
Check "libbz2-dev" #библиотека сжатия по алгоритму Барроуза—Уилера (версия для разработки) Статические библиотеки и заголовочные файлы, требуемые для сборки приложений, использующих библиотеку bzip2.
Check "libreadline-dev" #GNU readline and history libraries, development files
Check "libsqlite3-dev" #SQLite 3 development files
Check "wget" #Для возможности скачивания с Инета, например Python3
Check "curl" #передача данных с синтаксисом URL, инструмент командной строки. curl — инструмент командной строки для передачи данных с синтаксисом URL, поддерживающий DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET и TFTP.
#Check "llvm" #Low-Level Virtual Machine (LLVM). The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time code generators, and many other compiler-related programs.
#Check "libncurses5-dev" # transitional package for libncurses-dev. This is a transitional package that can safely be removed.
#Check "libncursesw5-dev" #transitional package for libncurses-dev. This is a transitional package that can safely be removed.
#Check "xz-utils" #утилита для работы с архивами в формате XZ
Check "tk-dev" #Toolkit for Tcl and X11 (default version) - development files Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language.
Check "postfix" #высокопроизводительный агент пересылки почты
Check "ssh" #для возможности работы по удаленке
CheckPython3 #Проверка и установка Python3
UpdatePip3 # Обновление Pip3