当前位置: 首页 > article >正文

Linux软件包循环依赖解决 彻底删除i386架构 更新软件源

0.问题

之前为了wine和intel核显驱动加了32位的库,现在每次apt upgrade更新都被循环依赖弄得不堪其扰,apt --fix-broken install解决缺失都循环报错寸步难行,忍无可忍、

而且一看全是i386的依赖,这32位我不用也罢!全给我死!!!

(写博客的时候已经解决了,bash里日志已经被刷没,所以图是网上找的一张一样情况的,意会一下)

 

1.解决循环依赖 

 使用dpkg --purge --force-all 命令删除所有冲突软件包

        比如我显示libegl1-mesa-dev冲突,那就按照提示把出问题的包干了(你清楚并确认你到底在干什么要干什么的前提下)循环多次,直到最后没有一个报错

dpkg --purge --force-all <软件包>

2.0 删除i386架构先行踩坑(可跳过)

尝试直接删除 i386架构,报错

dpkg --remove-architecture i386

    dpkg: 错误: 无法移除体系结构 i386 ,当前它仍被数据库使用。

匹配386包删除,报错无法删除基础软件包

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`


【警告】:下列基础软件包将被卸载。
请勿尝试,除非您确实知道您在做什么!
  libgcc-s1:i386 gcc-14-base:i386 (是由于 libgcc-s1:i386) libc6:i386 (是由于 libgcc-s1:i386)
升级了 0 个软件包,新安装了 0 个软件包,要卸载 254 个软件包,有 29 个软件包未被升级。
有 10 个软件包没有被完全安装或卸载。
解压缩后将会空出 1,350 MB 的空间。
E: 不允许移除系统必需的关键软件包。这么做可能损坏系统。

​​​​​​​

2.1 删除i386架构

既然系统打死不让删除三个基础软件包,那就修改awk,排除匹配这三个基础软件包

(你的冲突基础包可能不一样,所以下面会解释命令的作用,方便你按照自己需求修改

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}' | awk '!/libgcc-s1/{print $1}' | awk '!/libc6/{print $1}' | awk '!/gcc-14-base/{print $1}'`

# 先查询dpkg包, | 管道符号交给awk筛选
# awk '/i386/{print $1}' 筛选包含i386, | 管道符号再次交给下一级awk筛选
# awk '!/gcc-14-base/{print $1}' 筛选不包含gcc-14-base

# 由于dpkg查询与筛选都写在 `  ` 命令执行区域内,所以刷选出的软件包最后交给最前的 apt-get remove --purge 做删除

删除普通i386包后 使用dpkg强力删除剩余的三个基础软件包

dpkg --get-selections | awk '/i386/{print $1}' #查找还有哪些386包

dpkg --purge --force-all libgcc-s1:i386
dpkg --purge --force-all gcc-14-base:i386
dpkg --purge --force-all libc6:i386

现在就可以删除386了

dpkg --remove-architecture i386

3. 更改软件源

更改软件源文件配置添加阿里云源

讨厌的循环依赖和i386都让他爪巴了,顺便更新一下软件源,因为我发现很多包都不太齐拉不了

原先软件源存在/etc/apt/sources.list,Ubuntu新版本现已更换新路径为/etc/apt/sources.list.d/ubuntu.sources

vim /etc/apt/sources.list.d/ubuntu.sources

    替换 http://archive.ubuntu.com/   →   https://mirrors.aliyun.com/

(这里我直接复制了第一段到第三段,修改了URL) 

进行软件更新

apt autoremove
#删除不用包

apt update
apt upgrade
#更新源 更新软件


http://www.kler.cn/a/302829.html

相关文章:

  • 神仙级网络安全入门教程(非常详细),从零基础入门到精通,从看这篇开始!
  • 百度搜索AI探索版多线程批量生成TXT原创文章软件-可生成3种类型文章
  • 论文翻译 | The Capacity for Moral Self-Correction in Large Language Models
  • 设计模式之工厂模式,但是宝可梦
  • DIP switch是什么?
  • [Linux] Linux信号捕捉
  • nginx_shell脚本扩展配置虚拟主机三种方式
  • 为什么np.arrange(0.97,3.0,0.01)最后一个值是3.0018,大于3
  • Qt-常用控件(2)-按钮类和显示类
  • [概率论] 随机变量的分布函数 (一)
  • Spring Boot项目更改项目名称
  • 亲测可用导航网站源码分享 – 幽络源
  • Rust的常量
  • 云微客AI文案编写,有手就能出“爆款”
  • 【全网唯一中文】bt回测框架中文文档,不是backtrader!是bt
  • win11 MySQL的坑
  • Machine Learning: A Probabilistic Perspective 机器学习:概率视角 PDF免费分享
  • 手机TF卡格式化后数据恢复:方法、挑战与预防措施
  • 【Hot100】LeetCode—62. 不同路径
  • Flask中的上下文(Context)
  • apache文件共享和访问控制
  • 深入理解 Milvus:新一代向量数据库的基础技术与实战指南
  • Linux系统上Oracle12C Release 2 (12.2)打补丁
  • 【Python机器学习】长短期记忆网络(LSTM)
  • 在 Debian 12 上安装中文五笔输入法
  • Zabbix企业级应用案列