我从默认存储库安装了 boost library 1.58,并从源代码安装了旧版本。现在我想删除提升 1.58。
首先我做的是删除libboost-all-dev
包,但仍然安装了四个包,其中两个我单独删除,两个我无法删除。这两个包是:libboost-system1.58.0
和libboost-filesystem1.58.0
。每当我这样做时,都会sudo apt-get --purge remove libboost-system1.58.0
出现与 相关的未满足的依赖项错误,qt
我不知道为什么它与此有关。
错误输出如下所示:
The following packages have unmet dependencies:
liboxideqt-qmlplugin : Depends: libqt5quick5 (>= 5.0.2) but it is not going to be installed or
libqt5quick5-gles (>= 5.0.2) but it is not going to be installed
liboxideqtcore0 : Depends: libqt5gui5 (>= 5.4.0) but it is not going to be installed or
libqt5gui5-gles (>= 5.4.0) but it is not going to be installed
liboxideqtquick0 : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
Depends: libqt5quick5 (>= 5.2.0) but it is not going to be installed or
libqt5quick5-gles (>= 5.2.0) but it is not going to be installed
libqmenumodel0 : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
libqt5multimedia5 : Depends: libqt5gui5 (>= 5.2.0) but it is not going to be installed or
libqt5gui5-gles (>= 5.2.0) but it is not going to be installed
libqt5multimediaquick-p5 : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
Depends: libqt5quick5 (>= 5.4.0) but it is not going to be installed or
libqt5quick5-gles (>= 5.4.0) but it is not going to be installed
libqt5x11extras5 : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
libubuntugestures5 : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
Depends: libqt5quick5 (>= 5.0.2) but it is not going to be installed or
libqt5quick5-gles (>= 5.0.2) but it is not going to be installed
libubuntutoolkit5 : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
qml-module-io-thp-pyotherside : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
Depends: libqt5quick5 (>= 5.0.2) but it is not going to be installed or
libqt5quick5-gles (>= 5.0.2) but it is not going to be installed
qml-module-qtquick-layouts : Depends: libqt5gui5 (>= 5.5.0) but it is not going to be installed or
libqt5gui5-gles (>= 5.5.0) but it is not going to be installed
Depends: libqt5quick5 (>= 5.2.0) but it is not going to be installed or
libqt5quick5-gles (>= 5.2.0) but it is not going to be installed
qml-module-ubuntu-layouts : Depends: libqt5quick5 (>= 5.0.2) but it is not going to be installed or
libqt5quick5-gles (>= 5.0.2) but it is not going to be installed
qml-module-ubuntu-performancemetrics : Depends: libqt5gui5 (>= 5.0.2) but it is not going to be installed or
libqt5gui5-gles (>= 5.0.2) but it is not going to be installed
Depends: libqt5quick5 (>= 5.0.2) but it is not going to be installed or
libqt5quick5-gles (>= 5.0.2) but it is not going to be installed
我的第一个问题是,为什么这个包libboost-system1.58.0
有什么关系qt
?我在ubuntu包页面中查找,这些qt包既不依赖libboost-system1.58.0
也不libboost-system1.58.0
依赖于这些qt包。
我的第二个问题是,这个包libboost-system1.58.0
真的相关吗?我记得我安装了 boost apt-get install libboost-all-dev
,但显然libboost-system1.58.0
不在依赖列表中libboost-all-dev
。那么这个包是从哪里来的呢?
第三个问题可能与这个问题无关,但是我qt packages
在查看它们时查看了它们,发现它们都有不同版本的重复包,例如:
liboxideqtcore0/xenial-updates,xenial-security,now 1.21.5-0ubuntu0.16.04.1 amd64 [installed,automatic]
liboxideqtcore0/xenial 1.13.6-0ubuntu1 amd64
那么这与我的问题有关吗?
我添加了以下输出apt-cache policy libboost-filesystem1.58.0 liboxideqt-qmlplugin
:
libboost-filesystem1.58.0:
Installed: 1.58.0+dfsg-5ubuntu3.1
Candidate: 1.58.0+dfsg-5ubuntu3.1
Version table:
*** 1.58.0+dfsg-5ubuntu3.1 500
500 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
100 /var/lib/dpkg/status
1.58.0+dfsg-5ubuntu3 500
500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
liboxideqt-qmlplugin:
Installed: 1.21.5-0ubuntu0.16.04.1
Candidate: 1.21.5-0ubuntu0.16.04.1
Version table:
*** 1.21.5-0ubuntu0.16.04.1 500
500 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
100 /var/lib/dpkg/status
1.13.6-0ubuntu1 500
500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
TL;博士。问题的简短答案 - 这是依赖关系问题。所以你不能删除这个包。
分析
更长的变体是评估分析以确定安装的原因
libboost-filesystem1.58.0
,哪些包依赖它,我们可以安全地删除它。为什么
libboost-filesystem1.58.0
和libboost-system1.58.0
被安装要回答第一个(为什么)问题,我们可以使用 Aptitude 及其
why
命令。在我干净的完全更新的 Ubuntu MATE 16.04 LTS 上,我得到以下输出
后者
libmircommon5
是因为 LightDM 而安装的:系统库——
在带有默认 Unity 的 Ubuntu 16.04 LTS 上,情况更糟:
依赖哪些包
libboost-filesystem1.58.0
要回答第二个(哪些依赖项),我们可以使用它
rdepend
来apt-cache
获取反向依赖项列表(这意味着libboost-filesystem1.58.0
安装的原因)我可以
libboost-filesystem1.58.0
像以前一样删除并使用系统吗?那么可以去掉吗?让我们使用 MATE 在系统上运行它的移除模拟:
上面的意思是,如果我们删除这个
libboost-filesystem1.58.0
包,我们将失去桌面环境和整个 X11 系统。基于 Unity 的系统的模拟以您问题中的错误结束。
可能问题出在 apt 源列表中,请参阅以下步骤:https ://icinga.com/docs/icinga-2/latest/doc/02-installation/02-Ubuntu/