dnsmasq 无法识别的命令

dnsmasq 无法识别的命令

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

service dnsmasq restart
dnsmasq: unrecognized service

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

另外,如果我输入 dnsmasq restart 我会得到

dnsmasq restart
dnsmasq: junk found in command line

我尝试过自动删除并重新安装 dnsmasq。我在 Google 上搜索了这两种解决方法,但未找到任何解决方法。有人能帮忙吗?

谢谢!

答案1

该错误是由于软件包存在问题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) 分隔

参考

相关内容