Данный сценарий:

  1. Устанавливает пакет ca-certificates, если он не был установлен ранее;
  2. Подключает текущий репозиторий Орёл;
  3. Устанавливает выбранный набор пакетов;
  4. Отключает репозиторий Орёл, если он был подключен на шаге №1;

Параметры используемого репозитория:

deb https://download.astralinux.ru/astra/current/orel/repository/ orel non-free main contrib


Выполнение сценария невозможно без root-привилегий.


Для работы сценария необходим пакет ca-certificates (этот пакет будет установлен автоматически при запуске сценария).


Вызов сценария:

    $name название_набора_пакетов

    $name -h

    $name --help


Варианты вызова:

    Поддерживаемые наборы пакетов:

         java    - установить Java (пакеты default-jdk и default-jre);

        wine    - установить Wine (пакеты wine, winetricks, zenity);

        mariadb - установить СУБД MariaDB (пакет mariadb-server);

    Прочие варианты вызова:

        -h      - вывести эту справку и прекратить работу;  

        --help  - вывести эту справку и прекратить работу; 

Исходный код сценария:


#!/bin/bash
################################################################################
# Сценарий для установки пакетов из репозитория ОС ОН Орёл 2.12
# Предназначен для использования в ОС СН Смоленск/ОС СН Ленинград
################################################################################
#    install_wine_to_smolensk-1-6_from_orel-2-12.sh
#        включить winetricks и zenity
#    install_java_to_smolensk-1-6_from_orel-2-12.sh
#    install_mariadbserver_to_smolensk-1-6_from_orel-2-12.sh
# известные пакеты
#   java
#   wine
#       winetricks
#       zenity
#   mariadbserver
################################################################################

set -uex

OREL_REPO="deb https://download.astralinux.ru/astra/current/orel/repository/ orel non-free main contrib"
OREL_SOURCE=""

del_orel_repo() {
    [ -f "$OREL_SOURCE" ] && rm "$OREL_SOURCE"
    apt update
}

add_orel_repo() {
    if ! dpkg -l | grep -q ca-certificates ; then
        apt install -y ca-certificates
    fi
    if ! grep -q orel /etc/apt/sources.list ; then
        OREL_SOURCE=`mktemp --suffix=.list /etc/apt/sources.list.d/orelXXXXXX`
        trap del_orel_repo EXIT
        echo $OREL_REPO > "$OREL_SOURCE"
        apt update
    fi
}

doHelp() {
    local name=`basename $0`    
    cat << EOF
Сценарий для установки типовых наборов пакетов из сетевого репозитория Орёл.
Параметры репозитория: $OREL_REPO
Выполнение сценария невозможно без root-привилегий.

Вызов сценария:
    $name название_набора_пакетов
    $name -h
    $name --help

Варианты вызова:
    Поддерживаемые наборы пакетов:
        $name java    - установить Java (пакеты default-jdk и default-jre);
        $name wine    - установить Wine (пакеты wine, winetricks, zenity);
        $name mariadb - установить СУБД MariaDB (пакет mariadb-server);
    Прочие варианты вызова:
        $name -h      - вывести эту справку и прекратить работу;  
        $name --help  - вывести эту справку и прекратить работу;  

Для работы сценария необходим пакет ca-certificates
(этот пакет будет установлен автоматически при запуске сценария).
EOF
}

if [[ $EUID -ne 0 ]]; then
    echo "Выполнение сценария невозможно без root-привилегий."
    exit 1
fi

if [ $# != 1 ] ; then
    doHelp
    exit 1;
fi

case $1 in
    java)
        set="default-jdk default-jre"
        ;;
    wine)
        set="wine winetricks zenity"
        ;;
    mariadb)    
        set="mariadb-server"
        ;;
    -h|--help|*)
        doHelp
        exit 1
        ;;
esac

add_orel_repo
apt -y install $set