
次のような状況のパッケージを探しています。
- 削除されたが消去されない
- インストールされているが構成されていない
私は次のことを試しました
aptitude search '~id'
そして
aptitude search "~iuA"
しかし、それらのどれも動作しません。
どんなアイデアがありますか?
更新 - コマンドのいずれかが機能しない -
[$] dpkg-query -Wf '${db:Status-Abbrev} ${Package}\n' | grep ^i[^i]
zsh: no matches found: ^i[^i]
それがzshのバグか他のものなのか、どんなアイデアがありますか?
答え1
試みにaptitude
注目すべき点は、これが~
「パッケージの状態で次のフラグを見つける」という意味ではないということです。~i
yesの略語は~installed
次のとおりです。D文字通り解釈されるDつまり、名前に文字を含むパッケージD。あなたの問題を満たすことができる検索パターンを見つけるためにaptitude
私のシステムのドキュメントを見ましたが、/usr/share/doc/aptitude/html/en/index.html
これが可能かどうかはわかりません。~action
途中で到着するかもしれませんが、それがあなたに地位をもたらすのかどうかはわかりません。
使用の代替案はと一緒にaptitude
使用することです。dpkg-query
grep
dpkg-query -Wf '${db:Status-Abbrev} ${Package}\n' | grep ^r
これで場所が検索されます。削除済み状態ですが削除されませんでした。
dpkg-query -Wf '${db:Status-Abbrev} ${Package}\n' | grep ^i[^i]
タグ付きパッケージを検索します。インストール済み、まだ完全にインストールされていません。トリガーに保留中のパッケージを含めたくない場合に使用できます^i[ncHUF]
。
出力の2番目の列(パッケージ名)のみを取得するには、次のものを使用できますsed
。
dpkg-query -Wf '${db:Status-Abbrev} ${Package}\n' | sed -n 's/^r.R\?\s*//p'
削除されたパッケージの検索と
dpkg-query -Wf '${db:Status-Abbrev} ${Package}\n' | sed -n 's/^i[^i]R\?\s*//p'
インストールしたいが完全にインストールされていないパッケージを見つけます。
これを拡張すると、Debianパッケージの「状態」は2つの部分で構成されます。
これ行動パッケージで実行するように設計されています。これができるインストールするパッケージが届きました削除するパッケージが届きました捕まえるパッケージまたは明らか小包。
これパッケージの状態、システム内のパッケージの実際の状態を説明します。
上記の呼び出しは、dpkg-query
各行の先頭にパッケージ名とともに、パッケージのアクションとステータスを文字ごとに1文字ずつリストします。
削除されたが削除されていないパッケージを見つけるには、「remove」アクションを使用してパッケージを検索しますgrep ^r
。インストール済みまたはインストールされる予定であるがまだ構成されていないパッケージを見つけるには、そのパッケージを検索します。行動はいインストールするしかし、状態はそうではありません。インストール済み:grep ^i[^i]
。
答え2
削除されたが削除されていないのは~c
(?config-files
)です。
インストールされているが構成されていないコンテンツは、aptで追跡されず、dpkgでのみ追跡されます。パッケージには、実際の状態と希望の状態という2つの状態があります。 Aptは希望の状態にのみ興味があります。インストールされているが構成されていないパッケージは、必要な状態がインストールされています。
バラよりディランフレーズの答えdpkg クエリに使用されます。