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 番目のマシンに複製します。