Обновить setup_vps.sh
This commit is contained in:
parent
d3936ca9ac
commit
a7613a55f8
85
setup_vps.sh
85
setup_vps.sh
@ -33,7 +33,7 @@ get_arch() {
|
||||
esac
|
||||
}
|
||||
|
||||
# Функция для установки dry согласно официальной документации
|
||||
# Функция для установки dry
|
||||
install_dry() {
|
||||
if command -v dry &> /dev/null; then
|
||||
echo -e "${GREEN}dry уже установлен.${NC}"
|
||||
@ -42,34 +42,39 @@ install_dry() {
|
||||
|
||||
echo -e "${YELLOW}Установка dry...${NC}"
|
||||
|
||||
# Установка через go (если установлен)
|
||||
if command -v go &> /dev/null; then
|
||||
echo -e "${YELLOW}Установка через go...${NC}"
|
||||
go install github.com/moncho/dry@latest
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}dry успешно установлен через go.${NC}"
|
||||
# Вариант 1: Установка через официальный скрипт
|
||||
if curl -sSf https://moncho.github.io/dry/dryup.sh | sudo sh; then
|
||||
sudo chmod 755 /usr/local/bin/dry
|
||||
echo -e "${GREEN}dry успешно установлен через официальный скрипт.${NC}"
|
||||
return
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}Официальный скрипт не сработал, пробуем альтернативные методы...${NC}"
|
||||
|
||||
ARCH=$(get_arch)
|
||||
echo -e "${YELLOW}Архитектура системы: $ARCH${NC}"
|
||||
|
||||
# Вариант 2: Установка из репозиториев (для ARM)
|
||||
if [[ "$ARCH" == "arm64" || "$ARCH" == "arm" ]]; then
|
||||
echo -e "${YELLOW}Попытка установки dry из репозиториев...${NC}"
|
||||
sudo apt-get install -y dry && return
|
||||
fi
|
||||
|
||||
# Вариант 3: Ручная установка бинарника
|
||||
if [ "$ARCH" != "unsupported" ]; then
|
||||
LATEST_VERSION=$(curl -s https://api.github.com/repos/moncho/dry/releases/latest | grep 'tag_name' | cut -d\" -f4)
|
||||
DRY_URL="https://github.com/moncho/dry/releases/download/${LATEST_VERSION}/dry-linux-${ARCH}"
|
||||
|
||||
echo -e "${YELLOW}Скачивание dry для архитектуры ${ARCH}...${NC}"
|
||||
if curl -sSL $DRY_URL -o /tmp/dry; then
|
||||
sudo mv /tmp/dry /usr/local/bin/dry
|
||||
sudo chmod +x /usr/local/bin/dry
|
||||
echo -e "${GREEN}dry успешно установлен вручную.${NC}"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
# Установка через скачивание бинарника
|
||||
ARCH=$(get_arch)
|
||||
if [ "$ARCH" == "unsupported" ]; then
|
||||
echo -e "${RED}Архитектура не поддерживается для dry.${NC}"
|
||||
return
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}Скачивание dry для архитектуры ${ARCH}...${NC}"
|
||||
LATEST_RELEASE=$(curl -s https://api.github.com/repos/moncho/dry/releases/latest | grep 'tag_name' | cut -d\" -f4)
|
||||
DRY_URL="https://github.com/moncho/dry/releases/download/${LATEST_RELEASE}/dry-linux-${ARCH}"
|
||||
|
||||
if curl -fsSL $DRY_URL -o /tmp/dry; then
|
||||
chmod +x /tmp/dry
|
||||
sudo mv /tmp/dry /usr/local/bin/
|
||||
echo -e "${GREEN}dry успешно установлен.${NC}"
|
||||
else
|
||||
echo -e "${RED}Не удалось установить dry.${NC}"
|
||||
fi
|
||||
echo -e "${RED}Не удалось установить dry. Пропускаем...${NC}"
|
||||
}
|
||||
|
||||
# Функция для определения дистрибутива
|
||||
@ -205,25 +210,35 @@ else
|
||||
echo -e "${GREEN}Репозиторий уже клонирован.${NC}"
|
||||
fi
|
||||
|
||||
# Копирование файлов tmux (с проверкой существования)
|
||||
if [ -d "$REPO_DIR" ]; then
|
||||
if [ -d "$REPO_DIR/tmux" ]; then
|
||||
echo -e "${YELLOW}Копирование файлов tmux...${NC}"
|
||||
sudo cp -r "$REPO_DIR/tmux/." /root/ 2>/dev/null && \
|
||||
echo -e "${GREEN}Файлы tmux успешно скопированы.${NC}" || \
|
||||
echo -e "${RED}Не удалось скопировать файлы tmux.${NC}"
|
||||
# Копирование файлов tmux с проверкой
|
||||
TMUX_SRC_DIR="$REPO_DIR/tmux"
|
||||
if [ -d "$TMUX_SRC_DIR" ]; then
|
||||
echo -e "${YELLOW}Копирование файлов tmux из $TMUX_SRC_DIR в /root/...${NC}"
|
||||
if sudo cp -r "$TMUX_SRC_DIR/"* /root/ 2>/dev/null; then
|
||||
echo -e "${GREEN}Файлы tmux успешно скопированы.${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}Папка tmux не найдена в репозитории.${NC}"
|
||||
echo -e "${YELLOW}Попытка копирования отдельных файлов...${NC}"
|
||||
# Пробуем копировать файлы по одному
|
||||
for file in "$TMUX_SRC_DIR"/*; do
|
||||
if [ -f "$file" ]; then
|
||||
sudo cp "$file" /root/ && echo -e "${GREEN}Скопирован $file${NC}" || echo -e "${RED}Ошибка при копировании $file${NC}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}Репозиторий не найден, копирование tmux файлов невозможно.${NC}"
|
||||
echo -e "${YELLOW}Папка tmux не найдена в репозитории.${NC}"
|
||||
echo -e "${YELLOW}Ищем tmux файлы в других местах...${NC}"
|
||||
# Поиск tmux файлов в других местах репозитория
|
||||
find "$REPO_DIR" -name "*.tmux" -exec sudo cp {} /root/ \; 2>/dev/null && \
|
||||
echo -e "${GREEN}Найдены и скопированы tmux файлы${NC}" || \
|
||||
echo -e "${RED}Tmux файлы не найдены${NC}"
|
||||
fi
|
||||
|
||||
# Вывод версий установленных программ
|
||||
echo -e "\n${GREEN}=== Установленные версии ===${NC}"
|
||||
tmux -V || echo "tmux: не удалось получить версию"
|
||||
mc -V || echo "mc: не удалось получить версию"
|
||||
command -v dry >/dev/null && (echo -n "dry: "; dry --version 2>/dev/null || echo "версия неизвестна") || echo "dry: не установлен"
|
||||
command -v dry >/dev/null && (echo -n "dry: "; dry --version || echo "версия неизвестна") || echo "dry: не установлен"
|
||||
docker --version || echo "docker: не удалось получить версию"
|
||||
docker compose version || echo "docker compose: не удалось получить версию"
|
||||
git --version || echo "git: не удалось получить версию"
|
||||
|
Loading…
Reference in New Issue
Block a user