我使用 Yocto 构建了一个定制的 Linux 系统。它使用busybox。我几乎一切正常,但我无法拥有静态 dns 解析器地址,因为 /etc/resolv.conf 在每次启动时都会被删除,并替换为 /var/run/resolv.conf 的链接。
我思考这是由名为 /etc/volatile.cache 的脚本引起的。我已经删除了这个脚本,但我认为另一个脚本 /etc/init.d/populate-volatile.sh 每次都会重新创建它。
当然,我可以添加自己的脚本,例如 /etc/rc5.d/S90set-resolv ,它将一个值写入 resolv.conf,但这似乎是一种极其奇怪的方法。
有人知道这是怎么回事吗?在这种情况下设置名称服务器地址的正确方法是什么?
答案1
顺便说一句,事情进展得不太顺利,甚至不是朋友,但你应该在离开之前好好看看它,因此将“chattr + i”文件应用到系统中,我认为我们应该寻找解决问题的方法有时,这些事情非常简单,就在我们面前,我们无法填写,因为我们很紧张,想要将我们的意志强加给系统,有时,一个小脚本在网络中执行得当时甚至会产生奇迹,但显然你不希望这样顺便说一下,我不是或正在学习成为一名系统管理员,抱歉!但是,如果您宁愿紧张并在系统上执行这些无意义的把戏,好吧,毕竟它不在我的系统上,很抱歉让您生气!而不是这样做!要使用“chattr”命令配置,请编辑“interfaces”文件(通常位于 /etc/network/ 文件夹中),并使用所需的名称服务器 IP 添加/更改 dns-nameserver 选项。如果这些选项不在文件中,您可以将它们添加为小示例:
-样本:只需编辑“/etc/network/interfaces”文件。
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
dns-nameserver 192.168.1.1 <= Your IP address here.
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
-保存文件并重新启动网络...
在您的情况下,您只想设置服务器的 IP 地址,只需将以下内容设置到接口文件的末尾。
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
这是此处使用的示例/样本。
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
address 192.168.1.4/24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.4
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
这只是一个小示例,以便您更好地了解系统如何在每次启动时创建 resvol.conf 文件。
如果您只想在 revsolv.conf 文件中设置 DNS 服务器的地址,只需在其余部分中设置 dns-nameserver 您可以保持原样,不需要更改,只需设置“dns-nameserver”并保存,启动,您将看到从现在起您的文件 resolv.conf 将始终附带您在此文件中定义的 dns-nameserver。