В общем проблема решилась. Я связался с автором статьи, описал ситуацию, и получил следующий ответ:
Здравствуйте,
On Mon, 5 Jan 2004, 10:53+0300, snirr wrote:
>
> Уважаемый Максим,
>
> В процессе установки Bind 8.3.7 в Chroot окружении(система FreeBSD 4.7), как написано у Вас
> в статье на freebsd.org.ru? я столкнулся с некоторыми трудностями.
> Сразу оговорюсь, что named работает (то есть прописав адрес DNS сервра
> в сетевых настрояках Windows, я спокойно хожу в интернет), но
> периодически в логах вылезает следующее сообщение:
>
> 28-Dec-2003 21:15:58.057 default: can't exec /libexec/named-xfer: No such file or directory
-----------------------------------------------^^^^^^^^^^^^^^^^^^^
> Я все делал точно по Вашей статье и
> структура директорий chroot такая же как и у Вас :
>
> ------------[ЦИТИРУЮ]------------
>
> Допустим, каталог /chroot/named будет корневым каталогом нашего bind
> sandbox. В этом каталоге необходимо создать следующую структуру
> директорий: /dev /etc
> /namedb
> /usr
> /libexec
> /var
> /run
> /stat
> /log
> .............
>
> /usr/libexec
> скопируем из дерева исходных текстов bind src/bin/named-xfer
> статически слинкованный исполняемый файл named-xfer
>
> ------------[КОНЕЦ ЦИТАТЫ]------------
>
> все это означает, что named, не находит named-xfer в папке
> /usr/libexec.
Судя по сообщению в Ваших логах, которое я подчеркнул выше, named
пытается сделать exec /libexec/named-xfer, а не
/usr/libexec/named-xfer.
> Я не очень опытный в данном вопросе администратор, и мне хотелось бы
> разобраться в чем здесь дело, тем более, что положив named-xfer
> в /chroot/named/libexec, вро де бы избавился от отих сообщений.
>
> НО! в файле work/src/bin/named/pathtemplate.h есть такая строчка:
>
> #define _PATH_XFER "DESTEXEC%/named-xfer" - эта строчка, как я
> понимаю, указывает на то, что при компиляции вместо DESTEXEC% будет
> подставлен путь по которому named будет искать named-xfer. я
> посмотрел в файле Makefile, который находится в
> work/src/bin/named-xfer, и обнаружил, что переменная DESTEXEC имеет
> следующий вид: DESTEXEC = /usr/local/libexec то есть видимо надо
> класть named-xfer в /chroot/named/usr/local/libexec.
Да, это так.
Но, если Вы будете устанавливать порт так, как указано в статье, т.е.
cd /usr/ports/net/bind8/ [*]
make PORT_REPLACES_BASE_BIND8=yes clean patch
[ модификация путей и флажков компиляции ]
make PORT_REPLACES_BASE_BIND8=yes install clean
то флажок PORT_REPLACES_BASE_BIND8 переопределит PREFIX с /usr/local
на /usr и таким образом, DESTEXEC будет /usr/libexec. У Вас же
префикс поломался совсем и bind ищет named-xfer в /libexec/.
[*] На самом деле, конечно, /usr/ports/dns/bind8, так как DNS-related
порты не так давно перенесены в отдельный каталог. Это будет
поправлено при очередном апдейте рассматриваемого текста.
> так я и сделал и тоже больше не получал вышеописаной ошибки.
> Что бы это все значило???
>
> Буду Вам очень признателен, если вы найдете время, что бы ответить и
> прокомментировать мои соображения.
>
> PS: Дискуссию по этому вопросу можно посмотреть тут:
> http://www.opennet.me/openforum/vsluhforumID1/38948.html
В кач-ве workaround можно прописать в named.conf такое:
options {
...
named-xfer "/usr/libexec/named-xfer";
...
};
--
Maxim Konovalov
boykov точно был прав. Спасибо всем за помощь
и.... С наступившим!!!!!!!!! :-)))))