web-dev-qa-db-ja.com

Debianで半分設定された/壊れたパッケージを見つける方法は?

Debianで半分設定されたパッケージを見つける方法はありますか?これは Debian strech-更新が壊れている-バグのあるdpkgのようです から来ています。

私はパッケージが2つの方法で壊れているかどうかを確認しようとします-

a. $ aptb 

┌─[shirish@debian] - [~] - [5289]
└─[$] alias aptb

aptb='aptitude search '\''~b'\'

より良いもの-

┌─[shirish@debian] - [~] - [5288]
└─[$] dpkg --audit

┌─[shirish@debian] - [~] - [5289]
└─[$]

望ましい/上記のことを行う他のツールはありますか?

更新-これを取得-

[$] dpkg -f '${status} ${package}\n' -W | awk '$2 == "half-configured" {print $4}'

dpkg-deb: error: failed to read archive '${status} ${package}\n': No such file or directory

[$] dpkg -f '${status} ${package}\n' -W | awk '$2 == "half-configured" {print $4}'                                           

dpkg-deb: error: failed to read archive '${status} ${package}\n': No such file or directory

これらは期待される出力ですか?

6
shirish

入力が簡単:

dpkg -l | grep -v '^ii'

これは、少なくともシステムにはほとんど知られていないが完全にはインストールされていないパッケージをリストします。

解析可能な出力が必要な場合は、 dpkg-query カスタム形式。希望に応じてフィルターを調整してください。

dpkg-query -f '${status} ${package}\n' -W | awk '$3 != "installed" {print $4}'
dpkg-query -f '${status} ${package}\n' -W | awk '$3 == "half-configured" {print $4}'

dpkg --audit

   -C, --audit [package-name...]
          Performs database sanity and consistency checks for package-name
          or all packages if omitted (per package checks since dpkg 1.17.10).
          For example, searches for  packages  that  have been installed only
          partially on your system or that have missing, wrong or obsolete
          control data or files. dpkg will suggest what to do with them  to
          get them fixed.

ソース:man dpkg

5
user.dz