Почему binfmt _misc с флагами "OC" не работает, когда он работает без флагов?

Похоже, вы не настроили значение NETMASK или PREFIX для своего интерфейса. Хотя часто это не объясняется четко, правильный адрес на самом деле требует этой информации.

Если вы больше не можете удаленно подключиться через SSH, Telnet и т. д. к ВМ, вам потребуется войти в консоль системы:

  • Для физического компьютера потребуется доступ к монитору, клавиатуре, мыши и т. д.
  • виртуальной машине потребуется доступ к «виртуальной консоли», которая может сильно различаться в зависимости от используемой технологии виртуализации

После входа в консоль вам необходимо войти в систему и изменить файл конфигурации сети, включив в него все необходимые параметры. Пожалуйста, обратитесь к документации PhotonOS (man-страниц, вероятно, достаточно ), чтобы быть уверенным, но я считаю, что как минимум требуется значение NETMASK.

1
19.03.2021, 11:18
1 ответ

Вас сбивают с толку две функции.

Во-первых, в случае сбоя execоболочка просматривает содержимое файла, который вы пытаетесь запустить, и, если он выглядит как сценарий оболочки, интерпретирует его самостоятельно. Пустой файл выглядит как сценарий оболочки. Вы можете увидеть это, запустив strace -f./qux.go, который показывает ошибку exec, и изменивqux.go:

$ echo echo Failed Golang > qux.go
$./qux.go
Failed Golang

Другая особенность заключается в том, что флаг Oне работает с каскадными интерпретаторами:в вашем случае, qux.goнуждается в интерпретаторе, но сам интерпретатор нуждается в интерпретаторе, /bin/shи таким образом, необходимо интерпретировать два файла, test.shи qux.go, но только один окончательный исполняемый файл может быть обработан в режиме O. Следующие работы:

$ cat <<EOF > /tmp/test.c
#include <stdio.h>

int main(int argc, char **argv) {
  puts("Golang");
  return 0;
}
EOF
$ make /tmp/test
cc     /tmp/test.c   -o /tmp/test
$ echo ':golang:E::go::/tmp/test:OC' | sudo tee /proc/sys/fs/binfmt_misc/register
:golang:E::go::/tmp/test:OC
$./qux.go
Golang
2
28.04.2021, 22:58

Теги

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