#!/bin/sh # Подключить репозиторий Bag route и поставить приложение (Fedora, RHEL, # Ubuntu, Debian). Обновления потом приходят вместе с системой и видны в # «Центре приложений». # curl -fsSL https://bagvps.ru/linux/setup.sh | sudo sh # Ключ подписи репозитория: 45E1F72FED4FFB6D19C373EB54F014F81A22BBFC set -eu URL="https://bagvps.ru/linux" FPR="45E1F72FED4FFB6D19C373EB54F014F81A22BBFC" [ "$(id -u)" = 0 ] || { echo "Запустите через sudo: curl -fsSL $URL/setup.sh | sudo sh" >&2; exit 1; } fetch() { if command -v curl >/dev/null 2>&1; then curl -fsSL "$1"; else wget -qO- "$1"; fi; } if command -v dnf >/dev/null 2>&1; then fetch "$URL/bag-route.repo" >/etc/yum.repos.d/bag-route.repo rpm --import "$URL/bag-route.asc" dnf -y install bag elif command -v apt-get >/dev/null 2>&1; then install -d -m 755 /usr/share/keyrings fetch "$URL/bag-route.gpg" >/usr/share/keyrings/bag-route.gpg # Ключ тот, что ждали, — иначе не подключаем. if command -v gpg >/dev/null 2>&1; then got=$(gpg --show-keys --with-colons /usr/share/keyrings/bag-route.gpg 2>/dev/null | awk -F: '/^fpr/{print $10; exit}') [ "$got" = "$FPR" ] || { echo "Ключ репозитория не совпал ($got) — остановлено" >&2; rm -f /usr/share/keyrings/bag-route.gpg; exit 1; } fi fetch "$URL/bag-route.sources" >/etc/apt/sources.list.d/bag-route.sources apt-get update -o Dir::Etc::sourcelist=sources.list.d/bag-route.sources -o Dir::Etc::sourceparts=- -o APT::Get::List-Cleanup=0 apt-get -y install bag else echo "Нужен dnf или apt. Пакеты вручную: https://bagvps.ru" >&2 exit 1 fi echo "Готово: Bag route установлен. Откройте его из меню приложений."