libc6:i386 和 libc6-i386 有什么区别

What's the difference between libc6:i386 and libc6-i386

我正在使用 Ubuntu 14.04.2 LTS \n \l

这是我安装的libc

$ dpkg --list | grep libc6
ii  libc6:amd64                                           2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: Shared libraries
ii  libc6-dbg:amd64                                       2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: detached debugging symbols
ii  libc6-dev:amd64                                       2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: Development Libraries and Header Files
ii  libc6-i386                                            2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: 32-bit shared libraries for AMD64
rc  libc6-x32                                             2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: X32 ABI Shared libraries for AMD64

但是当我这样做时 $ sudo apt-get install libdbus-1-3:i386

出现以下错误

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libdbus-1-3:i386 : Depends: libc6:i386 (>= 2.10) but it is not going to be installed
 unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
                        Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

我想知道 libc6:i386 和 libc6-i386 有什么区别?

libc6:i386 是 i386 架构的 libc 的 i386 版本 kernels/systems。这是针对为 i386 系统构建的 运行 包,如果您尝试在 amd64 系统上使用 i386 包,则需要它。这就是所谓的多架构。

libc6-i386是libc针对amd64系统的32位开发包。这不适用于 运行 软件,它用于编译和链接 32 位代码。