Существует ли безопасный способ установки.deb /.rpm с помощью сценария bash?

В итоге я поместил сценарий nohup в отдельный сценарий bash.

/usr/local/bin/axttystart

#!/bin/sh

## Intermediate bashscript in order to sudo nohup properly
/usr/bin/nohup /etc/init.d/axtty start >/dev/null 2>&1

Затем строка sudo'ers, содержащая Cmnd_aliasдля AXTOOLTTYSTART, была изменена на

.
Cmnd_Alias AXTOOLTTYSTART = /usr/local/bin/axttystart

Обновленный скрипт axopen вместо sudo для строки nohup будет использовать sudo скрипт axttystart

#!/bin/sh

[...]

echo "Starting axtty service.."
$SUDO /usr/local/bin/axttystart
sleep 4
$SUDO /etc/init.d/axtty status
0
31.07.2020, 18:18
1 ответ

При распространении пакетов рекомендуется сделать их доступными в репозиториях пакетов (либо в ваших собственных, либо в одном из различных репозиториев сообщества ); таким образом, обновления обрабатываются вместе с остальными обновлениями системы. В текущих настольных средах пользователи уведомляются о наличии обновлений, поэтому вы не добавите большую задержку по сравнению с конкретной проверкой в ​​вашем приложении.

Тем не менее, вы можете самостоятельно выполнять обновления. В зависимости от того, как упаковано ваше приложение,может даже не понадобиться закрывать его перед обновлением — среды в стиле Unix -не мешают вам изменять исполняемый файл во время его работы.

Что касается вашего фрагмента установки для Debian и его производных, я бы не стал возиться с gdebi; aptможет самостоятельно устанавливать локальные пакеты. Загрузите пакет, затем в том же каталоге запустите

sudo apt install./package.deb

Пока вы начинаете путь с ./, aptбудет использовать загруженный пакет (и разрешать зависимости и т. д. ).

Вы можете сделать то же самое для RPM-систем на базе Fedora -или RHEL -с помощью yumили dnf.

3
18.03.2021, 23:16

Теги

Похожие вопросы