依存関係を含まずにインストールされた Debian パッケージのリストを見つけるには?

依存関係を含まずにインストールされた Debian パッケージのリストを見つけるには?

私は2つのdebian 11システム(サーバー1とサーバー2)とdebian 9と11システム(サーバー3とサーバー2)を比較し、同じパッケージがあることを確認します。不足しているパッケージをインストールするためにansibleを使用する予定です。

私が探していますDebian はインストールされたパッケージのリストをどこに保存しますか?ただし、適切なパッケージバージョンは表示されず、依存関係も表示されます。 system2に欠落しているパッケージを比較してインストールできるようにするには、バージョン番号とともにsystem1にインストールされているDebianパッケージのみが必要です。

ベストアンサー1

apt-mark showmanual

手動でインストールされたすべてのパッケージが一覧表示されます。つまり依存関係に引き付けられ、インストールされた状態を維持するのではなく、明示的にインストールされるパッケージです。

そのバージョンを入手するには、次のようにします。

dpkg-query -W $(apt-mark showmanual)

ただし、これを使用してあるシステムから別のシステムにパッケージ選択を確実にコピーすることはできません。依存関係の計算は、(パッケージの依存関係が進むにつれて)異なる時点で異なる結果を生成するためです。aptこれは、パッケージセットのインストールを要求しても、数ヶ月または数年前と同じように、現在のシステムでまったく同じ結果が生成されないことを意味します。可能特に、両方のシステムが同じデフォルトバージョンのDebianとしてインストールされている場合は、同じ結果を生成しますが、それに依存することはできません。

また、特定のバージョンに依存することはあまり役に立ちません。aptリポジトリから現在利用可能なバージョンのみをインストールできるため、「ソース」システムにバージョンを含むリポジトリを維持しない限り、そこにインストールされているバージョンがわかります。あなたの目標について実行可能な情報を提供しません。また、見ることができます以前のバージョンの Debian パッケージがパッケージリポジトリから消えるのはなぜですか? (バージョン管理システム構成との関連性が高い)

実際には、次に説明する方法のいずれかを使用する必要があります。ある Debian システムから別の Debian システムにインストールされたパッケージを選択してコピーする方法は? (Debian ハルトック)- デフォルトでは、dpkg --get-selectionsすべてのパッケージ「オプション」を一覧表示し、それをターゲットシステムに適用するためにdpkg --set-selections使用されます。apt-get dselect-upgrade

おすすめ記事