1. 问题描述

使用 docker hub 官方 ubuntu 镜像,版本 22.04 LTS

# 查看 ubuntu 版本
cat /etc/lsb-release


进入清华软件镜像站,选择ubuntu。选择正确版本,对照上面查询结果的DISTRIB_DESCRIPTION,我的是22.04 LTS

按照清华源教程直接更换源,提示报错,无法完成更新,显示如图错误:

2. 原因分析

  1. docker hub 官方的 ubuntu 镜像极度精简,很多必要的软件包没有安装

3. 解决方法

  1. 分析更新失败原因,找到更新源之前需要安装的软件包
    可看出更新失败是缺少ca-certificates这个软件包
  2. 换回原版apt源,先安装必要的apt软件包
    经验教训: 更改所有的配置前都要做好备份,记录相关操作,不然哪次更改之后改挂了,那就真的挂了

    1. 进入 docker 容器中的交互式命令台,以便对容器中的 ubuntu 系统进行操作
      (个人感觉讲的比较好的docker教程)
      容器名my_ubuntu_02,使用bash作为命令台的 shell,容器名根据自己创建的容器修改

      docker exec -it my_ubuntu_02 /bin/bash
      
    2. 恢复之前的备份文件
      # docker 容器中的命令行默认使用 root 权限,以下指令均在容器中的 root 用户下执行
      # ubuntu 的 apt源配置文件:/etc/apt/sources.list# 备份操作:使用 cp 命令,复制原文件、保存到原来的目录下,并改名(添加 .bak 的后缀)
      cp /etc/apt/sources.list /etc/apt/sources.list.bak# 还原操作:使用 cp 命令,复制备份文件,并改回原配置文件的名称(去掉 .bak 后缀)
      # 还原操作相当于备份操作反过来
      cp /etc/apt/sources.list.bak /etc/apt/sources.list
      
    3. 使用原来的软件源安装ca-certificates这个软件包
      # 1. 清理 apt 软件源管理工具中原地址的缓存
      apt clean# 2. 更新 apt 的缓存
      apt-get update -y# 3. 安装 ca-certificates
      apt-get install -y ca-certificates# 4. (可选) 安装任意一款 文本编辑器,以方便接下来修改配置文件
      # Linux 常用文本编辑器:wim、nano、emacs
      apt-get install <上述任意一个文本编辑器名>
      # 如安装 nano
      apt-get install nano# 不安装也行,但要用 Linux 系统自带指令来修改文件
      # 个人建议:不建议安装,因为原来系统过于精简,不论安装哪个都需要附加大量的必要运行环境
      #          需要 100M + 的空间,让 docker 容器变得过于臃肿
      
  3. 再按照清华源的操作,更新软件源
    注意事项: docker hub 官方镜像中,像样的文本编辑器:vi、wim、nano 一个都没有,所以只能用系统指令来修改配置文件中的内容 或 在换回原来的源时安装上述任意一个文本编辑器(即上述第四点,可选部分)

    1. 备份当前配置文件

      # 使用 cp 命令:复制原文件、保存到原来的目录下,并改名(添加 .bak 的后缀)cp /etc/apt/sources.list /etc/apt/sources.list.bak
      
    2. 清空配置文件

      # 使用 echo 指令,配合输出重定向 >
      # 将空字符 "" 覆盖到配置文件 /etc/apt/sources.listecho "" > /etc/apt/sources.list
      
    3. 将清华源中的地址添加进入配置文件

      # 使用 echo 指令,配合输出重定向 >
      # 将上述红框部分的内容(不带 # 的语句--不是备注),追加到配置文件 /etc/apt/sources.list 中
      # 逐条执行以下语句echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse" >> /etc/apt/sources.list
      echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list
      echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list
      echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /etc/apt/sources.list
      
    4. 使用apt指令,更新软件源

      # 1. 清理 apt 软件源管理工具中原地址的缓存
      apt clean# 2. 更新 apt 的缓存
      apt-get update
      
    5. (可选)测试换源是否成功
      下载安装软件包curl,并查看 curl 是否可顺利运行
      curl是 Linux 平台广泛使用的传输工具,可利用 http 协议实现文件上传/下载

      # 1. 安装 curl
      apt-get install curl# 2. 查看 curl版本信息
      curl -V
      

      curl版本输出结果:

