dnsmasq无法识别的命令

我正在尝试运行一个调用服务dnsmasq restart的脚本

service dnsmasq restart dnsmasq: unrecognized service 

无论我为dnsmasq调用什么,它都会给我“无法识别的服务”错误。

此外,如果我键入dnsmasq重启我得到

 dnsmasq restart dnsmasq: junk found in command line 

我尝试过自动移植并重新安装dnsmasq。 我用谷歌搜索了两个回复,没有找到任何修复。 有人可以帮忙吗?

谢谢!

该错误是包dns-root-data 。 DNSmasq不应该要求它,但它需要它。 跟着这些步骤:

 sudo apt-get purge dnsmasq sudo apt-get autoremove sudo apt-get install dnsmasq 

不要忘记将配置(如果有)重新插入/etc/dnsmasq.conf

参考


如果这不起作用 ,试试这个(至少在Debian 9和Raspian上工作)

 sudo nano /etc/init.d/dnsmasq 

在哪里读

 if [ -f $ROOT_DS ]; then 

注释掉下一行(将#添加到行的开头)并将其放在下面

 `DNSMASQ_OPTS="$DNSMASQ_OPTS `mawk -- '{ printf " --trust-anchor=.,%d,%d,%d,%s", $5, $6, $7, $8 }' $ROOT_DS`"` 

/usr/share/dns/root.ds的结构已更改。 这些字段以前只用空格分隔,现在用制表符分隔(\ t)

参考