apt-get 和 aptitude 似乎不一致——我的包裹真的损坏了吗?

apt-get 和 aptitude 似乎不一致——我的包裹真的损坏了吗?

如果我这样做,aptitude search ~b我会得到 78 个损坏软件包的列表。但其中 76 个甚至没有安装(它们的状态为pB)。卸载的软件包怎么能被认为是损坏的呢?

但如果我apt-get -s install -f这样做了,它却说没有什么可做的,所以显然apt-get认为没有任何东西坏了。

鉴于 aptitude 认为某个包损坏了,我该如何找出为什么它认为包裹破损了?

一些输出:

# aptitude search "~i ~b"
iB  foomatic-db-compressed-ppds                                    - OpenPrinting printer support - Compressed PPDs derived from the database
iB  xz-lzma                                                        - XZ-format compression utilities - compatibility commands

这确实是仅有的两个。但如果我~b这样做,我会得到一堆未安装的损坏的(无论这意味着什么)软件包。以下是前几个(共 76 个):

# aptitude search ~b
pB  bison                           - YACC-compatible parser generator
pB  compiz-fusion-plugins-extra     - transitional dummy package.
pB  compiz-fusion-plugins-main      - transitional dummy package.
pB  cpu-checker                     - tools to help evaluate certain CPU (or BIO

至于 dpkg,

# dpkg-query -l xz-lzma
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version                       Description
+++-=============================-=============================-==========================================================================
ii  xz-lzma                       5.1.1alpha+20110809-3         XZ-format compression utilities - compatibility commands

那么到底发生了什么?我该如何修复它(如果确实有任何问题的话)?

答案1

或许真的没有什么问题。

简单回答:apt-get并且aptitude有不同的依赖解析器(我该如何修复这些损坏的依赖关系)。

要查看是否确实存在问题,您可以运行以下命令:

sudo apt-get update
sudo apt-get install --reinstall foomatic-db-compressed-ppds xz-lzma

就我个人而言,我不建议使用它,aptitude因为它有时可能会很危险。

apt-get更安全并且不会在软件包损坏的情况下进行安装,但是,apt-get很少(如果有的话)能够修复由于软件包损坏而导致的无法解决的情况。aptitude 有能力使固定包装破损,但是aptitude 有能力创造存在包装破损的情况。

一个折衷方案是synapticsynaptic比 更有能力修复损坏的软件包,apt-get但没有能力aptitude创造这种情况。

资料来源:我该如何修复这些损坏的依赖关系

相关内容