如果我这样做,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
还有能力创造存在包装破损的情况。
一个折衷方案是synaptic
。synaptic
比 更有能力修复损坏的软件包,apt-get
但没有能力aptitude
创造这种情况。
资料来源:我该如何修复这些损坏的依赖关系