ディスクフォーマット後に簡単/自動再インストール用にインストールされたパッケージのリストを生成する方法

ディスクフォーマット後に簡単/自動再インストール用にインストールされたパッケージのリストを生成する方法

システムを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 showmanualapt-mark showautoこの機能を使用している場合は、以前のシステムのすべてのパッケージの一覧を使用し、dpkg --get-selections >package.listすべてのパッケージを復元してから自動パッケージ表示を使用できますapt-mark markauto。ユースケース(32ビットから64ビット)の場合、このアプローチでは、一部のライブラリがアーキテクチャによって名前が異なるため、一部のライブラリを手動で表示できます。

ユースケースがパッケージセットを保持するのではなく、スキーマを変更するのではなく、同じインストールを再現する場合は、アプリクローン(wheezy 以降 Debian にデプロイされる) は、すべてを自動的に実行します。

答え2

を使ってみましたdpkg --get-selections >packagesか?特定のパッケージを除外したい場合は、出力ファイルを編集できますpackages。完了したら、ターゲットシステムに送信し、次のように言います。

dpkg --set-selections <packages

パッケージはインストール用に表示されます。また、話す必要がありますaptitude update; aptitude dist-upgrade

別の質問:これらのパッケージがi386アーキテクチャパッケージであり、すでにインストールされている場合は、一般的なパッケージをmultiarch使用できます。ただし、ケースバイケースで調査して、これらのパッケージを含む64ビットバージョンをインストールすることをお勧めします。.debdpkg -i package.deb

答え3

これを行う簡単で標準的な方法はありません。 「システムに付属の標準プログラム」と他のプログラムを区別しないdpkgため、ログとオプションを操作する必要があるようです。dpkg

簡単ではありません。明確にするために、太字の大文字のテキストを使用することをお勧めします。しかし、次のことができます。

  • ファイルからインストールされているソフトウェアのリストを抽出します/var/log/dpkg.log*

  • システムのインストール中にインストールされたものを削除します。 (インストール時間を使用して検出)

  • dpkg --get-selectionsリストを形式で保存

望むより!システムが稼働している場合は、次のコマンドを使用してプログラムを再インストールします。

 apt-get update
 dpkg --set-selections < yourSelection
 apt-get -u dselect-upgrade

答え4

RPMパッケージングを使用してRHEL / Fedoraシステムで同じことを行う方法を理解しようとしています。これは役に立ちましたが、sudo dnf historyこのコマンドは、アナコンダインストーラがシステムをインストールした後にユーザーがインストールしたものだけを一覧表示します。

これは私が使用するコマンドです:

sudo dpkg -l|awk '/^ii/{ print $2 }'|grep -v -e ^lib -e -dev -e $(uname -r) > /path/to/your/filename000.txt

関連情報