再現可能なパッケージのインストール

再現可能なパッケージのインストール

Ubuntu にインストールしたパッケージを追跡する方法はありますか?

たとえば、「npm install blah」とすると、blah を現在のディレクトリにインストールし、package.json に文書化することができます。Ansible のようなものを使用する以外に、apt 経由でインストール/アンインストールしたパッケージ (ベース インストールからのデフォルト パッケージを追跡する必要はありません) をファイルに追跡して、リビジョン管理下に保持する方法はありますか?

答え1

Ubuntu システムでどのパッケージがインストールまたは削除されたかは、dpkgパッケージによって追跡されます。インストールされたパッケージのセットを 1 台のマシンから別のマシンに再現するには、最初のマシンで次の操作を実行します。

sudo dpkg --get-selections > installed-packages

これにより、インストールされた (および削除された) すべてのパッケージがファイルに書き出されますinstalled-packages。このファイルを他のマシンに転送し、次の操作を実行します。

sudo dpkg --set-selections < installed-packages
sudo apt-get dselect-upgrade

(最初に というパッケージを手動でインストールする必要がある場合がありますdselect) これにより、選択したパッケージが「インストール」に設定され、2 番目の手順で実際にインストールされます。

異なるファイルを持つマシンや、最初のマシンに PPA がインストールされている場合は機能しませんsources.listが、通常は最初のシステムのインストールを 2 番目のマシンに複製します。

関連情報