С дуру обновил систему с FreeBSD 8.2 до 8.4... И ядро обновил.
Из-за добавления кучи левых текстов в ряд файлов в /etc перестали работать файрволл, named и т.д...
почистил конфиги от шлака, вроде всё заработало... но:
Перестал запускаться ffserver. Motion работает нормально, а при попытке запуска ffserver происходят чудеса.
если запускать его так:
# /usr/local/etc/rc.d/ffserver start
то он пишет:
/usr/local/etc/rc.d/ffserver: WARNING: run_rc_command: cannot run /usr/local/bin/ffserver &
Если зайти в rc.d и запустить оттуда:
/usr/local/etc/rc.d # ffserver start
То он запускается, но потоковая картинка останавливается, ломается и рассыпается.
Поток отдаётся в swf-файл, который я встраиваю в сайт.
После обновления проигрывается 3 секунды видео и картинка замирает разломанная. До обновления всё работало норм, были другие проблемы, но они касаются больше конфигурирования выходного потока.
Я покопался, и нашёл, что это сообщение отдаётся файлом /etc/rc.subr
а конкретно строкой 750:
if [ ! -x "${_chroot}${_chroot:+/}${command}" ]; then
warn "run_rc_command: cannot run $command"
return 1
fi
Я так понял проблема с chroot.
У файла /usr/local/bin/ffserver владелец root, права 0555
Прошу помочь с запуском
содержимое /usr/local/etc/rc.d/ffserver
#!/bin/sh
ffserver_enable="${ffserver_enable-NO}"
. /etc/rc.subr
name=ffserver
rcvar=ffserver_enable
command="/usr/local/bin/${name} &"
required_files=/usr/local/etc/ffserver.conf
load_rc_config ${name}
run_rc_command "$1"
не менялось, так установилось из портов.
FreeBSD SERVER1.lcl 8.4-RELEASE FreeBSD 8.4-RELEASE #0: Sat Jun 15 17:08:06 EEST 2013 Root@SERVER1.lcl:/usr/obj/usr/src/sys/KXMOD i386
Что интересно: Если его запустить, как работает выше:
root@SERVER1:/usr/local/etc/rc.d # ffserver
ffserver version 0.7.15, Copyright (c) 2000-2013 the FFmpeg developers
built on Jun 19 2013 16:29:15 with gcc 4.2.1 20070831 patched [FreeBSD]
configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-memalign-hack --enable-runtime-cpudetect --cc=cc --extra-cflags=' -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-sse --disable-mmx --disable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcelt --disable-libdirac --disable-libfaac --enable-libfreetype --enable-frei0r --disable-libgsm --enable-libmp3lame --enable-libopencv --enable-libopenjpeg --disable-librtmp --disable-libschroedinger --disable-libspeex --disable-libtheora --disable-vaapi --disable-vdpau --disable-libvo-aacenc --disable-libvo-amrwbenc --disable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
libavutil 50. 43. 0 / 50. 43. 0
libavcodec 52.123. 0 / 52.123. 0
libavformat 52.111. 0 / 52.111. 0
libavdevice 52. 5. 0 / 52. 5. 0
libavfilter 1. 80. 0 / 1. 80. 0
libswscale 0. 14. 1 / 0. 14. 1
libpostproc 51. 2. 0 / 51. 2. 0
Он запускается...
Потом
root@SERVER1:/usr/local/etc/rc.d # /usr/local/etc/rc.d/ffserver restart
Stopping ffserver.
/usr/local/etc/rc.d/ffserver: WARNING: run_rc_command: cannot run /usr/local/bin/ffserver &
Т.е. при попытке рестарта по абсолютному пути она ЗАВЕРШАЕТ процесс, а запустить снова не может...
если запустать его по абсолютному пути - посылает на... Если заходить в папку rc.d и просто запускать ffserver ... даже без start - он запускается...
если зайдя в rc.d запустить ffserver stop он игнорирует команду и всё равно запускает ffserver
даже не говоря, что процесс запущен..