Dim*_*las 7 resolv.conf alpine-linux
有时当我运行命令时:
sudo apk update && sudo apk upgrade
Run Code Online (Sandbox Code Playgroud)
即使连接到互联网,Alpine linux 也无法更新软件包。但是,如果我这样做了,sudo su "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"
我会设法下载它们。但是这个解决方案:
/etc/resolv.conf
会被自己覆盖。我怎样才能有一个更永久的解决方案?
tl;博士
使用文本编辑器打开文件/etc/udhcpc/udhcpc.conf。
如果文件丢失,您只需创建它(可能还有它的包含文件夹)。
追加行
RESOLV_CONF=no
Run Code Online (Sandbox Code Playgroud)完毕。
在这里找到:https : //wiki.alpinelinux.org/wiki/Udhcpc
在我的情况下,接受的答案并不令人满意
我确信有更多关于如何让 dhclient 替换东西而不是预先添加东西的说明,但是对于像阻止 DHCP根本替换/etc/resolv.conf这样简单的事情来说,这需要太多的研究和头痛。
您可以通过安装dhclient
软件包来解决问题。最后一次通过运行来启用 Google 的 DNS 服务器:
sudo su "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"
Run Code Online (Sandbox Code Playgroud)
然后运行这个命令组合:
sudo apk update && sudo apk upgrade && sudo apk add dhclient
Run Code Online (Sandbox Code Playgroud)
为了获得新的软件包并安装dhclient
. 然后配置/etc/dhcp/dhclient.conf
并放置以下内容:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;
Run Code Online (Sandbox Code Playgroud)
并重新启动网络:
sudo rc-service networking restart
Run Code Online (Sandbox Code Playgroud)
(可选)如果您运行,您可以确认它有效:
sudo reboot
Run Code Online (Sandbox Code Playgroud)
无论哪种情况,您都可以通过 ping google 确认 dns 已解析。
ping google.com
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15043 次 |
最近记录: |