Настройка Discourse через netcat с недопустимой комбинацией опций?

Используя стандартную процедуру установки discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub на CentOS 7, однако:

Проверка сетевой связности на портах 80 и 443 выполняется с помощью nc следующим образом:

    echo -e "HTTP/1.1 200 OK\n\n $VERIFY" | nc -w 4 -l -p $PORT > /dev/null 2>&1 &
    if curl --proto =http -s $HOST:$PORT --connect-timeout 3 | grep $VERIFY > /dev/null 2>&1; then
:

Но nc завершается с ошибкой:

nc: невозможно использовать -p и -l одновременно

из-за чего скрипт настройки сообщает о недоступности этих портов.

В man nc указано:

     -l      Ожидать входящее соединение вместо инициации соединения с удалённым хостом. Нельзя использовать совместно с любыми из опций -psxz. Кроме того, любые таймауты, указанные
             с помощью опции -w, игнорируются.

Возможно, это проблема версии nc. На странице NC не указано, что между этими опциями есть конфликт. Мой netcat может слушать, но только с использованием:

nc -w 4 -l <IP-адрес> <номер порта>

Не удаётся заставить netcat вывести свою версию :confused:

Ладно, так… есть netcat-traditional и netcat-openbsd, и в CentOS по умолчанию установлен первый, тогда как для discourse-setup нужен второй. Пытаюсь найти способ установить netcat-openbsd на CentOS, но, похоже, это не так-то просто…

Короче говоря:
yum remove netcat
yum install nmap-ncat

Это одна из причин, по которой рекомендуется Ubuntu.

Но насколько это раздражает, что существует два варианта netcat? И ваш netcat по умолчанию кажется особенно сложным в использовании.

Отлично справились с решением этой задачи!