просто выразить то, что должно быть сделано:
1 Для каждой строки, между которой включают "$
и "
удалите все ,
2 удаляют окружение "$
и "
Это - sed выражения. При использовании его на полотне команды, необходимо заключить его в кавычки соответственно. Более просто поместить его в файл, например, command.sed, и назвать его
sed -f command.sed data.csv
Это - программа, которая реализует эти два шага:
:repeat
s/"\$\([^,"]*\),/"$\1/g
t repeat
s/"\$\([^"]*\)"/\1/g
Этот документ помог мне решить проблему.
она перечислит вам все ошибки, вы можете исправить их в файле [1126097]hostapd.conf[1126098]
ls {file,otherfile}*.txt
вы должны настроить:
sudo nano /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Найдите строку выше и сообщите конфигурации по умолчанию, где находится ваш.
Вам нужно установить DAEMON_CONF
в /etc/init.d/hostpad
.
Это действительно совершенно очевидно, если вы посмотрите в /etc/init.d/hostapd
,
По умолчанию выглядит по умолчанию:
...
14 PATH=/sbin:/bin:/usr/sbin:/usr/bin
15 DAEMON_SBIN=/usr/sbin/hostapd
16 DAEMON_DEFS=/etc/default/hostapd
17 DAEMON_CONF=
18 NAME=hostapd
19 DESC="advanced IEEE 802.11 management"
20 PIDFILE=/var/run/hostapd.pid
21
22 [ -x "$DAEMON_SBIN" ] || exit 0
23 [ -s "$DAEMON_DEFS" ] && . /etc/default/hostapd
24 [ -n "$DAEMON_CONF" ] || exit 0
...
, потому что DAEMON_CONF
пуст для начала, сценарий выходит в строку 24. Слишком плохой, нет сообщения об ошибке или что-либо не существует. Изменение строки 17 на
DAEMON_CONF=/etc/hostapd/hostapd.conf
и поместить конфигурацию в указанный файл, работал для меня.
Я только что столкнулся с этой проблемой. По умолчанию на моем распианском хрипе запущен хостапд как S01 в сервисах. Это делает его запущенным до ifplugd
, который конфигурирует eth0 и wlan0. Причина этого в том, что S01h[ostapd]
< S01i[fplugd]
, так как скрипты отсортированы в алфавитном порядке для выполнения.
Я думаю, что мосту трудно настроиться раньше всего. Перемещение его в S05 тоже не помогло, поэтому я переместил его в rc.local, который после всего остального выполняется "некоторое время". Я также удалил все ссылки с rc[2-5].d на hostapd
. Я думаю, что S05 все еще слишком рано, чтобы dhclient закончил должным образом. Я не уверен, что это соответствует лучшей практике. Похоже, что сейчас происходит то, что еслиplugd не сможет поднять br0
, но eth0
, то он будет более сговорчивым. Я не уверен, почему wpa_supplicant здесь не работает, вероятно, потому что wlan0
уже обещано br0
. Его все равно нужно отключить. Позже hostapd снова пытается поднять br0
и добивается успеха, так как eth0
в порядке и никто не взял под контроль wlan0
.
Существует другая возможная конфигурация, в которой можно указать опцию post-up
/pre-down
для br0
в /etc/network/interfaces
(man-интерфейсы). Оттуда можно запускать/останавливать хостапд
. Правда, мне не удалось заставить его работать, но это выглядит гораздо более чистым решением.
Это было проблемой и для меня, и, очевидно, все еще существует. Я исправил ошибки, удалив hostapd из /etc/rc2.d/ и /etc/networking/if-pre-up.d/
/ etc / network / interfaces теперь управляет hostapd ..
iface wlan0 inet static
post-up /usr/sbin/hostapd -B /etc/hostapd/hostapd.conf
post-up service isc-dhcp-server restart
address 192.168.10.1
netmask 255.255.255.0
Перезагрузка подтвердила, что открывает интерфейс; и станции подключаются нормально. Раньше мне приходилось использовать ssh и останавливать isc и hostapd и делать то, что теперь делает post-up (в этот приказ)
Я думаю, проблема в ваших цитатах в строке 11 / etc / default / hostapd
:
”/etc/hostapd/hostapd.conf”
Здесь следует читать:
"/etc/hostapd/hostapd.conf"
Ваше сообщение действительно помогло мне решить мою проблему, поэтому спасибо!
На Arch linux, где systemd кажется нормой по сравнению с rc/init.d, у меня была похожая проблема. Этот ответ отличается от других следующим образом :
Конфигурационный файл находится не в /etc/init.d
, а где-то в /etc/systemd/system/
. А именно /etc/systemd/system/multi-user.target.wants/hostapd
, в моем случае, где строка ExecStart
указывает на используемый файл конфигурации.
Важно, что этот конфигурационный файл также указывает на используемый двоичный файл, а именно /usr/bin/hostapd
.
Затем нужно проверить, какой файл hostapd вы выполняете. Выполнение whereis
покажет вам, какие версии доступны и где они расположены. Таким образом
whereis hostapd
получается что-то вроде
/sbin/hostapd /usr/bin/hostapd /usr/local/bin/hostapd
Проверяем каждую из них, систематически вызывая PATH/hostapd /etc/hostapd/hostapd.conf
для каждой PATH
определяет, какую из них вы действительно вызываете, а какую вызывает systemd. Опять же, в моем случае последний путь - это то, что я вызывал, когда вводил sudo hostapd /etc/hostapd/hostapd.conf
. Второй путь - это то, что вызывала systemd.
Фокус в том, чтобы скопировать двоичный файл из /usr/bin/local
в /usr/bin
или указать systemd на рабочий hostapd. Я считаю, что первый вариант является более "безопасным".
sudo mv /usr/bin/hostapd /usr/bin hostapd.bkp # delete later as necessary
sudo cp /usr/local/bin/hostapd /usr/bin
Опять же, в моем случае бинарник под /usr/bin/local
появился в результате компиляции драйвера Realtek из исходников с их сайта, как описано здесь.
Спасибо Realtek за поддержку Linux.
Надеюсь, это поможет, не является специфическим для моей системы (Arch (Arm) Linux на Raspberry Pi B) и квалифицируется как подходящий ответ в соответствии с правилами UE.
Добавление 10 секунд сна в файл /etc/init.d/hostapd
решило проблему для меня.
1)sudo nano /etc/init.d/hostapd
2 )Добавьте sleep
в секцию start)
, как показано ниже
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
sleep 10
start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \
--pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null
log_end_msg "$?"
;;