Думаю, это одна из самых глупых командных строк, которые я когда-либо придумал:
$ find . -type l -name "Math*" -print0 |
xargs -0 -n 1 -IXXX find XXX/ -type f -name "*.tex" -print0 |
xargs -0 fgrep "word"
Math *
. снова найдите
на каждом найденном пути, ища файлы *. Tex
. xargs
должен использовать -n 1
для вызова find
с не более чем одним именем пути. Путь будет помещен в заполнитель XXX
. fgrep
(т.е. grep -F
, поскольку у нас есть фиксированная строка поиска) со строкой для найденных файлов. isc-dhcp-server
и hostapd
работают у меня (на debian sid), но мой интерфейс wlan определен в dhcpd.conf
внутри совместно используемой сети
. У меня также есть параметр широковещательный адрес
внутри определения подсети {...}
.
Попробуйте что-то вроде этого:
shared-network net_wlan0 {
subnet 10.10.0.0 netmask 255.255.255.0 {
authoritative;
range 10.10.0.2 10.10.0.16;
option broadcast-address 10.10.0.255;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 10.10.0.1;
}
}
У меня также есть следующее на моем / etc / default / isc-dhcp-server
:
INTERFACESv4="br0 br1 wlan0"
Это сообщает dhcpd, какие интерфейсы следует слушать, и в результате он работает с этими аргументами (обратите внимание на интерфейсы в конце командной строки).
# ps h -o cmd -C dhcpd
/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf br0 br1 wlan0
ПРИМЕЧАНИЕ: предыдущие версии пакета isc-dhcp-server
использовали переменную INTERFACES
, а не INTERFACESv4
. Это изменение произошло в феврале этого года. Согласно etckeeper
, моя последняя фиксация / etc / default / isc-dhcp-server
произошла 10 февраля 2016 г.
Я бы также рекомендовал запустить локальный кэширующий преобразователь DNS. (например, несвязанный
или dnsmasq
или один из нескольких других).Направьте его на DNS-серверы Google в качестве пересылки, но ИМО необходим локальный кеш. Также стоит прокси-сервер, такой как squid
. Как и локальный сервер NTP, все машины в вашей сети могут быть синхронизированы в одно и то же время.
Кстати, я использую ath9k
usb Wi-Fi NIC, при этом dhcpd также обслуживает две другие сети, eth0 и eth1 (на самом деле, для моих виртуальных машин подключено мостовое соединение как br0 и br1), но это не должно не имеет значения.
У меня были серьезные проблемы с попыткой заставить работать USB-карту на базе RTL 8192, в итоге я отказался от нее и купил AR9271:
0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Оба USB-устройства Wi-Fi были дешевыми, около 10-15 долларов каждое (тот же бренд, тот же производитель (TP-Link), другой набор микросхем), поэтому не стоило тратить слишком много времени на попытки заставить 8192 работать (ИМО, сетевая карта на основе 8192, вероятно, просто мусор, она даже не будет надежно работать в качестве клиента. начнет работать нормально, а затем разорвет соединение и зависнет ... нужно было удалить и снова вставить, прежде чем он снова заработает).
Наконец, я нашел решение. Возможно, некоторые из этих шагов избыточны, но мне все равно, потому что все , наконец, работает.
sudo ifconfig wlan0 up
(или wlan X в некоторых других случаях) subnet 10.10.0.0 netmask 255.255.255.0 {
interface wlan0;
range 10.10.0.2 10.10.0.16;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 10.10.0.1;
host wlan0 {
hardware ethernet 40:2c:f4:36:d4:16;
fixed-address 10.10.0.1;
}
}
В соответствии с вашим сообщением об ошибке "пожалуйста, пропишите объявление подсети в вашем файле dhcpd.conf для сегмента сети, к которому подключен интерфейс wlan0."
Это известная особенность/ограничение isc-dhcpd; существует необходимость обязательного определения блока сети/подсети основного интерфейса, на котором вы слушаете запросы DHCP.
Поскольку ваш интерфейс имеет адрес 10.10.0.1 и маску 255.255.255.0, добавьте в качестве первой подсети DHCP:
subnet 10.10.0.0 netmask 255.255.255.0 {
option routers 10.10.0.1
option subnet-mask 255.255.255.0;
}
Перезапустите демон DHCP, теперь он должен работать.