文章目录
情况:
基于VM17pro,Ubuntu22。刚创建完虚拟机
首先ping www.baidu.com 确定网络正常。
问题症状:Ubuntu命令正确显示查询不到软件包,网络正常却找不到软件包。
这是关于Ubuntu源的问题。
同时会出现这些问题:
包括但不限于:
- 下载仓库失败,请检查您的网络
- 没有release文件
- 连接xshell连接不上,下载ssh客户端时命令失败
- 任何命令只要需要下载更新软件包都查询不到软件包
1.更新源
都是源的问题,网上说在这里更新源,但是全部失败,同时其它软件是空白。
所以只能手动更新
> //首先 复制一个备用件
>cp /etc/apt/sources.list /etc/apt/sources.list.copy
>/编辑文件,通过 :%d 命令删除所有内容,然后复制粘贴源
>vi /etc/apt/sources.list
>
这里给个源的地址:Ubuntu清华源
ps:注意啊,系统版本和源是一 一对应的,不要混着来。
其实这里都知道这么做,但是我刚下的VM还没下载open-vm-tools无法从Windows复制黏贴,那这怎么更新源,当时脑袋抽了。其实只要从Ubuntu自带的浏览器搜索源就行了,然后利用 检查 查看源代码,从源代码找到对应源就可以复制粘贴
tips:
手动更新源后就不要动 软件和更新那个东西了,它会重载缓存改写source.list文件,然后我们又要修改source.list文件了
2.注意什么叫做系统版本
请看下面这段:
ISO 文件是一个安装介质,用于将 Ubuntu 安装到计算机上。当您使用 ISO 文件进行安装时,会选择要安装的 Ubuntu 版本。如果您选择了 Ubuntu 20.04 的 ISO 文件进行安装,那么安装完成后,您的系统版本就是 Ubuntu 20.04。
系统版本是指已安装的 Ubuntu 发行版的版本。无论您使用的 ISO 文件的版本是什么,一旦安装完成,系统的版本信息就不会自动更新。要升级或更改系统版本,您需要执行相应的升级或更新操作。
ISO不是系统版本,所谓的系统版本是利用ISO创建后,VM中Ubuntu的版本,当VM中Ubuntu创建后无论怎么更换ISO,版本不变。
所以即使我将iso的版本和源的版本一一对应起来,但是还是出现很多错误,因为这不是和系统版本对应的源。
要查看 Ubuntu 系统的版本信息,可以使用以下命令:
lsb_release -a
!!!大多数出现的依赖问题都是源的版本问题对应
包括不限于:
- 下载SSH客户端出现依赖错误,不能满足的依赖关系
- 下载libc6-dev时下列的软件包有不能满足的依赖关系:
libc6-dev : 依赖: libc6 (= 2.23-0ubuntu3) 但是 2.23-0ubuntu10 正要被安装
E: 无法安装的软件包- 软件包有未满足的依赖关系:
libc6-dev : 依赖: libc6 (= 2.35-0ubuntu3.4) 但是 2.36-0ubuntu4 正要被安装
依赖: libc-dev-bin (= 2.35-0ubuntu3.4)
依赖: libcrypt-dev 但是它将不会被安装
依赖: libtirpc-dev 但是它将不会被安装
依赖: libnsl-dev 但是它将不会被安装
libc6-i386 : 依赖: libc6 (= 2.35-0ubuntu3.4) 但是 2.36-0ubuntu4 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。- E: 无法安装的软件包
tips:
一个处理依赖问题的命令:sudo aptitude install <软件包名称>