Можно получить это сообщение, если канал существует, но его “загрузчик” не существует, где
/lib/ld-linux.so.2
;/bin/sh
если сценарий начинается #!/bin/sh
.В Вашем случае похоже, что у Вас нет 32-разрядного динамического загрузчика установленным в 64-разрядной системе Ubuntu. Это находится в libc6-i386
пакет.
strings ./flume | head -n 1
отобразит путь к динамическому загрузчику это flume
требует. Это - один из тех редких случаев где strace ./flume
абсолютно бесполезно.
Я полагаю, что эта ситуация самое вводящее в заблуждение сообщение об ошибке Unix. К сожалению, фиксация его была бы трудна: ядро может только сообщить о числовом коде ошибки вызывающей стороне программы, таким образом, это только имеет пространство для “команды, не найденной”, и не для названия загрузчика это ищет.
Если вы не хотите / не нуждаетесь в управлении своим скриптом с помощью служб (svcs), вы можете поместить свой скрипт в /etc/rc3.d
, например, /etc/rc3.d/S99update_after_solaris_already_boot.ksh
. Файлы здесь запускаются в лексикографическом порядке и должны начинаться с S
, чтобы запускаться на уровне выполнения 3. Прочтите /etc/init.d/README
и Дополнительные сведения можно найти в файлах /etc/rc3.d/README
.