ubuntu官方容器更换清华apt源相关推荐

  1. 高版本Ubuntu(如22.02)修改apt源,快速安装低版本gcc/g++

    Ubuntu不同版本默认apt install gcc安装的gcc和g++版本不同,如Ubuntu22.04默认安装gcc/g++为11版本,高版本Ubuntu无法直接通过apt install gc ...

  2. Python更换清华的源

    python安装一些依赖包时,有些会下载很慢 pip install packagename conda install packagename 假如上面两种方式安装都很慢,就可以考虑用清华的源 方法 ...

  3. 树莓派4b官方系统更换清华源

    清华源官方查询地址:raspbian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 1.在命令行窗口内输入 sudo nano /etc/ ...

  4. Ubuntu 20.04更换清华源

    修改源之前提示大家先查看版本名,ubuntu20.04对应的是"focal".本篇中的源只适用于20.04,也就是查出来的是"focal". "xen ...

  5. Ubuntu 14.04 更换阿里云源

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份 sudo vim /etc/apt/sources.list #修改 sudo  ...

  6. Anaconda更换清华Tuna源

    1.Tuna官方Anaconda网站教程,参考此教程做一份详细教程 2.Windows在Prompt输入如下指令 conda config --set show_channel_urls yes 会在 ...

  7. pip速度慢,更换清华镜像源试试?

    控制台运行 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 成功后

  8. Ubuntu 更换清华大学镜像源

    Ubuntu 更换镜像源 通常我们使用ubunntu的时候总是出现网络过慢导致的更新下载失败等问题. Ubuntu默认的服务器是在国外,自然连接就很慢. 这里我们更换成国内的镜像源,这里使用清华镜像源 ...

  9. Ubuntu 更改apt 源

    在Ubuntu系统中,维护着一个源列表,源列表里面存放着一些网址信息,每一条网址指向一个源服务器,我们需要的软件就存放在这些源服务器上. Ubuntu系统默认使用的apt源是国外的源服务器,这导致我们 ...

最新文章

  1. 用eclipse在windows下搭建cocos2d-x开发环境
  2. 【转载】用 PHP V5 开发多任务应用程序
  3. IP地址基础网络知识—Vecloud微云
  4. CodeForces - 817F Graph and String(dfs判二分图)
  5. 关于图片延迟加载的解决方案(针对移动端)
  6. java简单投票系统_JSP实现的简单Web投票程序代码
  7. 洛谷P2622 关灯问题II【状压dp+bfs】
  8. 2021重庆高考成绩名次排名查询,重庆高考排名对应大学-重庆高考位次大学(2021年理科)...
  9. C++自学08:类型推断(auto/typeid)
  10. Redis的持久化——AOF
  11. S3C2440 LCD驱动(FrameBuffer)实例开发一(转)
  12. 大学生网课查题公众号搭建使用
  13. 基于 Direct3D 电子海图区域绘制方法
  14. 网络1711班 C语言第七次作业批改总结
  15. ape 音乐文件格式介绍
  16. Echarts炫酷配置
  17. 中国唯一的图灵奖获得者姚期智,在清华开设的“姚班”有哪些 AI 名徒?
  18. LSB文本水印的嵌入与提取
  19. 华为云点学堂为你揭开DevOps转型的秘密
  20. linux里 read函数用法

热门文章

  1. 聊聊Kafka(三)Kafka消费者与消费组
  2. 字符串乱码问题的解决
  3. C++实例(九)工具栏和状态栏
  4. canvas生成图片toDataUrl报错
  5. os.listdir()的使用教程
  6. Word控件Spire.Doc 【页面背景】教程(7) ;在 C# 中为 word 文档设置图像背景
  7. 抠头发,利用快速选择工具快速抠出长发
  8. html中文编码显示乱码
  9. 最全的python就业前景分析
  10. [原创] 简单易学的溶图教程