使用时资质,更改的包列表有时在某些包名称后面的大括号中包含单个字符。手册页有两个示例,但没有解释它们(版本 0.6.10-1)。
到目前为止我已经注意到了 {b}、{a} 和 {u}。前一个似乎在运行时出现aptitude install
并尝试重新安装我删除的软件包(例如通过 debfoster,我如何禁用它?),后两个似乎与自动依赖项解析有关。
这些字符的含义是什么?还有其他字符吗?它们对其他操作有什么影响?dpkg
或可以获得这些额外信息吗apt
?
答案1
这些都没有记录。我的猜测是,这a
是用于自动安装,u
是用于(自动?)升级,b
是用于安装软件包以修复损坏的软件包。
这意味着debfoster
删除不应该删除的软件包,请注意该网站说:
As of 2006-01-01, debfoster is officially deprecated.
由于系统的变化,多年来可能已经出现了错误apt
。您可以通过aptitude search '~b'
使用后执行操作来确认这一点debfoster
(它将列出损坏的软件包)。
请注意,apt
现在支持依赖包的自动标志,并且具有apt-get autoremove
.有了资质你也可以做到aptitude remove '~g'
。
更新
尝试了一下 aptitude,结果发现,如果我?
在收到Do you want to continue? [Y/n/?]
提示时按下,我会收到以下消息:
In the list of actions to be performed, some packages will be followed by one or
more characters enclosed in braces; for instance: "aptitude{u}". These
characters provide extra information about the package's state, and can include
any combination of the following:
'a': the package was automatically installed or removed.
'b': some of the package's dependencies are violated by the proposed changes.
'p': the package will be purged in addition to being removed.
'u': the package is being removed because it is unused.
所以看来这b
应该是针对破损的包裹。虽然,在你的情况下,如果没有任何损坏,它似乎是一个错误。我无法重现该问题,但aptitude
确实尝试重新安装我删除的软件包,但apt-get
没有在大括号中添加任何内容。
另请注意,这aptitude keep-all
可能比删除更安全/var/lib/aptitude/pkgstates