随着时间的推移,我安装了许多不再需要的 i386 软件包。我该如何清理系统并只保留 amd64 软件包?
答案1
其他自动化解决方案很危险,而且并不总是有效(1),所以这里有另一种方法
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
或者
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(尝试始终只使用其中一种工具。由于在存在依赖性问题时 aptitude 效果会更好,所以我更喜欢它。)
好主意
dpkg --remove-architecture i386
有可能
dpkg --print-foreign-architectures
(1)其他命令也列出了名称中只有 i386 的软件包(尽管它们是用于 64 位架构的),正则表达式不起作用,dpkg 显示已经被删除但仍有配置文件的软件包(dpkg-l 命令 显示“rc”而不是“ii”作为状态)。
答案2
我对所有 32 位软件包进行了如下处理:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
答案3
如果它们不妨碍你,我就把它们留在原处。
如果你坚持要删除,使用dpkg -l | grep i386
创建 i386 软件包列表。你可以在之后删除它们仔细检查与类似的东西sudo apt-get purge <package-name>
。
答案4
如果有人想知道,有一种更明智、更优雅的方法可以做到这一点。上一个答案希望做同样的事情,但搜索失败了,因为架构实际上不是包名称的一部分,除非在特殊情况下。
以 root 身份(或使用 sudo)运行:
aptitude remove ~i~ri386
如果你还没有使用过 aptitude 而不是 apt-get,那就试试吧。它真的很棒。你可以找到 aptitude 的搜索词列表这里。