From fa3e9841892ee5bce6e7959a2e8aa492ee5903ec Mon Sep 17 00:00:00 2001 From: Den Piligrim <89912505+vasiljevdenis@users.noreply.github.com> Date: Sat, 27 Dec 2025 17:27:53 +0300 Subject: [PATCH] update shell scripts --- delete.sh | 2 +- forwarding_delete.sh | 2 +- forwarding_install.sh | 44 +++++++++++++++++++++++++++++++------------ update.sh | 6 ++++++ 4 files changed, 40 insertions(+), 14 deletions(-) diff --git a/delete.sh b/delete.sh index c3212b3..10fcbb2 100644 --- a/delete.sh +++ b/delete.sh @@ -17,7 +17,7 @@ need_root() { [[ $EUID -eq 0 ]] || die "Запускать только от root" } -read -r -p "Вы уверены, что хотите удалить? (y/N): " answer +read -r -p "Вы уверены, что хотите удалить? (y/n): " answer case "$answer" in y|Y) diff --git a/forwarding_delete.sh b/forwarding_delete.sh index 1854467..fd7bf78 100644 --- a/forwarding_delete.sh +++ b/forwarding_delete.sh @@ -14,7 +14,7 @@ warn() { echo -e "\033[1;33m[WARN]\033[0m $1"; } [[ $EUID -eq 0 ]] || { echo "Запускать нужно от root"; exit 1; } -read -r -p "Вы уверены, что хотите удалить? (y/N): " answer +read -r -p "Вы уверены, что хотите удалить? (y/n): " answer case "$answer" in y|Y) diff --git a/forwarding_install.sh b/forwarding_install.sh index 916831e..490fc82 100644 --- a/forwarding_install.sh +++ b/forwarding_install.sh @@ -15,6 +15,12 @@ die() { echo -e "\033[1;31m[ERROR]\033[0m $1"; exit 1; } [[ $EUID -eq 0 ]] || die "Запускать нужно от root" +# Check OS and set release variable +. /etc/os-release +if [[ "$ID" != "ubuntu" && "$ID" != "debian" ]]; then + die "Этот скрипт поддерживает только Ubuntu или Debian: $ID" +fi + ################################# # ASCII-баннер ################################# @@ -292,19 +298,33 @@ log "Проверка Docker" if command -v docker >/dev/null 2>&1; then log "Docker уже установлен" else - log "Docker не найден, будет установлен" - apt update - apt install -y docker.io || die "Ошибка установки docker.io" - systemctl enable docker - systemctl restart docker -fi + log "Docker не найден, будет установлен из официального репозитория" + # Add Docker's official GPG key: + sudo apt update + sudo apt install ca-certificates curl + sudo install -m 0755 -d /etc/apt/keyrings + if [[ "$ID" == "ubuntu" ]]; then + curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc || die "Ошибка добавления ключа Docker" + else + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc || die "Ошибка добавления ключа Docker" + fi + sudo chmod a+r /etc/apt/keyrings/docker.asc -if docker compose version >/dev/null 2>&1; then - log "docker compose v2 доступен" -else - log "Устанавливаем docker-compose-v2" - apt install -y --allow-downgrades --allow-remove-essential --allow-change-held-packages \ - docker-compose-v2 || warn "docker-compose-v2 не установлен, возможно уже есть плагин" + # Add the repository to Apt sources: + CODENAME=${UBUNTU_CODENAME:-$VERSION_CODENAME} + sudo tee /etc/apt/sources.list.d/docker.sources </dev/null 2>&1; then + echo "❌ curl не установлен. Установите curl и повторите попытку" + echo " sudo apt install -y curl" + exit 1 +fi + ################################# # CONFIG #################################