Ubuntu出现"E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。"的正确解决姿势
如题
网上有许多方法都在教你用aptitude作为包管理工具,但是当我尝试安装aptitude的时候,发现出现了同样的错误
那没办法,找找其他的方法吧
于是我疯狂搜索,还用我的塑料英语看了好几篇StackOverflow,解决方法有手动下载deb包,更新内核,换源...
等等,换源?
本人的习惯是Linux装好之后直接手动修改/etc/apt/sources.list文件,将软件包下载源改为国内源,也没出过什么问题,但是问题在于,不同Ubuntu版本使用的软件源是不一样的!
那么问题就出现了,装的是20.04.4focal版,硬要去用16.04xenial版的软件源,不出问题才怪
正确的更换apt源的步骤如下:
1,查看版本号和代号
lsb_release -a
codename就是你的Ubuntu版本的代号
2,备份
养成改系统文件要备份的好习惯
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
3,修改sources.list
sudo nano /etc/apt/sources.list
将以下代码粘贴到文件中
deb http://mirrors.aliyun.com/ubuntu/ $Codename main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ $Codename-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ $Codename-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ $Codename-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ $Codename main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-backports main restricted universe
然后将$Codename替换为你刚才查到的版本代号
快捷键下面有写
另,本人是vim重度受害者,搞不懂为什么好多Linux教程都在让人用反人类的vim或者vi,明明有nano这样的更适合占电脑用户人群大多数的前Windows使用者的习惯的编辑器
4,更新apt缓存
sudo apt update