Как преобразовать .run установщик в .deb установщик?

Для полноты: с тех пор на большей части 64-разрядной архитектуры возможно выполнить 32-битный код, и в пространстве ядра и в пространстве пользователя, не нужно забывать, что существует на самом деле 4 возможных комбинации:

  • 32-разрядное пространство пользователя на 32-разрядном ядре
  • 64-разрядное пространство пользователя на 64-разрядном ядре
  • 32-разрядное пространство пользователя на 64-разрядном ядре
  • и 64-разрядное и 32-разрядное пространство (пространства) пользователя на 64-разрядном ядре

uname обычный путь к определению варианта ядра. Для пространства пользователя, file довольно хорошо в распознавании исполняемых файлов: file $SHELL или file /sbin/init удобные идиомы. Просто существование обоих /lib/*.so и /lib64/*.so обычно хороший признак, что системный спорт оба варианта пространства пользователя.

3
23.06.2014, 21:08
2 ответа

Для этого нет простого или универсального метода. Первая часть общего .run файла (я собираюсь использовать установочный файл драйвера ATI в качестве ссылки) - это скрипт, за которым следует поток сжатых данных, который сразу же сохраняется в файловой системе. Чтобы преобразовать его в deb-файл, вы должны распаковать поток в каталог, создать каталог debian/, в вашем файле rules вы должны отредактировать его, поэтому dhmake просто возьмет структуру каталога и скопирует файлы, где они должны быть, так как у вас нет Makefile или эквивалента, использующего скрипт install.

Я настоятельно рекомендую просто попросить дистрибьютора создать пакет Debian , так как большинство из этих исполняемых файлов не совместимы даже с DFSG.

.
2
27.01.2020, 21:23

В конце концов я сделал следующее:

  1. Создать пользовательский . deb, который содержит .run-файл
  2. "Установить" .run-файл в /tmp
  3. Использовать postinst для выполнения .run-файла (и затем удалить)
  4. Этот конкретный .run-файл на самом деле предоставляет свой собственный сценарий удаления, который не нуждается в оригинальном .run-файле. Поэтому я использую postrm для выполнения этого сценария.

Все работает очень хорошо. Никаких жалоб и очень просто.

1
27.01.2020, 21:23

Теги

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