Автор Тема: Установка .run формата  (Прочитано 1831 раз)

Оффлайн altlinux10

  • Начинающий
  • *
  • Сообщений: 6
Установка .run формата
« : 06.06.2023 06:31:53 »
Приветствую всех,подскажите как запустить .run,пытаюсь штатными программами а он ни в какую :(
Благодарю заранее.
Программ для открытия не стоят,может кто подскажет что поставить и как проще открыть.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 303
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Установка .run формата
« Ответ #1 : 06.06.2023 06:49:34 »
Он запускается из консоли, это обычно самораспаковывающийся архив с движком , написанном на bash

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Установка .run формата
« Ответ #2 : 06.06.2023 07:31:12 »
Приветствую всех,подскажите как запустить .run,пытаюсь штатными программами а он ни в какую :(
Благодарю заранее.
Программ для открытия не стоят,может кто подскажет что поставить и как проще открыть.

хэлп прочитать, там всё написано:
sh ./file.run --help

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 148
Re: Установка .run формата
« Ответ #3 : 06.06.2023 10:05:13 »
Приветствую всех,подскажите как запустить .run,пытаюсь штатными программами а он ни в какую :(
Но когда/если угробите систему, не готоврите, что Вас не предупреждали:
https://www.altlinux.org/Где_и_как_искать_программы#no_make_install.

Оффлайн artenaki

  • Давно тут
  • **
  • Сообщений: 198
Re: Установка .run формата
« Ответ #4 : 06.06.2023 16:15:23 »
make install ставит по умолчанию в /usr/local. Это безопасно. Или не во всех дистрах? Если нет, есть --prefix=/usr/local (можно даже в /opt, но это не в PATH и могут быть проблемы).
Вопрос только какой приоритет имеет /usr/local/lib.
Например, в убунте /usr/local/bin имеет приоритет над /usr/bin
Но /usr/local/lib имеет низкий приоритет.
Это, кстати, порождает проблемы. Если shared приложение собрать в /usr/local, то бинарник из /usr/local/bin может подгрузить не те либы (системные), если имена совпадают. Тут на помощь приходит LDFLAGS='-Wl,-rpath,/usr/local/lib' перед ./configure
В общем, такие страшилки-статьи вводят в заблуждение.

Я скажу больше. Безопаснее установить в /usr/local с помощью make install, чем создавать кошерный deb и ставить в /usr. Вот тут он уже будет лезть в систему, пакетный менеджер будет считаться с его зависимостями, что может помешать обновлению системы.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 148
Re: Установка .run формата
« Ответ #5 : 06.06.2023 19:49:51 »
В общем, такие страшилки-статьи вводят в заблуждение.
Там пример есть. Про чужой rpm, но run накуролесить может ещё больше. Пользователь же его не вычитывает перед запуском, правда? Хотя и чужой rpm с pre/post скриптами может от run не отличаться.
« Последнее редактирование: 06.06.2023 19:57:30 от asy »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Установка .run формата
« Ответ #6 : 07.06.2023 00:47:36 »
Насколько безопасен *.run, зависит не от *.run. А от его наполнения.
А ТС не сообщил что это за *.run.

Например в ut2004*.run, никаких make install нет и быть не может.
При этом установщик должен предлагать правильный путь умолчанием с возможностью изменения:
$ strings ut2004d/setup.data/bin/Linux/x86_64/setup | grep local/games -A3
/usr/local/games
eula
keepdirs
readme

А в идеале, инсталл-скрипт, должен иметь и функцию DetectARCH(), шоб не пудрить мозг пользователю, на какую архитектуру устанавливается *.run:
$ sed -n '28,61p' ./ut2004d/setup.sh
# Return the appropriate architecture string
DetectARCH()
{
status=1
case `uname -m` in
...
esac
return $status
}

При этом, приоритет загрузки библиотек, должен устанавливаться самим старт-скриптом:
$ sed -n '37,43p' /usr/local/games/ut2004demo/ut2004-demo
# Set the home if not already set.
if [ "${UT2004_DATA_PATH}" = "" ]; then
    UT2004_DATA_PATH="`FindPath $0`/System"
fi

LD_LIBRARY_PATH=.:${UT2004_DATA_PATH}:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
$ cat var.txt
UT2004_DATA_PATH= /usr/local/games/ut2004demo/System
LD_LIBRARY_PATH= .:/usr/local/games/ut2004demo/System:

И это без проблем и безопасно работает уже 16 лет.
С _этим_ *.run, после старта установки, пользователю достаточно будет жать Next>Next>Next.
Дополнительно установив зависимости:
Две из репозитория и одну костылём из p8.
Засада здесь только в одном:
Альты поклали через resolved wontfix на сборку библиотеки libstdc++.so.5. Которая есть во всех стабильных, основных веток линукс. Но не в альтах.

Но всё это философия.
А финалом только одно:
ТС не сообщил, что это за *.run. А нет данных и подробностей о *.run, - то и говорить не о чем.