udhcpd.service started, but udhcpd process not running

Чтобы выбрать только флаги SSE, попробуйте:

awk '/SSE/' ORS=' ' RS=' '

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

Например:

$ SUNCC_CXXFLAGS="-D__SSE2__ -D__SSE3__ -D__SSSE3__ -D__SSE4_1__ -D__SSE4_2__ -D__AES__ -D__PCLMUL__ ..."
$ newFLAGS="$(echo "$SUNCC_CXXFLAGS" | awk '/SSE/' ORS=' ' RS=' ')"
$ echo "$newFLAGS"
-D__SSE2__ -D__SSE3__ -D__SSSE3__ -D__SSE4_1__ -D__SSE4_2__ 

SSE кажется здесь достаточно точным совпадением. Если это не так, мы можем быть более конкретными:

$ newFLAGS="$(echo "$SUNCC_CXXFLAGS" | awk '/^-D__(SSE2|SSE3|SSSE3|SSE4.1|SSE4.2)__/' ORS=' ' RS=' ')"
$ echo "$newFLAGS"
-D__SSE2__ -D__SSE3__ -D__SSSE3__ -D__SSE4_1__ -D__SSE4_2__ 

Альтернатива: исключение SSE и AES

$ echo "$SUNCC_CXXFLAGS" | nawk '!/SSE|AES/' ORS=' ' RS=' '
-D__PCLMUL__ ...

Сохранение параметров, соответствующих SSE или sse

$ SUNCC_CXXFLAGS="-D__SSE2__ -D__SSE3__ -D__SSSE3__ -D__SSE4_1__ -D__SSE4_2__ -D__AES__ -D__PCLMUL__ -xarch=sse3"
$ newFLAGS="$(echo "$SUNCC_CXXFLAGS" | awk '/SSE|sse/' ORS=' ' RS=' ')"
$ echo "$newFLAGS"
-D__SSE2__ -D__SSE3__ -D__SSSE3__ -D__SSE4_1__ -D__SSE4_2__ -xarch=sse3

. Изменение заключается в том, что мы заменили регулярное выражение / SSE / с / SSE | sse / . Поскольку вертикальная черта | означает логическое «ИЛИ», это соответствует либо SSE , либо sse .

3
16.03.2017, 15:46
2 ответа

У меня была эта проблема в системе с Wi-Fi-картой Atheros, которая не подходила достаточно быстро ни для systemd, ни для udhcpd. Диагностика чрезвычайно утомительна, поскольку задействовано несколько уровней абстракции. Вот что я сделал, чтобы это исправить:

Добавьте export _SYSTEMCTL_SKIP_REDIRECT=1вверху /etc/init.d/udhcpdпосле заголовка LSB. Это отключает один уровень абстракции systemd и позволяет сценарию запуска sysv работать более нормально.

Добавьте sleep 30в начало секции start)документа /etc/init.d/udhcpd. Это дает некоторое время для подключения интерфейса Wi-Fi перед запуском DHCP-сервера. В противном случае он просто тихо выйдет.

Когда он заработает, вы можете уменьшить время сна.

1
27.01.2020, 21:30

У меня была такая же проблема с Wi-Fi-картой Atheros, связанной с мостом, сервер udhcpd работал на br0. udhcpd, кажется, запускается до появления br0. Мое решение состояло в том, чтобы указать в /etc/default/udhcpd DHCPD _ENABLED значение «нет» и добавить следующую сетевую конфигурацию в /etc/network/interfaces для br0:

    post-up /usr/sbin/udhcpd -S /etc/udhcpd.conf
0
27.01.2020, 21:30

Теги

Похожие вопросы