Для полноты: с тех пор на большей части 64-разрядной архитектуры возможно выполнить 32-битный код, и в пространстве ядра и в пространстве пользователя, не нужно забывать, что существует на самом деле 4 возможных комбинации:
uname
обычный путь к определению варианта ядра. Для пространства пользователя, file
довольно хорошо в распознавании исполняемых файлов: file $SHELL
или file /sbin/init
удобные идиомы. Просто существование обоих /lib/*.so
и /lib64/*.so
обычно хороший признак, что системный спорт оба варианта пространства пользователя.
Для этого нет простого или универсального метода. Первая часть общего .run
файла (я собираюсь использовать установочный файл драйвера ATI в качестве ссылки) - это скрипт, за которым следует поток сжатых данных, который сразу же сохраняется в файловой системе. Чтобы преобразовать его в deb-файл, вы должны распаковать поток в каталог, создать каталог debian/
, в вашем файле rules
вы должны отредактировать его, поэтому dhmake просто возьмет структуру каталога и скопирует файлы, где они должны быть, так как у вас нет Makefile
или эквивалента, использующего скрипт install
.
Я настоятельно рекомендую просто попросить дистрибьютора создать пакет Debian , так как большинство из этих исполняемых файлов не совместимы даже с DFSG.
.В конце концов я сделал следующее:
postinst
для выполнения .run-файла (и затем удалить)postrm
для выполнения этого сценария.Все работает очень хорошо. Никаких жалоб и очень просто.