Bash · 18.10.2024

Волшебство тысячи дисков

Скрипт для установки и запуска Ventoy в Linux. Разрабатывался и тестировался в операционной системе Linux Lubuntu 16.04.

Для начала нужно установить пакеты exfat-fuse и exfat-utils для работы с файловой системой exFAT (конечно, если они ещё у Вас не установлены):

sudo apt-get install exfat-fuse exfat-utils

И теперь непосредственно сабж:

#!/bin/bash
# sudo chmod +x /scripts/getventoy.sh

# Блок переменных #
ventoypath="/ventoy"
verventoy="/$ventoypath/ventoy-*"
ventoyrun="$verventoy/VentoyWeb.sh"

# Установка jq #
dpkg --verify jq || apt install jq -y

# Функция запуска Ventoy #
runventoy()
{
	cd $verventoy
	$ventoyrun
}

# Если скрипта VentoyWeb.sh не существует
# скачиваем, распаковываем и запускаем.
# Если VentoyWeb.sh существует - запускаем.
if [ ! -f $ventoyrun ]
then
	mkdir -p $ventoypath
	cd $ventoypath
	link=$(curl --silent "https://api.github.com/repos/ventoy/Ventoy/releases/latest" | jq -r ".assets[-3] | .browser_download_url")
	filename=$(basename "$link")
	wget $link $filename -q --show-progress
	tar -xvf $filename
	rm *gz*
	runventoy
else
	runventoy
fi

Скрипт установит утилиту jq (внезапно тег), если она не будет найдена в системе. Далее проверяем наличие скрипта запуска программы по указанному в переменной ventoypath пути. Если скрипт не найден — скачиваем архив с программой (апи котоосьминога детектед), распаковываем и за ненадобностью удаляем архив. За запуск Ventoy отвечает функция runventoy. Запускать следует с правами sudo.

Ventoy поселится в виде web-приложения на 24680 порту: http://127.0.0.1:24680.

Удалить установленную версию Ventoy можно так:

sudo rm -rf /ventoy/*

И, как водится, в шапке скрипта памятка для назначения прав исполняемого sh.

UPD: попросили выложить однострочный конвейер для скачивания скрипта:

wget https://ngdream.ru/files/bash/getventoy.sh && chmod +x getventoy.sh