Обновить install.py
Обновил фунцию обновления системы. Перевел bash вызовы на использование конструкции os.system().
This commit is contained in:
parent
72845a2864
commit
ef7ca4d7f9
594
install.py
594
install.py
|
@ -1,300 +1,296 @@
|
||||||
import subprocess, os
|
import subprocess, os
|
||||||
import sys, time
|
import sys, time
|
||||||
#from colorama import Fore, Style
|
#from colorama import Fore, Style
|
||||||
|
|
||||||
#вывод на экран меню работы программы
|
#вывод на экран меню работы программы
|
||||||
def display_menu():
|
def display_menu():
|
||||||
ml_text = """
|
ml_text = """
|
||||||
\n
|
\n
|
||||||
************** МЕНЮ: **************************
|
************** МЕНЮ: **************************
|
||||||
0. Инициализация свежей системы и ее обновление.
|
0. Инициализация свежей системы и ее обновление.
|
||||||
1. Установить SNAP и SNAP-STORE (стараемся не использовать)
|
1. Установить SNAP и SNAP-STORE (стараемся не использовать)
|
||||||
2. Установить FLATPAK и его родное GUI.
|
2. Установить FLATPAK и его родное GUI.
|
||||||
3. Установка базового набора пакетов (сеть).
|
3. Установка базового набора пакетов (сеть).
|
||||||
4. Установка Крипто-ПРО и сопуствующих дополнений.
|
4. Установка Крипто-ПРО и сопуствующих дополнений.
|
||||||
5. Прописка в профиль пользователя сетевых папок (смертным)
|
5. Прописка в профиль пользователя сетевых папок (смертным)
|
||||||
6. Прописка в профиль пользователя сетевых папок (избранным)
|
6. Прописка в профиль пользователя сетевых папок (избранным)
|
||||||
C. Выполнение произвольной команды bash/sh с отображением вывода.
|
C. Выполнение произвольной команды bash/sh с отображением вывода.
|
||||||
Q. Завершение работы программы
|
Q. Завершение работы программы
|
||||||
|
|
||||||
"""
|
"""
|
||||||
print(ml_text)
|
print(ml_text)
|
||||||
|
|
||||||
#запуск любой консольной bash команды из скрипта Python
|
#запуск любой консольной bash команды из скрипта Python
|
||||||
def execute_command(command):
|
def execute_command(command):
|
||||||
result = subprocess.run(command, shell=True, check=True, stdout=subprocess.PIPE, universal_newlines=True)
|
result = subprocess.run(command, shell=True, check=True, stdout=subprocess.PIPE, universal_newlines=True)
|
||||||
return result.stdout
|
return result.stdout
|
||||||
|
|
||||||
#имитация живого ввода текста при выводе его на печать
|
#имитация живого ввода текста при выводе его на печать
|
||||||
def live_print(text):
|
def live_print(text):
|
||||||
for text_symbol in text:
|
for text_symbol in text:
|
||||||
#Fore.GREEN
|
#Fore.GREEN
|
||||||
sys.stdout.write(text_symbol)
|
sys.stdout.write(text_symbol)
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
time.sleep(0.03) # Задержка между символами
|
time.sleep(0.03) # Задержка между символами
|
||||||
|
|
||||||
print() # Переход на новую строку после завершения печати
|
print() # Переход на новую строку после завершения печати
|
||||||
#Style.RESET_ALL
|
#Style.RESET_ALL
|
||||||
|
|
||||||
#подключение в папку рута, папки ArmInstall
|
#подключение в папку рута, папки ArmInstall
|
||||||
def mount_ArmInstall():
|
def mount_ArmInstall():
|
||||||
if os.path.exists('~/ArmInstall'):
|
if os.path.exists('~/ArmInstall'):
|
||||||
live_print("Тэкс... папка ArmInstall у нас есть... \n")
|
live_print("Тэкс... папка ArmInstall у нас есть... \n")
|
||||||
#примонтировать в нее сетевую шару smb://nas/distributiv/ArmAstraInstall/base
|
#примонтировать в нее сетевую шару smb://nas/distributiv/ArmAstraInstall/base
|
||||||
live_print("Примонтируем в нее сетевую заначку... \n")
|
live_print("Примонтируем в нее сетевую заначку... \n")
|
||||||
execute_command('mount -t cifs //192.168.2.4/distributiv/ArmAstraInstall ~/ArmInstall -o username=admincsm,password=yacsmQAZ,domain=YACSM,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0 --verbose')
|
execute_command('mount -t cifs //192.168.2.4/distributiv/ArmAstraInstall ~/ArmInstall -o username=admincsm,password=yacsmQAZ,domain=YACSM,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0 --verbose')
|
||||||
live_print("Готово. \n")
|
live_print("Готово. \n")
|
||||||
else:
|
else:
|
||||||
live_print("О! Да у нас тут самое начало пути... \n")
|
live_print("О! Да у нас тут самое начало пути... \n")
|
||||||
live_print("Создадим папку ArmInstall в папке Бати. \n")
|
live_print("Создадим папку ArmInstall в папке Бати. \n")
|
||||||
#создаем в папке рута папку ArmInstall
|
#создаем в папке рута папку ArmInstall
|
||||||
os.mkdir('~/ArmInstall')
|
os.mkdir('~/ArmInstall')
|
||||||
live_print("Готово. \n")
|
live_print("Готово. \n")
|
||||||
live_print("Теперь примонтируем в нее сетевую заначку с пакетами. \n")
|
live_print("Теперь примонтируем в нее сетевую заначку с пакетами. \n")
|
||||||
# монтируем в нее сетевую шару с пакетами
|
# монтируем в нее сетевую шару с пакетами
|
||||||
execute_command('mount -t cifs //192.168.2.4/distributiv/ArmAstraInstall ~/ArmInstall -o username=admincsm,password=yacsmQAZ,domain=YACSM,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0 --verbose')
|
execute_command('mount -t cifs //192.168.2.4/distributiv/ArmAstraInstall ~/ArmInstall -o username=admincsm,password=yacsmQAZ,domain=YACSM,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0 --verbose')
|
||||||
live_print("Готов и этот шаг. \n")
|
live_print("Готов и этот шаг. \n")
|
||||||
|
|
||||||
#отключение папки ArmInstall
|
#отключение папки ArmInstall
|
||||||
def umount_ArmInstall():
|
def umount_ArmInstall():
|
||||||
if os.path.exists('~/ArmInstall'):
|
if os.path.exists('~/ArmInstall'):
|
||||||
execute_command('umount ~/ArmInstall')
|
execute_command('umount ~/ArmInstall')
|
||||||
execute_command('rm -r ~/ArmInstall')
|
execute_command('rm -r ~/ArmInstall')
|
||||||
|
|
||||||
#обновление системы до последнего актуального состояния
|
#обновление системы до последнего актуального состояния
|
||||||
def update_system():
|
def update_system():
|
||||||
#очищаем файл репозиториев
|
#очищаем файл репозиториев
|
||||||
execute_command('> /etc/apt/sources.list')
|
os.system('> /etc/apt/sources.list')
|
||||||
#вносим в файл репозиториев только то, что нам нужно
|
#вносим в файл репозиториев только то, что нам нужно
|
||||||
execute_command('echo -e "\n# Заблокировать cd и разблокировать остальные, а так же дописать:> /etc/apt/sources.list')
|
os.system('echo -e "\n# Заблокировать cd и разблокировать остальные, а так же дописать:" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n# Astra Linux repository description https://wiki.astralinux.ru/x/0oLiC> /etc/apt/sources.list')
|
os.system('echo -e "\n# Astra Linux repository description https://wiki.astralinux.ru/x/0oLiC" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n "> /etc/apt/sources.list')
|
os.system('echo -e "\n "> /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n#deb cdrom:[OS Astra Linux 1.7.1 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free"> /etc/apt/sources.list')
|
os.system('echo -e "\n#deb cdrom:[OS Astra Linux 1.7.1 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n# Основной репозиторий> /etc/apt/sources.list')
|
os.system('echo -e "\n# Основной репозиторий" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free"> /etc/apt/sources.list')
|
os.system('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free " > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n "> /etc/apt/sources.list')
|
os.system('echo -e "\n "> /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n# Оперативные обновления основного репозитория"> /etc/apt/sources.list')
|
os.system('echo -e "\n# Оперативные обновления основного репозитория" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free"> /etc/apt/sources.list')
|
os.system('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n "> /etc/apt/sources.list')
|
os.system('echo -e "\n " > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n# Базовый репозиторий"> /etc/apt/sources.list')
|
os.system('echo -e "\n# Базовый репозиторий" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free"> /etc/apt/sources.list')
|
os.system('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n "> /etc/apt/sources.list')
|
os.system('echo -e "\n " > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n# Расширенный репозиторий"> /etc/apt/sources.list')
|
os.system('echo -e "\n# Расширенный репозиторий" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free"> /etc/apt/sources.list')
|
os.system('echo -e "\ndeb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n "> /etc/apt/sources.list')
|
os.system('echo -e "\n " > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\n# Расширенный репозиторий (компонент astra-ce) - используется при необходимости в установке дополнительного ПО, которое не прошло сертификацию!"> /etc/apt/sources.list')
|
os.system('echo -e "\n# Расширенный репозиторий (компонент astra-ce) - используется при необходимости в установке дополнительного ПО, которое не прошло сертификацию!" > /etc/apt/sources.list')
|
||||||
execute_command('echo -e "\ndeb http://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ce"> /etc/apt/sources.list')
|
os.system('echo -e "\ndeb http://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ce" > /etc/apt/sources.list')
|
||||||
#execute_command('> /etc/apt/sources.list')
|
#execute_command('> /etc/apt/sources.list')
|
||||||
|
|
||||||
execute_command('apt install -y apt-transport-https ca-certificates')
|
os.system('apt-get install -y apt-transport-https ca-certificates && apt-get update && apt-get dist-upgrade && apt-get full-upgrade && astra-update -r -A')
|
||||||
execute_command('apt-get update')
|
|
||||||
execute_command('apt-get dist-upgrade')
|
#обновим и установим пакет libc6*
|
||||||
execute_command('apt-get full-upgrade')
|
os.system('apt-get -t install -y libc6')
|
||||||
execute_command('astra-update -r -A')
|
|
||||||
|
#Установим свежие драйвера под интеловские чипы
|
||||||
#обновим и установим пакет libc6*
|
os.system('apt-get install -y intel-microcode')
|
||||||
execute_command('apt-get -t install -y libc6')
|
|
||||||
|
live_print("Система обновлена. Сейчас делаем перезагрузку для применения результатов. \n")
|
||||||
#Установим свежие драйвера под интеловские чипы
|
live_print("После перезагрузки запустите скрипт заново и продолжите установку. \n")
|
||||||
execute_command('apt-get install -y intel-microcode')
|
|
||||||
|
os.system('reboot')
|
||||||
live_print("Система обновлена. Сейчас делаем перезагрузку для применения результатов. \n")
|
|
||||||
live_print("После перезагрузки запустите скрипт заново и продолжите установку. \n")
|
#Установка SNAP в Астра линукс
|
||||||
|
def install_snap():
|
||||||
execute_command('reboot')
|
#добавим в список дистрибутивов новый дебиановкий репозиторий
|
||||||
|
execute_command('echo -e "\ndeb [trusted=yes] https://mirror.yandex.ru/debian/ buster main contrib non-free" >> /etc/apt/sources.list')
|
||||||
#Установка SNAP в Астра линукс
|
execute_command('gpg --keyserver keyserver.ubuntu.com --recv-key 648ACFD622F3D138')
|
||||||
def install_snap():
|
execute_command('gpg -a --export 648ACFD622F3D138 | sudo apt-key add - ')
|
||||||
#добавим в список дистрибутивов новый дебиановкий репозиторий
|
execute_command('gpg --keyserver keyserver.ubuntu.com --recv-key 0E98404D386FA1D9')
|
||||||
execute_command('echo -e "\ndeb [trusted=yes] https://mirror.yandex.ru/debian/ buster main contrib non-free" >> /etc/apt/sources.list')
|
execute_command('gpg -a --export 0E98404D386FA1D9 | sudo apt-key add - ')
|
||||||
execute_command('gpg --keyserver keyserver.ubuntu.com --recv-key 648ACFD622F3D138')
|
execute_command('gpg --keyserver keyserver.ubuntu.com --recv-key DCC9EFBF77E11517')
|
||||||
execute_command('gpg -a --export 648ACFD622F3D138 | sudo apt-key add - ')
|
execute_command('gpg -a --export DCC9EFBF77E11517 | sudo apt-key add - ')
|
||||||
execute_command('gpg --keyserver keyserver.ubuntu.com --recv-key 0E98404D386FA1D9')
|
|
||||||
execute_command('gpg -a --export 0E98404D386FA1D9 | sudo apt-key add - ')
|
#обновим списки пакетов
|
||||||
execute_command('gpg --keyserver keyserver.ubuntu.com --recv-key DCC9EFBF77E11517')
|
execute_command('apt update')
|
||||||
execute_command('gpg -a --export DCC9EFBF77E11517 | sudo apt-key add - ')
|
|
||||||
|
#теперь установим snap
|
||||||
#обновим списки пакетов
|
execute_command('apt install snapd')
|
||||||
execute_command('apt update')
|
execute_command('sudo ln -s /var/lib/snapd/snap /snap')
|
||||||
|
execute_command('systemctl enable --now snapd')
|
||||||
#теперь установим snap
|
|
||||||
execute_command('apt install snapd')
|
#обновим core у обвязки snap
|
||||||
execute_command('sudo ln -s /var/lib/snapd/snap /snap')
|
execute_command('snap refresh core')
|
||||||
execute_command('systemctl enable --now snapd')
|
execute_command('snap install core')
|
||||||
|
execute_command('snap install core snapd')
|
||||||
#обновим core у обвязки snap
|
|
||||||
execute_command('snap refresh core')
|
#следом установим snap-store
|
||||||
execute_command('snap install core')
|
execute_command('snap install snap-store')
|
||||||
execute_command('snap install core snapd')
|
|
||||||
|
#установка FLATPAK в Астра линукс
|
||||||
#следом установим snap-store
|
def install_flatpak():
|
||||||
execute_command('snap install snap-store')
|
#установка flatpak в систему
|
||||||
|
execute_command('apt install -y flatpack')
|
||||||
#установка FLATPAK в Астра линукс
|
#добавляем в систему репозиторий пакетов flatpak
|
||||||
def install_flatpak():
|
execute_command('flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo')
|
||||||
#установка flatpak в систему
|
execute_command('apt install -y plasma-discover-backend-flatpak')
|
||||||
execute_command('apt install -y flatpack')
|
|
||||||
#добавляем в систему репозиторий пакетов flatpak
|
#установка базового набора ПО для работы пользователей
|
||||||
execute_command('flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo')
|
def install_base_pack_soft():
|
||||||
execute_command('apt install -y plasma-discover-backend-flatpak')
|
print(" \n \n")
|
||||||
|
ml_text = """
|
||||||
#установка базового набора ПО для работы пользователей
|
Сейчас начнется установка базового набора пакетов.
|
||||||
def install_base_pack_soft():
|
Во время установки пакетов, настоятельно рекомендую отложить какие-либо действия на данном ПК.
|
||||||
print(" \n \n")
|
Так же рекомендую НЕ производить никаких манипуляций в консоли Linux.
|
||||||
ml_text = """
|
Как писали на экранах классики длинных установок: Откиньтесь на спинку кресла и наслаждайтесь любимым напитком,
|
||||||
Сейчас начнется установка базового набора пакетов.
|
пока мы делаем вашу жизнь лугче и лучше.
|
||||||
Во время установки пакетов, настоятельно рекомендую отложить какие-либо действия на данном ПК.
|
ПРОСЬБА: Дождаться завершения установки и вывода начального меню программы. \n
|
||||||
Так же рекомендую НЕ производить никаких манипуляций в консоли Linux.
|
"""
|
||||||
Как писали на экранах классики длинных установок: Откиньтесь на спинку кресла и наслаждайтесь любимым напитком,
|
live_print(ml_text)
|
||||||
пока мы делаем вашу жизнь лугче и лучше.
|
|
||||||
ПРОСЬБА: Дождаться завершения установки и вывода начального меню программы. \n
|
#примонтируем папку с пакетами установки
|
||||||
"""
|
mount_ArmInstall()
|
||||||
live_print(ml_text)
|
|
||||||
|
if os.path.exists('~/ArmInstall/base'):
|
||||||
#примонтируем папку с пакетами установки
|
# проверить установлены ли уже пакеты из списке и если нет, то ...
|
||||||
mount_ArmInstall()
|
# установить набор пакетов который находится в этой папке
|
||||||
|
live_print("Ну что же, начинаем проверку системы и установку пакетов.... \n")
|
||||||
if os.path.exists('~/ArmInstall/base'):
|
|
||||||
# проверить установлены ли уже пакеты из списке и если нет, то ...
|
#MyChat
|
||||||
# установить набор пакетов который находится в этой папке
|
if execute_command('dpkg -l | grep mychatclient').strip() != None:
|
||||||
live_print("Ну что же, начинаем проверку системы и установку пакетов.... \n")
|
# вернулось пустое значение, значит ставим пакет
|
||||||
|
live_print("Устанавливаем MyChat... \n")
|
||||||
#MyChat
|
execute_command('dpkg -i ~/ArmInstall/base/mychatclient-8.14.deb')
|
||||||
if execute_command('dpkg -l | grep mychatclient').strip() != None:
|
live_print("MyChat установлен. \n")
|
||||||
# вернулось пустое значение, значит ставим пакет
|
else:
|
||||||
live_print("Устанавливаем MyChat... \n")
|
live_print("Пакет MyChat уже установлен, пропускаем... \n")
|
||||||
execute_command('dpkg -i ~/ArmInstall/base/mychatclient-8.14.deb')
|
|
||||||
live_print("MyChat установлен. \n")
|
#OnlyOffice-desktopeditors
|
||||||
else:
|
if execute_command('dpkg -l | grep OnlyOffice-desktopeditors').strip() != None:
|
||||||
live_print("Пакет MyChat уже установлен, пропускаем... \n")
|
# вернулось пустое значение, значит ставим пакет
|
||||||
|
live_print("Устанавливаем OnlyOffice... \n")
|
||||||
#OnlyOffice-desktopeditors
|
execute_command('dpkg -i ~/ArmInstall/base/onlyoffice-desktopeditors-amd64.deb')
|
||||||
if execute_command('dpkg -l | grep OnlyOffice-desktopeditors').strip() != None:
|
live_print("OnlyOffice установлен. \n")
|
||||||
# вернулось пустое значение, значит ставим пакет
|
else:
|
||||||
live_print("Устанавливаем OnlyOffice... \n")
|
live_print("Пакет OnlyOffice уже установлен, пропускаем... \n")
|
||||||
execute_command('dpkg -i ~/ArmInstall/base/onlyoffice-desktopeditors-amd64.deb')
|
|
||||||
live_print("OnlyOffice установлен. \n")
|
#RealVNCServer-5.0.4-amd64.deb
|
||||||
else:
|
if execute_command('dpkg -l | grep realvnc-vnc-server').strip() != None:
|
||||||
live_print("Пакет OnlyOffice уже установлен, пропускаем... \n")
|
# вернулось пустое значение, значит ставим пакет
|
||||||
|
live_print("Устанавливаем RealVNC Server... \n")
|
||||||
#RealVNCServer-5.0.4-amd64.deb
|
execute_command('dpkg -i ~/ArmInstall/base/RealVNCServer-5.0.4-amd64.deb')
|
||||||
if execute_command('dpkg -l | grep realvnc-vnc-server').strip() != None:
|
execute_command('vnclicense -add B6BNH-A4ASK-VCEQC-6Z49E-PCT6A')
|
||||||
# вернулось пустое значение, значит ставим пакет
|
live_print("RealVNC Server установлен. \n")
|
||||||
live_print("Устанавливаем RealVNC Server... \n")
|
|
||||||
execute_command('dpkg -i ~/ArmInstall/base/RealVNCServer-5.0.4-amd64.deb')
|
execute_command('dpkg -i ~/ArmInstall/base/RealVNCViewer-5.0.4-amd64.deb')
|
||||||
execute_command('vnclicense -add B6BNH-A4ASK-VCEQC-6Z49E-PCT6A')
|
else:
|
||||||
live_print("RealVNC Server установлен. \n")
|
live_print("Пакет RealVNC Server уже установлен, пропускаем... \n")
|
||||||
|
|
||||||
execute_command('dpkg -i ~/ArmInstall/base/RealVNCViewer-5.0.4-amd64.deb')
|
#yandex-browser-corp
|
||||||
else:
|
if execute_command('dpkg -l | grep yandex-browser-stable').strip() != None:
|
||||||
live_print("Пакет RealVNC Server уже установлен, пропускаем... \n")
|
# вернулось пустое значение, значит ставим пакет
|
||||||
|
live_print("Устанавливаем Яндекс.Браузер... \n")
|
||||||
#yandex-browser-corp
|
execute_command('dpkg -i ~/ArmInstall/base/yandex-browser-corp.deb')
|
||||||
if execute_command('dpkg -l | grep yandex-browser-stable').strip() != None:
|
live_print("Яндекс.Браузер установлен. \n")
|
||||||
# вернулось пустое значение, значит ставим пакет
|
else:
|
||||||
live_print("Устанавливаем Яндекс.Браузер... \n")
|
live_print("Пакет Яндекс.Браузер уже установлен, пропускаем... \n")
|
||||||
execute_command('dpkg -i ~/ArmInstall/base/yandex-browser-corp.deb')
|
|
||||||
live_print("Яндекс.Браузер установлен. \n")
|
#1C-Thin-client
|
||||||
else:
|
if execute_command('dpkg -l | grep 1c-enterprise-8.3.22.2106-thin-client').strip() != None:
|
||||||
live_print("Пакет Яндекс.Браузер уже установлен, пропускаем... \n")
|
# вернулось пустое значение, значит ставим пакет
|
||||||
|
live_print("Устанавливаем тонкого клиента 1С... \n")
|
||||||
#1C-Thin-client
|
execute_command('dpkg -i ~/ArmInstall/base/1c-thinclient-8.3.22.2106-amd64.deb')
|
||||||
if execute_command('dpkg -l | grep 1c-enterprise-8.3.22.2106-thin-client').strip() != None:
|
live_print("Тонкий клиент 1С установлен. \n")
|
||||||
# вернулось пустое значение, значит ставим пакет
|
else:
|
||||||
live_print("Устанавливаем тонкого клиента 1С... \n")
|
live_print("Пакет тонкого клиента 1С уже установлен, пропускаем.... \n")
|
||||||
execute_command('dpkg -i ~/ArmInstall/base/1c-thinclient-8.3.22.2106-amd64.deb')
|
|
||||||
live_print("Тонкий клиент 1С установлен. \n")
|
# теперь добавим чат и vncserver в автозагрузку
|
||||||
else:
|
if os.path.exists('/home/admincsm/.config/autostart/mychatclient.desktop') == False :
|
||||||
live_print("Пакет тонкого клиента 1С уже установлен, пропускаем.... \n")
|
live_print("Копируем ярлыки автозапуска чата и vnc в автозагрузку.... \n")
|
||||||
|
execute_command('cp -rT /root/ArmInstall/autostart /home/admincsm/.config/autostart/')
|
||||||
# теперь добавим чат и vncserver в автозагрузку
|
live_print("Автозагрузка прописана. \n")
|
||||||
if os.path.exists('/home/admincsm/.config/autostart/mychatclient.desktop') == False :
|
else:
|
||||||
live_print("Копируем ярлыки автозапуска чата и vnc в автозагрузку.... \n")
|
live_print("В автозагрузку добавлять ничего не надо. Все уже на месте. \n")
|
||||||
execute_command('cp -rT /root/ArmInstall/autostart /home/admincsm/.config/autostart/')
|
|
||||||
live_print("Автозагрузка прописана. \n")
|
umount_ArmInstall()
|
||||||
else:
|
|
||||||
live_print("В автозагрузку добавлять ничего не надо. Все уже на месте. \n")
|
#установка Крипто-ПРО 5 версии.
|
||||||
|
def install_cryptopro():
|
||||||
umount_ArmInstall()
|
live_print("Приступаем к установке Крипто-ПРО 5.0 \n")
|
||||||
|
mount_ArmInstall()
|
||||||
#установка Крипто-ПРО 5 версии.
|
execute_command('cd ~/ArmInstall/CryptoPro/cryptopro5-unpacked-amd64')
|
||||||
def install_cryptopro():
|
execute_command('./install_gui.sh')
|
||||||
live_print("Приступаем к установке Крипто-ПРО 5.0 \n")
|
|
||||||
mount_ArmInstall()
|
live_print("Крипто-ПРО 5.0 установили. \n")
|
||||||
execute_command('cd ~/ArmInstall/CryptoPro/cryptopro5-unpacked-amd64')
|
live_print("Теперь приступим к установке Cades-Plugin для работы в браузере. \n")
|
||||||
execute_command('./install_gui.sh')
|
execute_command('cd ~/ArmInstall/CryptoPro/cades-plugin-amd64')
|
||||||
|
execute_command('dpkg -i cprocsp-pki-cades-64_2.0.14892-1_amd64.deb')
|
||||||
live_print("Крипто-ПРО 5.0 установили. \n")
|
execute_command('dpkg -i cprocsp-pki-plugin-64_2.0.14892-1_amd64.deb')
|
||||||
live_print("Теперь приступим к установке Cades-Plugin для работы в браузере. \n")
|
live_print("Cades-Plugin для работы в браузере установлен. \n")
|
||||||
execute_command('cd ~/ArmInstall/CryptoPro/cades-plugin-amd64')
|
|
||||||
execute_command('dpkg -i cprocsp-pki-cades-64_2.0.14892-1_amd64.deb')
|
live_print("Теперь не забудь прописать лицензию в КриптоПРО 5 и перезагрузить ПК. \n")
|
||||||
execute_command('dpkg -i cprocsp-pki-plugin-64_2.0.14892-1_amd64.deb')
|
umount_ArmInstall()
|
||||||
live_print("Cades-Plugin для работы в браузере установлен. \n")
|
|
||||||
|
#
|
||||||
live_print("Теперь не забудь прописать лицензию в КриптоПРО 5 и перезагрузить ПК. \n")
|
def main():
|
||||||
umount_ArmInstall()
|
while True:
|
||||||
|
live_print("Привет! Добро пожаловать в программу упрощения жизни начинающего Linux админа. \n \n")
|
||||||
#
|
|
||||||
def main():
|
#если запущено не из под рута - шлем в лес!
|
||||||
while True:
|
if int(execute_command('id -u').strip()) != 0:
|
||||||
live_print("Привет! Добро пожаловать в программу упрощения жизни начинающего Linux админа. \n \n")
|
#print(execute_command('id -u'))
|
||||||
|
|
||||||
#если запущено не из под рута - шлем в лес!
|
ml_text = """
|
||||||
if int(execute_command('id -u').strip()) != 0:
|
Дружочек, для работы с этой программой тебе требуются права ROOT, которых сейчас у тебя нет.
|
||||||
#print(execute_command('id -u'))
|
Программа будет завершена, а тебе настоятельно советую или подтянуть знания,
|
||||||
|
или убрать свои кривые рученки и обратиться к тем, кому запускать программу можно. \n
|
||||||
ml_text = """
|
"""
|
||||||
Дружочек, для работы с этой программой тебе требуются права ROOT, которых сейчас у тебя нет.
|
live_print(ml_text)
|
||||||
Программа будет завершена, а тебе настоятельно советую или подтянуть знания,
|
time.sleep(0.15)
|
||||||
или убрать свои кривые рученки и обратиться к тем, кому запускать программу можно. \n
|
live_print("А теперь все исчезнет, как по волшебству.... (ШУТКА!)")
|
||||||
"""
|
live_print("Пока. \n \n")
|
||||||
live_print(ml_text)
|
break
|
||||||
time.sleep(0.15)
|
|
||||||
live_print("А теперь все исчезнет, как по волшебству.... (ШУТКА!)")
|
#показываем меню выбора
|
||||||
live_print("Пока. \n \n")
|
display_menu()
|
||||||
break
|
|
||||||
|
choice = input("Выберите нужное действие (от 0.. до 4.. или Q и т.д.): \n")
|
||||||
#показываем меню выбора
|
|
||||||
display_menu()
|
if choice == "0":
|
||||||
|
update_system()
|
||||||
choice = input("Выберите нужное действие (от 0.. до 4.. или Q и т.д.): \n")
|
|
||||||
|
elif choice == "1":
|
||||||
if choice == "0":
|
#установим snap
|
||||||
update_system()
|
install_snap()
|
||||||
|
|
||||||
elif choice == "1":
|
elif choice == "2":
|
||||||
#установим snap
|
#установим flatpak
|
||||||
install_snap()
|
install_flatpak()
|
||||||
|
|
||||||
elif choice == "2":
|
elif choice == "3":
|
||||||
#установим flatpak
|
#установка базового пакета софта
|
||||||
install_flatpak()
|
install_base_pack_soft()
|
||||||
|
|
||||||
elif choice == "3":
|
elif choice == "4":
|
||||||
#установка базового пакета софта
|
#устанавливаем Крипто-ПРО
|
||||||
install_base_pack_soft()
|
install_cryptopro()
|
||||||
|
|
||||||
elif choice == "4":
|
elif choice == "5":
|
||||||
#устанавливаем Крипто-ПРО
|
print("Тут будет большая функция для прописки в fstab папок монтирования для простых пользователей.")
|
||||||
install_cryptopro()
|
|
||||||
|
elif choice == "6":
|
||||||
elif choice == "5":
|
print("Тут будет большая функция для прописки в fstab папок монтирования для избранных пользователей.")
|
||||||
print("Тут будет большая функция для прописки в fstab папок монтирования для простых пользователей.")
|
|
||||||
|
elif choice == "C":
|
||||||
elif choice == "6":
|
userCommand = input("Введите консольную команду bash/sh с нужными параметрами: \n")
|
||||||
print("Тут будет большая функция для прописки в fstab папок монтирования для избранных пользователей.")
|
result_execut_command = execute_command(userCommand)
|
||||||
|
print(result_execut_command)
|
||||||
elif choice == "C":
|
|
||||||
userCommand = input("Введите консольную команду bash/sh с нужными параметрами: \n")
|
elif choice == "Q":
|
||||||
result_execut_command = execute_command(userCommand)
|
print("До свидания!")
|
||||||
print(result_execut_command)
|
break
|
||||||
|
|
||||||
elif choice == "Q":
|
else:
|
||||||
print("До свидания!")
|
print("Пожалуйста, выберите правильный пункт меню.")
|
||||||
break
|
|
||||||
|
if __name__ == "__main__":
|
||||||
else:
|
|
||||||
print("Пожалуйста, выберите правильный пункт меню.")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
main()
|
Loading…
Reference in New Issue