随着时间的推移,我安装了许多不再需要的i386软件包。我该如何清理系统并只保留amd64软件包?
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
或者
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
dpkg --remove-architecture i386
dpkg --print-foreign-architectures
awk
,也可以将grep
调用去掉。此外,最好使用$()
代替反引号。我刚刚根据你给出的命令,使用了下面的命令来卸载我的i386软件包:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
- scysudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
来检查包是否仍然存在时,有什么想法吗?此外,对于先前的评论和我的猜测与shell脚本技巧有关,点个赞。 - Ismail Marmoushsudo dpkg --remove-architecture i386
来完成。 - Serge Stroobandtdpkg -l | grep i386
命令创建一个i386软件包列表。在仔细检查后,你可以使用类似sudo apt-get purge <package-name>
的命令来删除这些软件包。apt-get purge <package-name>
应该仍然有效。 - Eliah Kagandpkg -l | grep amd64
之后,我在我的列表中得到了一个i386的软件包,它是amd64-microcode 3.20160316.3 i386
。我认为grep模式中的冒号是重要的!(dpkg -l | grep ":amd64"
) - Yunusapt-get purge ".*:<arch>"
,对于i386
来说,它看起来是这样的:sudo apt-get purge ".*:i386"
sudo dpkg --remove-architecture i386
aptitude remove ~i~ri386
sudo apt-get remove "^.*:i386$"
:i386"
结尾的软件包,这是所有i386架构Debian软件包的标准命名约定。sudo apt-get purge .*:i386
- Antonios Hadjigeorgalis