aptitude:大括号的含义,即package1{b} package2{a} package3{u}

aptitude:大括号的含义,即package1{b} package2{a} package3{u}

使用时资质,更改的包列表有时在某些包名称后面的大括号中包含单个字符。手册页有两个示例,但没有解释它们(版本 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

答案2

这个帖子由 aptitude 作者解释{a}{u}

  • {a}意味着除了您要求的软件包之外,还将额外安装该软件包。
  • {u}表示该软件包未被系统使用并将被删除。

不幸的是它没有解释{b}

相关内容