Хочу запустить perl скрипт (веб сервер) в chroot окружении. Скопировал bash, perl, его модули и всё нужное для работаы в каталог /home/bunny. Но приложение отказывается работать правильно. Вот мои действия Code: $ sudo chroot /home/bunny bash-3.2# ls bin dev etc lib root usr bash-3.2# cd root bash-3.2# ls index.html server.pl server.pl~ bash-3.2# cat server.pl #!/usr/bin/perl use IO::Socket::INET; my $port = 8888; my $ident = 'server'; my $serv = IO::Socket::INET->new( Proto => 'tcp', LocalPort => $port, Listen => SOMAXCONN, Reuse => 1, ) or die "Can't start server: $!"; print "[Server $0 accepting clients at http://localhot:$port/]\n"; sub sendfile { my $client = shift; my $file = shift; open(FILE, $file); while (<FILE>) { print $client $_ }; close FILE; } while (my $client = $serv->accept()) { $client->autoflush(1); my $request = <$client>; if ($request =~ m|^GET /(.*) HTTP/1.[01]|) { if ($1 eq 'index.html' or $1 eq '') { sendfile($client, 'index.html'); next } if (-e $1) { print $client "HTTP/1.0 200 OK\nServer: $ident\nContent-type: text/html\n\n"; sendfile($client, $1); } else { print $client "HTTP/1.0 404 Not Found\nServer: $ident\n"; print $client "Content-type: text/html\n\n"; print $client "file $1 not found\n"; } } else { print $client "HTTP/1.0 400 Bad Request\nServer: $ident\n"; print $client "Conten-type: text/html\n\n"; print $client "Bad request\n"; } close $client; }bash-3.2# perl server.pl [COLOR=White][B]Can't start server: No such file or directory at server.pl line 7.[/B][/COLOR] bash-3.2# Без chroot`a всё работает хорошо. Пробовал дописывать в начало скрипта Code: chroot('/home/bunny'); но появляется всё та же ошибка Can't start server: No such file or directory at server.pl line 11. Почему Perl останавливается на этой строке? Code: my $serv = IO::Socket::INET->new(
А если IO::Socket::INET->new скормить адрес хоста, к которому коннектиться надо? /etc/hosts в chroot'е имеется?