システムを32ビットから64ビットに変更し、以前と同じDebian Squeezeを使用しますが、以前にインストールしたプログラム名を覚えておらず、紛失したくありません。
だから私は私のためにこれを行うコマンドが欲しいです。私がインストールしたすべてのプログラムの名前をファイルに保存しますが、システムに付属の標準プログラムは保存しません。他のシステムを使用する場合はファイルとディレクトリを参照するため、すべてが自動的にインストールされます。
もう一度質問:手動でインストールされたプログラムを使用してこれを実行できますかdpkg-i package.deb
?では、どうすればよいですか?
ベストアンサー1
現在の Debian リリースでは、以下を使用して明示的にインストールされたパッケージのリストを取得できます。
apt-mark showmanual
存在しない以前のバージョンの Debian を実行している場合、apt-mark showmanual
または他のオプションを実行したい場合は、aptitude を使用できます。
aptitude search '~i !~M' -F %p >package.list
~i
インストールされたパッケージと一致し、!~M
他のパッケージの依存関係で自動的にインストールされたパッケージは省略されます。-F %p
パッケージ名のみを含めるように出力形式を変更します。
後でこのパッケージをインストールできます。
apt-get install $(cat package.list)
Debianスクイズはそうではありませんが、自動的にインストールされたパッケージを一覧表示しますapt-mark showmanual
。apt-mark showauto
この機能を使用している場合は、以前のシステムのすべてのパッケージの一覧を使用し、dpkg --get-selections >package.list
すべてのパッケージを復元してから自動パッケージ表示を使用できますapt-mark markauto
。ユースケース(32ビットから64ビット)の場合、このアプローチでは、一部のライブラリがアーキテクチャによって名前が異なるため、一部のライブラリを手動で表示できます。
ユースケースがパッケージセットを保持するのではなく、スキーマを変更するのではなく、同じインストールを再現する場合は、アプリクローン(wheezy 以降 Debian にデプロイされる) は、すべてを自動的に実行します。