Linux001 | 我走过的弯路之二——Ubuntu 22.04 系统中 ‘Temporary failure resolving‘ 解决方案

1. 问题的发现

最早出现这个问题是我想要用 apt 安装 ccls 的时候出现的,即执行指令 sudo apt-get install cclssudo apt install ccls 时出现报错:Temporary failure resolving 'archive.ubuntu.com'

我们知道,出现这种报错信息大概率就是网络包管理器在提示用户没法正常从那个网站下载。首先大家需要检查一下自己的网卡是否配置正常。这一步通过在浏览器中打开百度即可实现。因此接下来我们假设虚拟机本身的网络没有问题。这时我们在终端中进行排查:输入ping www.baidu.com ,像小编当时就发现问题出在这里:DNS 没有配置。通常情况下,问题都是出在这里的。

2. 问题的解决(下面这一个 Section 可以先不要动手实践,真正的解决方案在后面)

那么接下来就要具体解决这一问题了。我们按 Ctrl+Alt+T 进入终端,编辑这个配置文件:vi /etc/resolv.conf

在这里插入图片描述
我们会发现,文件似乎是没有更改权限的(如果可以修改请跳过),因此还需要更改文件权限:
sudo chmod 777 /etc/resolv.conf。接下来就可修改文件内容为:

在这里插入图片描述
之后再下载便不会出错了。

然而,这一方法治标不治本。每次重启后这个文件就会被覆盖重写。

那么,难道要修改系统不能写这个文件吗?显然是不现实的。

3. 目前找到的最为靠谱的方法

使用 apt 安装 resolvconf

sudo apt-get install resolvconf

然后进入它的文件夹:

cd /etc/resolvconf/resolv.conf.d/

ls 查看目录后输出:

base  head  original  tail

修改 base 权限:

sudo chmod 777 base

进入后空空如也:
在这里插入图片描述
添加这样几行:

nameserver 114.114.114.114
nameserver 114.114.115.115

之后 :wq 退出,进一步防止文件被系统修改(这边因为用的是 resolvconf 包,所以是可以的):

sudo resolvconf -u

接下来就大功告成啦!重启试一下:
在这里插入图片描述
可见我们的更改被保存了!

4. 参考文献

传送门1

传送门2

传送门3

传送门4

如果对你有帮助的话就请点个赞吧!


欢迎大家关注我的博客!
我的 GitHub 账号: 欢迎 Fork + PR!
我的洛谷账号:这是我
我的洛谷团队:这是我的团队
欢迎大家关注我,并加入我的团队哦^ _ ^
### Ubuntu 22.04 中 `ping` 命令出现 "Temporary failure in name resolution" 的解决方案 #### 修改 DNS 配置文件 `/etc/resolv.conf` 当遇到域名解析失败的问题时,通常是因为系统的DNS配置不正确。可以通过修改`/etc/resolv.conf`来指定可靠的DNS服务器地址[^1]。 ```bash sudo nano /etc/resolv.conf ``` 在打开的文件中添加如下内容: ```plaintext nameserver 8.8.8.8 nameserver 8.8.4.4 ``` 保存并退出编辑器后尝试再次执行`ping`命令测试连接情况。 #### 更新 WSL 网络设置 对于WSL环境下运行的Ubuntu实例来说,有时需要更新其内部网络栈以适应主机的变化。可以尝试通过重启WSL服务来进行修复[^4]: ```powershell wsl --shutdown ``` 接着重新启动Ubuntu终端窗口。 #### 调整 Windows 主机上的网络适配器属性 如果上述方法未能解决问题,则可能是由于Windows端的网络配置影响到了WSL中的Linux系统。建议检查Windows操作系统的网络适配器属性,确保启用了“Microsoft QEMU Lightweight Filter”和“QEMU Bridge Helper”,这两个组件有助于改善虚拟化平台下的网络性能[^3]。 另外,在某些情况下调整Windows防火墙规则也可能有所帮助;具体做法是在控制面板里找到高级安全Windows Defender防火墙,允许应用程序或其他功能通信,并确保已勾选了与互联网访问有关的服务项。 #### 使用静态 IP 地址代替 DHCP 获取方式 考虑到动态分配IP可能会带来不稳定因素,考虑为Ubuntu设定固定的IPv4参数也是一个不错的选择。这涉及到编辑网卡接口的相关配置文件,一般位于`/etc/netplan/`目录下。 例如创建一个新的YAML格式配置文件: ```yaml network: version: 2 ethernets: eth0: dhcp4: no addresses: - 192.168.x.y/24 # 替换成实际可用范围内的固定ip gateway4: 192.168.x.1 nameservers: search: [mydomain, otherdomain] addresses: [8.8.8.8, 8.8.4.4] ``` 应用更改后的配置需运行以下指令使改动生效: ```bash sudo netplan apply ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值