升级到 16.04 LTS 后,我发现以下无法解析的依赖项
root@computer:/opt# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
gstreamer1.0-plugins-good : Depends: libtag1v5 (>= 1.9.1-2.4ubuntu1) but it is not installed
libncurses5 : Depends: libtinfo5 (= 6.0+20160213-1ubuntu1) but 6.0+20161126-1 is installed
libncurses5-dev : Depends: libtinfo5 (= 6.0+20160213-1ubuntu1) but 6.0+20161126-1 is installed
libtinfo-dev : Depends: libtinfo5 (= 6.0+20160213-1ubuntu1) but 6.0+20161126-1 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
如果我libtag1v5 1.9.1.2.4ubuntu1
手动下载,
root@computer:/opt# dpkg -i libtag1v5_1.9.1-2.4ubuntu1_i386.deb
Selecting previously unselected package libtag1v5:i386.
dpkg: considering removing libtag1c2a in favour of libtag1v5:i386 ...
dpkg: libtag1c2a is not properly installed; ignoring any dependencies on it
dpkg: yes, will remove libtag1c2a in favour of libtag1v5:i386
(Reading database ... 1081893 files and directories currently installed.)
Preparing to unpack libtag1v5_1.9.1-2.4ubuntu1_i386.deb ...
Unpacking libtag1v5:i386 (1.9.1-2.4ubuntu1) ...
dpkg: dependency problems prevent configuration of libtag1v5:i386:
libtag1v5:i386 depends on libtag1v5-vanilla (= 1.9.1-2.4ubuntu1); however:
Package libtag1v5-vanilla:i386 is not installed.
dpkg: error processing package libtag1v5:i386 (--install):
dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Errors were encountered while processing:
libtag1v5:i386
和追逐那依赖问题…
root@computer:/opt# dpkg -r libtag1c2a
dpkg: warning: ignoring request to remove libtag1c2a, only the config
files of which are on the system; use --purge to remove them too
root@computer:/opt# dpkg --purge libtag1c2a
dpkg: dependency problems prevent removal of libtag1c2a:
gstreamer0.10-plugins-good:i386 depends on libtag1c2a (>= 1.5).
dpkg: error processing package libtag1c2a (--purge):
dependency problems - not removing
Errors were encountered while processing:
libtag1c2a
gstreamer1.0-plugins-good
我首先尝试纠正的那个包在哪里?
我不知道是我的大脑烧坏了还是真的遇到了循环引用。
⋮
我也思考我已经遇到了libtinfo
、libtag*
、libtag*vanilla
和 的循环依赖libncursesw5
。例如libtinfo
:
root@computer:/opt# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
gstreamer0.10-plugins-good : Depends: libtag1c2a (>= 1.5) but it is not installable
libncurses5 : Depends: libtinfo5 (= 6.0+20160213-1ubuntu1) but 6.0+20161126-1 is installed
libncurses5-dev : Depends: libtinfo5 (= 6.0+20160213-1ubuntu1) but 6.0+20161126-1 is installed
libtag1v5 : Depends: libtag1v5-vanilla (= 1.9.1-2.4ubuntu1) but it is not installed
libtinfo-dev : Depends: libtinfo5 (= 6.0+20160213-1ubuntu1) but 6.0+20161126-1 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
好的,那么让我们dpkg -i
libtinfo5 (= 6.0+20160213-1ubuntu1)
...
root@computer:/opt# dpkg -i libtinfo5_6.0+20160213-1ubuntu1_i386.deb
dpkg: warning: downgrading libtinfo5:i386 from 6.0+20161126-1 to 6.0+20160213-1ubuntu1
(Reading database ... 1081890 files and directories currently installed.)
Preparing to unpack libtinfo5_6.0+20160213-1ubuntu1_i386.deb ...
Unpacking libtinfo5:i386 (6.0+20160213-1ubuntu1) over (6.0+20161126-1) ...
Setting up libtinfo5:i386 (6.0+20160213-1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
root@computer:/opt# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
gstreamer0.10-plugins-good : Depends: libtag1c2a (>= 1.5) but it is not installable
libncursesw5 : Depends: libtinfo5 (= 6.0+20161126-1) but 6.0+20160213-1ubuntu1 is installed
libtag1v5 : Depends: libtag1v5-vanilla (= 1.9.1-2.4ubuntu1) but it is not installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
因此libncursesw5
需要libtinfo5 (= 6.0+20161126-1)
,而另一个库需要20160213
版本。此外,libncursesw5
不可移除,因为procps
依赖于它,以及重要的系统组件不能被删除(例如,xdm
)依赖于procps
。
root@computer:/opt# dpkg -i libtinfo5_6.0+20160213-1ubuntu1_i386.deb
dpkg: warning: downgrading libtinfo5:i386 from 6.0+20161126-1 to 6.0+20160213-1ubuntu1
(Reading database ... 1081890 files and directories currently installed.)
Preparing to unpack libtinfo5_6.0+20160213-1ubuntu1_i386.deb ...
Unpacking libtinfo5:i386 (6.0+20160213-1ubuntu1) over (6.0+20161126-1) ...
Setting up libtinfo5:i386 (6.0+20160213-1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
root@computer:/opt# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
gstreamer0.10-plugins-good : Depends: libtag1c2a (>= 1.5) but it is not installable
libncursesw5 : Depends: libtinfo5 (= 6.0+20161126-1) but 6.0+20160213-1ubuntu1 is installed
libtag1v5 : Depends: libtag1v5-vanilla (= 1.9.1-2.4ubuntu1) but it is not installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
root@computer:/opt# ls libtag*
libtag1c2a_1.5-3_i386.deb libtag1v5_1.11.1+dfsg.1-0.1_i386.deb libtag1v5-vanilla_1.11.1+dfsg.1-0.1_i386.deb libtag1-vanilla_1.9.1-2_i386.deb
libtag1c2a_1.9.1-2_i386.deb libtag1v5_1.9.1-2.4ubuntu1_i386.deb libtag1v5-vanilla_1.9.1-2.4ubuntu1_i386.deb
root@computer:/opt# dpkg -i libtag1c2a_1.5-3_i386.deb
Selecting previously unselected package libtag1c2a.
dpkg: regarding libtag1c2a_1.5-3_i386.deb containing libtag1c2a:
libtag1v5:i386 conflicts with libtag1c2a
libtag1c2a (version 1.5-3) is to be installed.
dpkg: error processing archive libtag1c2a_1.5-3_i386.deb (--install):
conflicting packages - not installing libtag1c2a
Errors were encountered while processing:
libtag1c2a_1.5-3_i386.deb
root@computer:/opt# dpkg -r libtag1v5
dpkg: dependency problems prevent removal of libtag1v5:i386:
gstreamer1.0-plugins-good:i386 depends on libtag1v5 (>= 1.9.1-2.4ubuntu1).
dpkg: error processing package libtag1v5:i386 (--remove):
dependency problems - not removing
Errors were encountered while processing:
libtag1v5:i386
答案1
非常古老的(哈代)libncursesw5_5.6+20071124-1ubuntu1_i386.deb
似乎是必要的。
dselect
比 更容易dpkg
。
请注意@doug 的评论,从 debian sid repos 安装软件包不是一个好主意。文件名称中.deb
必须包含。*ubuntu*