#!/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