1

Я хочу, чтобы демон inetd работал на машине с Cygwin. Я знаю, как сделать это на Centos 4, но на Cygwin, похоже, не работает.

Команды, которые я пробовал:

cygrunsrv -I xinetd -d "Cygwin Xinetd" -p /usr/sbin/xinetd -e CYGWIN=ntsec
cygrunsrv -S xinetd
/etc/rc.d/init.d/xinetd start

На Linux я бы просто сделал:

/sbin/service xinetd restart

После редактирования моего файла конфигурации:

/etc/xinetd.d/<myAppHere>

Я создал этот файл на Cygwin, но не могу понять, как запустить службу.


[si-xp-pro-sp3 ~] /etc/rc.d/init.d/xinetd start
/etc/rc.d/init.d/xinetd: line 22: /etc/init.d/functions: No such file or directory
Starting xinetd: /etc/rc.d/init.d/xinetd: line 59: daemon: command not found

[si-xp-pro-sp3 ~] /usr/sbin/xinetd start
Usage: xinetd [-d] [-f config_file] [-filelog filename] [-syslog facility] [-reuse]
[-limit proc_limit] [-pidfile filename] [-logprocs limit] [-shutdownprocs limit]
[-cc interval]

4 ответа4

3

Запуск /usr/bin/xinetd-config для настройки xinetd должен устранить эти две ошибки:

/etc/rc.d/init.d/xinetd: строка 22: /etc/init.d/functions: нет такого файла или каталога

Запуск xinetd: /etc/rc.d/init.d/xinetd: строка 59: демон: команда не найдена

1

cygrunsrv делает большую часть волшебства, но разрешения вашей файловой системы Windows должны быть открыты.

Это больше, чем просто делать ls -l

Вы должны сделать это через CMD.EXE или, проще, через графический интерфейс EXPLORER.EXE.

Вам необходимо открыть для ПОЛНОГО УПРАВЛЕНИЯ для СИСТЕМЫ следующие каталоги (папки):

C:\CYGWIN
C:\CYGWIN\VAR
C:\CYGWIN\VAR\LOG

Выберите свойства файла для каждого из них и найдите вкладку «Безопасность».

Если нет вкладки "Безопасность", у вас есть "Простой общий доступ к файлам". Отключите это с помощью Tools -> Folder Options -> View, затем прокрутите до самого последнего флажка:[] Использовать простой обмен файлами (рекомендуется)

Удостоверьтесь, что это НЕПРОВЕРЕНО - тогда у вас должна быть возможность получить вкладку Безопасность для каждой папки.

Убедитесь, что SYSTEM указан под именем группы или пользователя. Добавьте это, если нет. Затем убедитесь, что при выделении SYSTEM установлен флажок Full Control Allow.

Смотрите эту ссылку для обсуждения этой проблемы с sshd - http://www.noah.org/ssh/cygwin-sshd.html

1

Существует ли /etc/rc.d/init.d/xinetd? Какие сообщения вы получаете?

Вы пробовали просто запустить xinetd или /usr /sbin /xinetd?

Просто не означает использование "начала" в качестве аргумента. Проверьте справочную страницу для xinetd.

По сути, вы путаетесь между использованием /etc/init.d и /usr /sbin. Папка init.d содержит сценарии оболочки, которые используются для автоматического запуска процессов сервера, но также могут использоваться и вручную. sbin содержит двоичные файлы приложений. Все сценарии в init.d принимают аргументы, такие как start и stop, но если вы хотите узнать, какие аргументы принимает двоичный файл sbin, вам нужно прочитать страницу руководства.

Когда я сказал, что Simpy запустит xinetd, я хотел ввести следующую команду оболочки.

xinetd

и если это не сработает, то попробуйте

/usr/sbin/xinetd

Когда вы вводите ложные аргументы в командную строку, xinetd сбивается с толку и даже не пытается запустить.

0

Вот как:

xinetd-config
cygrunsrv -I xinetd -p /usr/sbin/xinetd -d 'CYGWIN xinetd' -a '-stayalive -pidfile /var/run/xinetd.pid'
cygrunsrv -S xinetd

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .