From 30e0eeff098d8c44fba6ce96d6fae3316904960f Mon Sep 17 00:00:00 2001 From: NW Date: Sat, 17 May 2025 19:49:34 +0000 Subject: [PATCH] update dry install --- setup_vps.sh | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/setup_vps.sh b/setup_vps.sh index 6a6b0cf..96c399a 100644 --- a/setup_vps.sh +++ b/setup_vps.sh @@ -33,14 +33,16 @@ get_arch() { esac } -# Функция для установки dry на ARM устройства +# Функция для установки dry с учетом архитектуры install_dry() { if command -v dry &> /dev/null; then echo -e "${GREEN}dry уже установлен.${NC}" return fi - echo -e "${YELLOW}Установка dry для ARM...${NC}" + # Определяем архитектуру + ARCH=$(get_arch) + echo -e "${YELLOW}Установка dry для архитектуры ${ARCH}...${NC}" # 1. Попытка установки из репозиториев if sudo apt-get install -y dry 2>/dev/null; then @@ -48,14 +50,30 @@ install_dry() { return fi - # 2. Установка предварительно собранного бинарника для ARM - echo -e "${YELLOW}Установка готового бинарника для ARM...${NC}" + # 2. Установка предварительно собранного бинарника для текущей архитектуры + echo -e "${YELLOW}Установка готового бинарника...${NC}" # Определяем точную версию dry LATEST_VERSION=$(curl -s https://api.github.com/repos/moncho/dry/releases/latest | grep 'tag_name' | cut -d\" -f4) - # Для Orange Pi Zero (ARMv7) используем armv6 бинарник для совместимости - DRY_URL="https://github.com/moncho/dry/releases/download/${LATEST_VERSION}/dry-linux-arm" + # Формируем URL в зависимости от архитектуры + case $ARCH in + "amd64") + DRY_URL="https://github.com/moncho/dry/releases/download/${LATEST_VERSION}/dry-linux-amd64" + ;; + "arm64") + DRY_URL="https://github.com/moncho/dry/releases/download/${LATEST_VERSION}/dry-linux-arm64" + ;; + "arm") + DRY_URL="https://github.com/moncho/dry/releases/download/${LATEST_VERSION}/dry-linux-arm" + ;; + *) + echo -e "${RED}Неподдерживаемая архитектура: $ARCH${NC}" + echo -e "${YELLOW}Попробуйте установить через Docker:${NC}" + echo "docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock moncho/dry" + exit 1 + ;; + esac echo -e "${YELLOW}Скачивание dry...${NC}" if curl -fsSL "$DRY_URL" -o /tmp/dry; then @@ -75,9 +93,9 @@ install_dry() { echo -e "${RED}Не удалось скачать dry.${NC}" echo -e "${YELLOW}Альтернативные варианты:${NC}" echo "1. Установите вручную:" - echo " wget https://github.com/moncho/dry/releases/latest/download/dry-linux-arm" - echo " chmod +x dry-linux-arm" - echo " sudo mv dry-linux-arm /usr/local/bin/dry" + echo " wget $DRY_URL" + echo " chmod +x dry-linux-*" + echo " sudo mv dry-linux-* /usr/local/bin/dry" echo "2. Используйте Docker-версию:" echo " docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock moncho/dry" fi