Помните этот пост? А этот пост? Где-то там, на примере браузера Chromium-GOST (здесь сайт, а здесь гит), я рассказывал как можно поддерживать актуальные установочные пакеты с помощью api котоосьминога.
Переосмыслив прошлый опыт и перестроив всё под bash, я написал скрипт для установки Chromium-GOST, как для дистрибутивов с поддержкой deb-пакетов, так и для rpm.
Начнём с привычного для меня debian-подобного мира:
#!/bin/bash
# Проверка наличия jq
if ! command -v jq &> /dev/null; then
echo "jq не установлен. Установите jq с помощью следующей команды:"
echo "sudo apt update && sudo apt install jq"
exit 1
fi
# URL для получения информации о последнем релизе
URL="https://api.github.com/repos/deemru/chromium-gost/releases/latest"
# Получаем имя файла с помощью curl и jq
FILENAME=$(curl -s $URL | jq -r '.assets[] | select(.name | test("linux-amd64.deb")) | .browser_download_url')
# Проверяем, найден ли файл
if [ -z "$FILENAME" ]; then
echo "Файл linux-amd64.deb не найден в последнем релизе."
exit 1
fi
# Скачиваем DEB файл
echo "Скачивание $FILENAME..."
curl -LO $FILENAME
# Устанавливаем пакет
echo "Установка пакета..."
sudo dpkg -i "$(basename $FILENAME)"
# Устанавливаем недостающие зависимости
echo "Установка недостающих зависимостей, если они есть..."
sudo apt-get install -f
echo "Установка завершена!"
Теперь rpm:
#!/bin/bash
# Проверка наличия jq
if ! command -v jq &> /dev/null; then
echo "jq не установлен. Установите jq с помощью следующей команды:"
echo "sudo dnf install jq"
exit 1
fi
# URL для получения информации о последнем релизе
URL="https://api.github.com/repos/deemru/chromium-gost/releases/latest"
# Получаем имя файла с помощью curl и jq
FILENAME=$(curl -s $URL | jq -r '.assets[] | select(.name | test("linux-amd64.rpm")) | .browser_download_url')
# Проверяем, найден ли файл
if [ -z "$FILENAME" ]; then
echo "Файл linux-amd64.rpm не найден в последнем релизе."
exit 1
fi
# Скачиваем RPM файл
echo "Скачивание $FILENAME..."
curl -LO $FILENAME
# Устанавливаем пакет
echo "Установка пакета..."
sudo rpm -ivh "$(basename $FILENAME)"
echo "Установка завершена!"
Делаем нужный скрипт исполняемым:
sudo chmod +x /scripts/chromium_gost_install*
И запускаем с использованием sudo.
Возможно, понадобится установить пакет liberation-fonts.