我对 Linux、Ubuntu 和这个论坛都很陌生。我在虚拟机中使用 Ubuntu 20.04 作为无线接入点,遇到了一个问题,最好用代码来解释:
约翰@HomeDT:~$ sudo 服务 dnsmasq 停止 [sudo] 约翰的密码: 约翰@HomeDT:~$ sudo 服务 dnsmasq 启动 dnsmasq.service 的作业失败,因为控制进程退出并显示错误代码。 有关详细信息,请参阅“systemctl status dnsmasq.service”和“journalctl -xe”。 约翰@HomeDT:~$ sudo systemctl status -l dnsmasq ●dnsmasq.service - dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器 已加载:已加载(/lib/systemd/system/dnsmasq.service;已启用;供应商预设:已启用) 积极的:失败的(结果:退出代码)自 2021-01-30 星期六 22:00:31 GMT;9 秒前 进程:7541 ExecStartPre=/usr/sbin/dnsmasq --test(代码=exited,状态=0/SUCCESS) 进程:7542 ExecStart=/etc/init.d/dnsmasq systemd-exec(代码=已退出,状态=3) 1 月 30 日 22:00:30 HomeDT systemd[1]: 正在启动 dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器... 1 月 30 日 22:00:30 HomeDT dnsmasq[7541]: dnsmasq: 语法检查正常。 1 月 30 日 22:00:31 HomeDT dnsmasq[7542]: dnsmasq: 无法打开日志 /tmp/dnsmasq.log: 权限被拒绝 1月30日 22:00:31 HomeDT dnsmasq[7542]:无法打开日志 /tmp/dnsmasq.log:权限被拒绝 1月30日 22:00:31 HomeDT dnsmasq[7542]:启动失败 1月30日 22:00:31 HomeDT systemd[1]:dnsmasq.service:控制进程已退出,代码=exited,状态=3/NOTIMPLEMENTED 1月30日 22:00:31 HomeDT systemd[1]:dnsmasq.service:失败,结果为“退出代码”。 1月30日 22:00:31 HomeDT systemd[1]:无法启动 dnsmasq(轻量级 DHCP 和缓存 DNS 服务器)。 约翰@HomeDT:~$ sudo mv /tmp/dnsmasq.log /tmp.dnsmasq.log.old 约翰@HomeDT:~$ sudo 服务 dnsmasq 启动 约翰@HomeDT:~$ sudo 服务 dnsmasq 状态 ●dnsmasq.service - dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器 已加载:已加载(/lib/systemd/system/dnsmasq.service;已启用;供应商预设:已启用) 积极的:活跃(运行)自 2021-01-30 星期六 22:01:02 GMT 起;13 秒前 进程:7776 ExecStartPre=/usr/sbin/dnsmasq --test(代码=exited,状态=0/SUCCESS) 进程:7777 ExecStart=/etc/init.d/dnsmasq systemd-exec(代码=exited,状态=0/SUCCESS) 进程:7788 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf(代码=exited,状态=0/SUCCESS) 主 PID:7787(dnsmasq) 任务:1(限制:4653) 内存:87.7M CGroup:/system.slice/dnsmasq.service └─7787 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -r /run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new -> 1 月 30 日 22:01:00 HomeDT systemd[1]: 正在启动 dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器... 1 月 30 日 22:01:00 HomeDT dnsmasq[7776]: dnsmasq: 语法检查正常。 1 月 30 日 22:01:02 HomeDT systemd[1]: 启动 dnsmasq - 一个轻量级 DHCP 和缓存 DNS 服务器。
dnsmasq 无法访问的这个文件由 dnsmasq 服务创建,并具有以下权限:1
我用 Google 搜索了所有我能想到的搜索词,但找不到任何相关内容。我尝试运行我在 askubuntu 上找到的各种命令来更改文件的权限(抱歉,我不记得它们是什么了),但我所做的似乎都无济于事。
有人知道我需要做什么来解决这个问题吗?
提前致谢
答案1
我知道这个答案来得晚了,但我找到了解决方案。只需删除日志文件并重新启动 dnsmasq
rm /tmp/dnsmasq.log
systemctl restart dnsmasq
将生成一个新的日志文件
编辑:上述修复只是暂时的;下次启动 dnsmasq 时,它将再次失败。为了解决这个问题,我使用 apt 卸载了它,并从源代码编译了它
apt remove dnsmasq
cd ~/Downloads
git clone git://thekelleys.org.uk/dnsmasq.git
cd dnsmasq
make install (as root)