我有一台 AMD64 系统,没有任何 i386 多架构软件包。成功升级到 12.10 后,aptitude 似乎想要安装一些软件包,但我不知道为什么:
$ sudo aptitude safe-upgrade
Resolving dependencies...
The following NEW packages will be installed:
gcc-4.7-base:i386{a} libarmadillo3{a} libboost-date-time1.49-dev{a} libboost-serialization1.49-dev{a}
libboost-serialization1.49.0{a} libboost-thread1.49-dev{a} libboost1.49-dev{a} libc6:i386{a} libgcc1:i386{a}
libgdal1{a} libhdf5-7{a} libltdl7:i386{a} libnetcdfc7{a} libodbc1:i386{a} libreadline6:i386{a}
libtinfo5:i386{a} odbcinst1debian2:i386{a} unixodbc:i386{a}
我问,为什么是 libc6:i386?
$ aptitude why libc6:i386
p icoutils:i386 Provides icoutils
p icoutils:i386 Depends libc6:i386 (>= 2.8)
... 好吧,但是为什么是 icoutils:i386?
$ aptitude why icoutils:i386
p icoutils:i386 Provides icoutils
但是我已经有了 AMD64 版本的 icoutils:
$ aptitude search icoutils
i icoutils - Create and extract MS Windows icons and cursors
p icoutils:i386 - Create and extract MS Windows icons and cursors
最近一些多架构行为是否发生了变化,或者我只是忽略了一些东西?
附录:从 gcc-4.7-base:i386 向下追踪,我被引导到 qdbus:i386,它可以安装,因为它提供了 qdbus... 我已经有了。
答案1
这样做dpkg --remove-architecture i386
似乎解决了我的问题。我本来就没有任何 i386 软件包。对于那些有 i386 软件包的人来说,这个解决方案可能行不通。