This commit is contained in:
Gogs
2020-05-10 18:29:14 +04:00
parent 7f4e11b073
commit 6a2cd57e6e
17 changed files with 297 additions and 60 deletions

171
shell/0-CheckSystem.sh Executable file
View File

@@ -0,0 +1,171 @@
#!/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.7.7"
echo "============================================================="
echo "Проверяем наличие Python3 в системе "
T=$(python3 -V | grep 3.7.7)
if [ "$T" == "" ];
then
echo "Устанавливаем зависимости для Python 3.7 "
sudo apt-get build-dep python3.7
echo "Скачиваем Python 3.7.7 "
cd /tmp/
wget -c https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
echo "Распаковываем архив... "
tar -xvzf Python-3.7.7.tgz
cd Python-3.7.7
echo "Настраиваем пакет... "
./configure --enable-optimizations
echo "Компилируем пакет... "
make
make test
echo "Устанавливаем Python 3.7.7... "
sudo make install
else
echo "Уже установлен Python 3.7.7"
return 1
fi
echo "Перепроверяем " $1
T=$(python3 -V | grep 3.7.7)
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
CheckPip "Flask"
CheckPip "Flask-Compress"
CheckPip "grab"
CheckPip "gunicorn"
CheckPip "pymssql"
CheckPip "XlsxWriter"
CheckPip "wget"
CheckPip "crypto"
CheckPip "pycrypto"
CheckPip "config"
CheckPip "dnspython"
CheckPip "python-whois"
CheckPip "websockets"