Как обеспечить запуск .Net exe-файлов из командной строки в linux?
Как обеспечить запуск .Net-овских exe-файлов из командной строки, без необходимости вставки вызова mono перед файлом?
На сайте mono описан один из способов, с загрузкой модуля binfmt.
В gentoo wiki - как выполнять команды при запуске, потому что:
# sysctl fs.binfmt_misc.register=':CLR:M::MZ::/usr/bin/mono:'
sysctl: setting key "fs.binfmt_misc.register": Invalid argument
(здесь спор: ошибка ли это)
посмотреть, что получилось после регистрации можно так:
# cat /proc/sys/fs/binfmt_misc/CLR
enabled
interpreter /usr/bin/mono
flags:
offset 0
magic 4d5a
В ядре главная опция - CONFIG_BINFMT_MISC
, у меня при значении =y не пришлось монтировать файловую систему в /etc/fstab
(она уже оказалась смонтирована, не знаю кем)
ещё в ядре есть
# zgrep BINFMT /proc/config.gz
CONFIG_BINFMT_MISC=y
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_BINFMT_SCRIPT=y
Мне непонятно, как сделать, чтобы файлы запускались без расширения (т.е. чтобы работали одновременно команды, к примеру, NuGet
и NuGet.exe
)
Также мне непонятно, о каких ограничениях говорили в статье (на сайте mono).
Но, по-моему, был ещё какой-то способ с пересборкой ядра с какими-то (другими?) опциями.