異常終了とカラフルなfsckの後に多くのファイルが失われました。 「rpm -Va」の出力は数百減ります(ほとんどのファイルがありませんが、チェックサムやその他の不一致もあります)。欠落または破損したファイルを含むパッケージを簡単に再インストールする方法はありますか?
問題のオペレーティングシステムはFedora 22です。
ベストアンサー1
参照と完全性のために元の要求を達成するコマンドは次のとおりです(すばやく作業しますが、機能します)。
rpm -qf $(rpm -Va 2>&1 | grep -vE '^$|prelink:' | sed 's|.* /|/|') | sort -u
各セクションの簡単な説明は次のとおりです。
rpm -Va 2>&1
現在、rpmデータベースにインストール/リストされているすべてのパッケージに対して完全な検証が実行されます。また、私のボックスでは、辞書リンクのアクティブ化によって引き起こされたいくつかのエラーがエラーとして報告されますが、stdoutに表示したいので、stderrをstdoutにリダイレクトします。
注目:すべてのファイル、権限、所有者/グループを確認するには、rootとして実行する必要があります。
grep -vE '^$|prelink:'
空行と事前リンクエラーを抑制します(これらのエラーの例
prelink: /tmp/#prelink#.B14JBi: Recorded 10 dependencies, now seeing -1
:)
sed 's|.* /|/|')
rpm -Va
ファイル名のみを表示するように出力がフィルタリングされます。
rpm -qf $()
取得したすべてのファイル名がどのパッケージに含まれているかを照会し、パッケージ名とバージョンを出力します。
| sort -u
重複したパッケージ名/バージョンの組み合わせは表示されません。
全体的に検証に失敗したパッケージのリストを受け取ります。
rpm -Va
--nodeps
.