システムにインストールされているDebianパッケージのリストをエクスポートし、それらの同じパッケージを新しいシステムにインストールするにはどうすればよいですか?
バックアップするには:
Sudo dpkg --get-selections > /tmp/dpkglist.txt
復元するには:
Sudo dpkg --set-selections < /tmp/dpkglist.txt
Sudo apt-get -y update
Sudo apt-get dselect-upgrade
追加のオプションと情報については、この質問も参照してください: buntu、既存のマシンのように新しいマシンをセットアップする方法
サーバーインベントリの一部としてdpgklistをSVNにチェックインする毎日のcronjobで上記を実行しています。これにより、サーバー全体にインストールされたパッケージの適切な正確なインベントリを保持し、サーバーに特定のパッケージがないかどうかを確認するためにすばやく並べて比較することが簡単になります。
aptitude
もこのユースケースを満たし、他の方法ではできない「自動インストール」パッケージに関する情報を保持します。参照マシンで以下を実行します。
aptitude search -F '%p' '~i!~M' > package_list
コピーpackage_list
他のマシンに移動して実行
xargs aptitude --schedule-only install < package_list; aptitude install;
これは良いアイデアであり、これを習慣にするなら、 apt-proxy を使用して1つのサーバーをセットアップすることもできます。
faultyserversの回答は、別のコマンドを実行した後でのみ機能しました http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html
Sudo apt-get install dselect Sudo dselect access Sudo dselect update
その実行前
Sudo apt-get dselect-upgrade
返されただけ
[...]
dpkg:警告:パッケージがデータベースの302行目にありません:xfonts-utils
dpkg:警告:不明なパッケージが見つかりました;これは、使用可能なデータベースが古く、フロントエンドメソッドを介して更新する必要があることを意味する場合があります
pi @ FHEM-new:/ tmp $ Sudo apt-get dselect-upgrade
パッケージリストを読み込んでいます...完了
依存関係ツリーを構築しています
状態情報を読み取っています...完了
0アップグレード、0新しくインストール、0を削除、0をアップグレードしない.
新しいRaspberry(Raspbian GNU/Linux 8(jessie))に古いRaspberry Pi(Raspbian GNU/Linux 7(wheezy)を実行)から同じパッケージをインストールしようとしていました。