Создаётся учетка olimp, пароль вписываете при запуске. Обновляется система, устанавливаются все ПО из списка на сайте, ярлыки размещаются на рабочем столе учетки olimp

На правильность и корректность скрипта не претендую, но у меня всё отработало нормально.

 

Запускать от рута. Откройте консоль, введите su — с паролем и далее sh и путь до скрипта, например:

sh /user/olimp-2023.sh

Скачать: olimp-2023.zip

Скачать сразу с сайта и запустить на нужном компе: 

wget https://wiki.dno-it.ru/wp-content/uploads/2023/12/olimp-2023.zip -P /tmp
unzip "/tmp/olimp-2023.zip"
sudo sh "olimp-2023.sh"
rm -f /tmp/olimp-2023.zip
rm -f olimp-2023.sh

 

Код скрипта: 

#!/bin/bash

commands=(
"dnf -y --refresh up"
"dnf -y install gcc-c++ gdb codeblocks"
"dnf -y install python3"
"dnf -y install https://wingware.com/pub/wing-101/9.1.2.0/wing-101-9-9.1.2-0.x86_64.rpm"
"dnf -y install pycharm-community"
"dnf -y install vscode"
"dnf -y install libreoffice"
"dnf -y install pascalabcnet"
"dnf -y install kumir-all"
"dnf -y install java-17-openjdk-devel"
"wget https://download.jetbrains.com/idea/ideaIC-2022.3.tar.gz"
"tar -xzf ideaIC-2022.3.tar.gz -C /opt"
"rm -rfv ideaIC-2022.3.tar.gz"
"chmod 755 /opt/idea-IC-223.7571.182/"
)

code_extensions=(
"ms-vscode.cpptools"
"ms-python.python"
"MS-CEINTL.vscode-language-pack-ru"
)

shortcuts=(
'/usr/share/applications/codeblocks.desktop'
'/usr/share/applications/rosa-tkinter3.desktop'
'/usr/share/applications/wing-101-9.desktop'
'/usr/share/applications/pycharm-community.desktop'
'/usr/share/applications/vscode.desktop'
'/usr/share/applications/libreoffice-startcenter.desktop'
'/usr/share/applications/PascalABCNETLinux.desktop'
'/usr/share/applications/kumir2-classic.desktop'
)

if [[ $(whoami) != 'root' ]]
then
    echo 'Требуется запускать от суперпользователя'
    exit
fi

#Создаём учетную запись olimp
echo 'Задайте пароль учетной записи OLIMP:'
read p
useradd -m olimp && gpasswd -a olimp wheel && chpasswd <<<"olimp:$p"

#Устанавливаем необходимые программы и создаём для них ярылки на рабочем столе
desktop='/home/olimp/Рабочий стол/'

for command in "${commands[@]}"; do
    $command
done

for extension in "${code_extensions[@]}"; do
    su - olimp -c "code --install-extension $extension"
done

for shortcut in "${shortcuts[@]}"; do
    cp -fv "$shortcut" "$desktop"
done

desktop_file='/home/olimp/Рабочий стол/IntellijIDEA.desktop'
cat > "$desktop_file" << EOM
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA Community Edition
Icon=/opt/idea-IC-223.7571.182/bin/idea.svg
Exec="/opt/idea-IC-223.7571.182/bin/idea.sh" %f
Comment=Capable and Ergonomic IDE for JVM
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea-ce
StartupNotify=true
EOM

chmod +x "$desktop_file"

echo "Готово! Установка завершена"

 

 

 

Скажем спасибо: @ToxaSM и @x_p_9_k


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *