Gentoo Portage。 "revdep-rebuild"コマンドは正確に何をしますか?

Gentoo Portage。 "revdep-rebuild"コマンドは正確に何をしますか?

revdep-rebuildGentoo Linuxをアップグレードした後にこれを実行する必要があることを知っています。また、revdep-rebuild共有ライブラリの競合を検出し、何とか解決する方法を理解しています。しかし、もっと知りたいです。

revdep-rebuild(仮説的に)タスクを手動で実行することにした場合はどうすればよいですか?テストのためにすべてのバイナリをどのように選択しますか?特定のバイナリが大丈夫であることをどのように確認できますか?バイナリに問題がある場合は、問題を解決するために再表示されるパッケージをどうやって知ることができますか?

答え1

  1. まず、すべての実行可能ファイルを見つけることができます。
  2. ldd次に、依存関係を見つけるために使用します*.so
  3. 後で共有オブジェクトが存在しない場合は、それを使用して含めるかどうかをqfile検出します。ebuild
  4. 最後に検出されたすべての破損したパッケージが再び表示されます。

答え2

推論セクションを読んでください。CentOS 7でAwesome Window Managerを使用する。分布がバイナリかどうかは関係ありません。これは、すべてのディストリビューションで同じ動作が発生する可能性があるためです。

リンクされた投稿の項目4〜6がrevdep-rebuld修正です。項目4の素晴らしい名前は「逆依存性」です。私が見つけることができる唯一の定義はこれにあります。Dependence HellのWikipediaエントリ。競合と循環の依存関係を参照してください。

revdep-rebuld/lib逆方向依存関係の再構成の略で、ディレクトリ内のオブジェクトを検索して.so比較する方法で機能します。S別れた酸素.aUSEフラグが使用されると、static-libs静的ライブラリファイルのバージョンを指します。次に、これら2つを「ldd 一致しない場合はパッケージを再構築するようにマークする」の出力と比較してから再構築します。


常にステップ2から始める以外は、すべてがwebKnjazの答えにあります。revdep-rebuildつまり、常にすべてのパッケージが破損していると仮定し、スキャンする前にすべてのライブラリが破損していると仮定します。

また、このコレクションrevdep-rebuildが新しいバージョンのコレクションに統合されていることも知っておく必要があります。sys-apps/portage@preserved-rebuild

関連情報