如何在 Linux 下关闭 i386 架构

目录

  • 前言
  • 开启和关闭i386
    • 开启i386
    • 关闭i386
      • 卸载所有32位应用
      • 软件包之间的循环依赖
  • 总结


本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。
因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修改本段文字。
违者必究,谢谢配合。
个人主页:blog.csdn.net/jzwalliser

前言

前面为了安装Wine QQ,所以在Zorin OS(Linux发行版,基于Ubuntu 20)上开启了i386(就是32位)架构,以支持32位应用的运行。但后来,我发现软件不能正常安装及卸载了。解铃还须系铃人,既然是开启了i386架构所致,那么我们就把它给关了。
在这里插入图片描述

开启和关闭i386

开启i386

一行命令即可开启对i386的支持。在终端中输入:sudo dpkg --add-architecture i386即可。

关闭i386

当你想关掉i386,你会发现根本不行。输入sudo dpkg --remove-architecture i386后,终端提示:dpkg: 错误: 无法移除体系结构 i386 ,当前它仍被数据库使用

卸载所有32位应用

为什么会说“仍被数据库使用”呢?因为系统中安装了32位应用,正是它们阻止了对i386的关闭。所以,需要卸载所有32位应用。输入命令:

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

这时候,如果在终端内出现大量的“正在卸载”字样后,那就恭喜!最后再输入一行命令:

$ sudo dpkg --remove-architecture i386

然后就大功告成啦!

软件包之间的循环依赖

但是,有的时候会出现一个恶心的情况:软件包之间相互依赖。软件A依赖B,B又依赖C,C又依赖A,于是,根本无法卸载软件。这时候,我们就要强制卸载软件以破坏依赖链,然后就可以按照上面的步骤正常卸载了。
在这里插入图片描述
对于因依赖关系而无法卸载的软件包,我们使用dpkg卸载。这里以卸载“deepin-wine-helper”为例:

$ sudo dpkg --purge --force-all deepin-wine-helper
dpkg: deepin-wine-helper:i386:有依赖问题,但是如您所愿,将继续卸载:
 spark-dwine-helper 依赖于 deepin-wine-helper (>= 5.1).

(正在读取数据库 ... 系统当前共安装有 360652 个文件和目录。)
正在卸载 deepin-wine-helper:i386 (5.1.43-1) ...
正在清除 deepin-wine-helper:i386 (5.1.43-1) 的配置文件 ...
正在处理用于 libc-bin (2.31-0ubuntu9.9) 的触发器 ...
/sbin/ldconfig.real: File /lib/libactivation.so is empty, not checked.

按照这个方法,把所有因依赖关系而无法正常卸载的软件包全部强制卸载,最后再来两行命令:

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

然后,就OK啦!软件更新器又可以正常使用啦。
在这里插入图片描述


总结

以上就是关闭i386的步骤啦。一起来复习一下:

#如果有循环依赖,则使用dpkg --purge --force-all <软件包> 来卸载它。
$ sudo dpkg --purge --force-all deepin-wine-helper
#卸载所有32位应用
$ sudo apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`
#最后关闭i386架构
$ sudo dpkg --remove-architecture i386

您的点赞是我最大的动力!

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 您可以通过以下步骤查看glibc下的sysdeps/unix/sysv/linux/i386/sysdep.h文件: 1. 打开终端并进入glibc源代码目录。 2. 进入sysdeps/unix/sysv/linux/i386目录。 3. 使用文本编辑器(如vim、nano等)打开sysdep.h文件以查看其内容。 例如,在Ubuntu操作系统中,您可以使用以下命令查看此文件: ``` cd /usr/include/x86_64-linux-gnu/glibc-2.31/sysdeps/unix/sysv/linux/i386/ sudo nano sysdep.h ``` 这将使用nano文本编辑器打开sysdep.h文件,您可以通过向下滚动查看其内容。 ### 回答2: 要查看glibc下的sysdeps/unix/sysv/linux/i386/sysdep.h文件,首先需要进入glibc的源代码目录。可以通过以下步骤进行查看: 1. 打开终端,并进入glibc源代码所在的目录。例如,如果源代码存储在/home/user/glibc目录中,可以使用以下命令进入该目录: ``` cd /home/user/glibc ``` 2. 进入sysdeps/unix/sysv/linux/i386目录。可以使用以下命令进入该目录: ``` cd sysdeps/unix/sysv/linux/i386 ``` 3. 打开sysdep.h文件进行查看。可以使用文本编辑器(如gedit、vim等)打开该文件。例如,使用gedit可以使用以下命令打开sysdep.h文件: ``` gedit sysdep.h ``` 4. 在文本编辑器中,你可以查看和编辑sysdep.h文件的内容。该文件提供了与i386架构相关的系统调用相关的宏和函数定义。 需要注意的是,查看glibc源代码和相关文件可能需要系统管理员权限,因此可能需要在终端中使用sudo命令进行操作。此外,确保已经正确安装了glibc的源代码,否则可能无法找到所需的文件。 ### 回答3: 要查看Glibc下的sysdeps/unix/sysv/linux/i386/sysdep.h,可以按照以下步骤进行: 1. 首先,确保您已经安装了Glibc的源代码。您可以从Glibc的官方网站下载源代码包,并按照指示进行安装。 2. 打开终端,进入Glibc源代码的根目录。 3. 使用任意文本编辑器(例如vi、emacs等)打开sysdeps/unix/sysv/linux/i386/sysdep.h文件。您可以使用以下命令: ``` $ vi sysdeps/unix/sysv/linux/i386/sysdep.h ``` 4. 现在,您可以在编辑器中查看和编辑sysdep.h文件的内容了。您可以使用编辑器的上下方向键或搜索功能来查找特定的代码段或函数。 5. 完成对文件的查看和编辑后,您可以保存并关闭该文件。 请注意,以上步骤是基于您已经正确安装了Glibc的源代码,并且了解如何使用命令行或文本编辑器的前提下进行的。另外,sysdep.h文件位于Glibc源代码的特定目录中,因此确保您已经正确定位到该文件所在的目录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值