aptitude:中括弧の意味、すなわちpackage1 {b} package2 {a} package3 {u}


14

aptitudeを使用する場合、変更されたパッケージのリストには、一部のパッケージ名の後ろに中括弧で囲まれた単一の文字が含まれることがあります。マンページにはそれらの2つの例がありますが、それらについては説明しません(バージョン0.6.10-1)。

これまで{b}、{a}、{u}に気づきました。前者は実行中に表示され、aptitude install削除したパッケージを再インストールしようとします(たとえば、debfosterを使用して、それを無効にするにはどうすればよいですか?)。後者の2つは自動依存関係解決と関係があるようです。

これらの文字は何を意味し、他に何があり、他の操作にどのような影響がありますか?その追加情報はdpkgまたはに利用可能aptですか?

回答:


8

これらは文書化されていません。私の推測では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


ps auxfdebfosterはただ呼び出していることを示しapt-get --purge remove pkg1 pkg2 etc.、「〜B」返す何を検索しないと、次のaptitude install再インストールPGK1 PKG2など
有限graygreen

1
@finitegraygreen、壊れたパッケージではないでしょうね!を使用aptitude whyして、何が起こっているか、または単に--show-whyオプションを見つけることができます。
グレアム14年

@finitegraygreen、ここでの結論は何でしたか?たbすべての後に壊れたか、なかったためにaptitude why他のいくつかの理由を上げますか?いつかまたこれに出くわすと思います。知っておくといいのですが…
グレアム14

さて、結論は「これらは文書化されていません」です。そして、私はapt-getとaptitudeの間の干渉を、削除を介して後者に健忘を強制することで止めました/var/lib/aptitude/pkgstates。そうしapt-get remove pkg; aptitude why pkgないと、「インストールする理由が見つかりません」というメッセージが表示されます。aptitude installその後、pkgをインストールします。
有限のグレーグリーン14

@finitegraygreen、これらの意味の説明があります。更新された回答を参照してください。
グレアム

1

aptitude作成者によるこの投稿で{a}{u}次のことを説明します。

  • {a} は、要求したものに加えてパッケージが追加インストールされることを意味します。
  • {u} パッケージがシステムによって使用されておらず、削除されることを意味します。

残念ながら、それは説明しません{b}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.