【错误总结】Ubuntu系统中执行 sudo apt-get update报错

Ubuntu系统中执行 sudo apt-get update报错

在执行 sudo apt-get install 安装新软件包或升级现有软件包之前,通常会建议先运行 sudo apt-get update,以确保你安装的是最新版本。
但是往往敲完sudo apt-get update命令,会出现超时一段时间后报错结束的问题。

命令行描述

  • sudo是 Debian 和 Ubuntu 系统上用于包管理的一个工具,而其他 Linux 发行版可能使用不同的包管理工具(如 yum、zypper等)。
  • update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

升级sudo报错并解决

输入升级sudo命令后,

复制代码
sudo apt-get update

错误描述

出现以下错误,

报错提示:

复制代码
E: Some index files failed to download. They have been ignored, or old ones used instead.
E:一些索引文件下载失败。他们要么被忽略,要么使用旧的索引文件。

原因分析: 网络原因,主要是底下这两种原因导致的:

  • 系统网络问题;【本问题解决方案】
  • ubuntu18.04 自带的源/etc/apt/sources.list有问题;

错误解决

原因1:系统网络问题

解决方案: 若为系统网络问题,则需检查DNS配置

(1)Ubuntu系统中终端查看DNS命令:

复制代码
sudo cat /etc/resolv.conf

如下:

复制代码
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0 trust-ad
search localdomain

(2)添加Google 提供的公共 DNS 服务器的 IP 地址 8.8.8.8。

两种方式添加:

第一种:直接在 /etc/resolv.conf 文件后面追加命令:

复制代码
echo "nameserver 8.8.8.8" >> /etc/resolv.conf

第二种:修改文件 sudo vi /etc/resolv.conf,修改后的文件如下:

复制代码

弹出以下错误:

复制代码
E325: ATTENTION
Found a swap file by the name "/run/systemd/resolve/.stub-resolv.conf.swp"
          owned by: root   dated: 二 7月 30 20:34:38 2024
         file name: /etc/resolv.conf
          modified: YES
         user name: root   host name: test-virtual-machine
        process ID: 10007
While opening file "/etc/resolv.conf"
             dated: 二 7月 30 20:24:17 2024

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/resolv.conf"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/run/systemd/resolve/.stub-re
solv.conf.swp"
    to avoid this message.
"/etc/resolv.conf" 23 lines, 930 bytes

出现原因为:异常退出终端时,

原因2:设置清华源后/etc/apt/sources.list不匹配

Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。

1、备份:

复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

2、替换sources.list内容

复制代码
sudo gedit /etc/apt/sources.list

打开文件,如下:

根据清华大学开源软件镜像站,替换内容:

更换后,文件内容如下:

3、更新,输入以下指令

复制代码
sudo apt-get update

终端界面如下:

更新出错,界面如下:

复制代码
W: Failed to fetch https:/ /mirrors. tuna. ts inghua . edu . cn/ubuntu/dists/noble/InRelease Temporary failure resolving ' mirrors. tuna. tsinghua . edu.cn'
W: Failed to fetch https : //mirrors . tuna . tsinghua . edu . cn/ubuntu/dists /noble - updates/InRelease Temporary failure resolving ' mirrors. tuna. tsinghua . edu.cn'
W: Failed to fetch https : //mirrors . tuna . tsinghua . edu . cn/ubuntu/dists /noble - backports/ InRelease Temporary failure resolving ' mirrors. tuna. tsinghua. edu. cn '
W: Failed to fetch http: //security . ubuntu. com/ ubuntu/dists/noble- security/InRelease Temporary failure resolving ' security . ubuntu. com '
W: Some index files failed to download. They have been ignored, or old ones used instead.

原因3:ubuntu自带的源/etc/apt/sources.list有问题

解决方案:替换源/etc/apt/sources.list

(1)备份源列表

Ubuntu配置的默认源并不是国内的服务器,下载更新软件都比较慢。

复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

(2)打开 /etc/apt/sources.list 文件修改

(3)在上面打开的文件开头添加(阿里源)就行

apt-get update成功log

参考

1、CSDN博客-Ubuntu 18.04系统中执行 sudo apt-get update 报错【总结版】【命令行解决】

2、CSDN博客-ubuntu16.04更新清华源并且sudo apt-get update出错的解决

相关推荐
不懂音乐的欣赏者9 小时前
Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!
linux·windows·ubuntu·ros·wsl·ros2·双系统
rit843249911 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
序属秋秋秋15 小时前
《Linux系统编程之开发工具》【实战:倒计时 + 进度条】
linux·运维·服务器·c语言·c++·ubuntu·系统编程
曾小蛙1 天前
【ROS2+深度相机】在Ubuntu安装realsense-ros
ubuntu·realsense-ros·ros2 humble·d435
Elendill1 天前
【Ubuntu】Ubuntu 服务器升级系统操作记录
运维·服务器·ubuntu
HIT_Weston1 天前
16、【Ubuntu】【VSCode】VSCode 断联问题分析:问题解决
linux·vscode·ubuntu
NON-JUDGMENTAL1 天前
在 Ubuntu 上安装 Ollama 并通过 Open WebUI 运行本地大语言模型
linux·ubuntu·语言模型
小白也想学C1 天前
ubuntu22.04下载QQ音乐闪退问题
ubuntu
海蓝可知天湛2 天前
Ubuntu24.10禁用该源...+vmware无法复制黏贴“天坑闭环”——从 DNS 诡异解析到 Ubuntu EOL 引发的 apt 404排除折
linux·ubuntu
HIT_Weston2 天前
23、【Ubuntu】【远程开发】内网穿透:SSH 反向隧道
linux·ubuntu·ssh