![如何重新安装破坏了 libgcc1 的 libgcc1:i386?](https://linux22.com/image/980080/%E5%A6%82%E4%BD%95%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85%E7%A0%B4%E5%9D%8F%E4%BA%86%20libgcc1%20%E7%9A%84%20libgcc1%3Ai386%EF%BC%9F.png)
所以,我做了一件非常愚蠢的事情。我将 ubuntu-toolchain-r 存储库添加到存储库中,该存储库在一段时间前提供了 libgcc1:i386 等内容。一段时间以来,i386 软件包一直显示为在升级期间被保留。我忽略了它们,因为它们是相当重要的库,但今天我决定对其进行一些研究。
我偶然发现了这个“以下包裹已被保留:”为什么以及我该如何解决?我开始使用 aptitude gui 方法,但没有意识到它基本上会做同样的事情,apt-get dist upgrade
因为 gui 挂起了一段时间,过了一会儿它就接收了我的按键,而我还没有机会做任何事情,它就开始做一些可怕的包删除,这真是不幸。我去终止了 aptitude 进程,但已经造成了很大的损害。
因此,在关闭 aptitude 之后,我仔细检查了它已删除的软件包列表并重新安装了这些软件包。除了需要 ia32-libs 或 libc6:i386 的软件包之外,例如我的 wine 以及我使用的许多其他 32 位应用程序和软件包,因为这一切都归结为我无法重新安装 libgcc1:i386 软件包,因为它会破坏 libgcc1 软件包,反之亦然(libstdc++6 也是如此)。
ahti@ahti:~$ sudo apt-get install libgcc1:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
libgcc1 : Breaks: libgcc1:i386 (!= 1:4.9.2-0ubuntu1~12.04) but 1:5-20150401-0ubuntu12~12.04 is to be installed
libgcc1:i386 : Breaks: libgcc1 (!= 1:5-20150401-0ubuntu12~12.04) but 1:4.9.2-0ubuntu1~12.04 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
因此,以前 libgcc1:i386 保留在我的系统中,不会造成任何问题。现在它不再存在,无法重新安装,它给我带来了很多无法重新安装或使用的东西。
以下是apt-cache policy
命令的结果:
ahti@ahti:~$ apt-cache policy libgcc1
libgcc1:
Installed: 1:4.9.2-0ubuntu1~12.04
Candidate: 1:4.9.2-0ubuntu1~12.04
Version table:
*** 1:4.9.2-0ubuntu1~12.04 0
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
1:4.6.3-1ubuntu5 0
500 http://fi.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
ahti@ahti:~$ apt-cache policy libgcc1:i386
libgcc1:i386:
Installed: (none)
Candidate: 1:5-20150401-0ubuntu12~12.04
Version table:
1:5-20150401-0ubuntu12~12.04 0
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main i386 Packages
1:4.9.2-0ubuntu1~12.04 0
100 /var/lib/dpkg/status
1:4.6.3-1ubuntu5 0
500 http://fi.archive.ubuntu.com/ubuntu/ precise/main i386 Packages
我也确实foreign-architecture i386
有/etc/dpkg/dpkg.cfg.d/multiarch
这里'命令的结果aptitude install wine
。
我能做什么?这是一个典型的“没坏就别修”的例子。请帮忙?
我的系统是 64 位 Ubuntu 12.04.5,带有 3.2.0-80-generic 内核和gnome-session-fallback
。
答案1
您是否尝试安装所请求的 libgcc1 包?
sudo apt-get install libgcc1:i386=1:4.9.2-0ubuntu1~12.04
或固定它:
sudo sh -c "echo -e 'Package: libgcc1:i386\nPin: version 1:4.9.2*\nPin-Priority: 500' > /etc/apt/preferences.d/multiarch-libgcc1"