Fedoraでパッケージ構成を別マシンにコピーする方法

セットアップ済みのFedora環境にインストールされているパッケージを、別のFedora環境にもインストールしたい場合があります。

そんな時は、まずパッケージ構成の「コピー元」となるFedora環境で、以下のコマンドを実行しましょう。

rpm -qa --qf "%{NAME}\n" | sort > old_packages.txt

このコマンドは、インストール済みパッケージ一覧をソートして「old_packages.txt」に出力します。このファイルを、「コピー先」の環境に転送しておきます。

次に、「コピー先」では以下のコマンドを実行します。出力先ファイル名が違うだけです。

rpm -qa --qf "%{NAME}\n" | sort > new_packages.txt

以下のコマンドを実行すれば、「コピー元」にインストールされていて、「コピー先」にはインストールされていないパッケージの名前が「lack_packages.txt」に出力されます。

diff old_packages.txt new_packages.txt | grep "^<" | cut -d ' ' -f 2 > lack_packages.txt

lack_packages.txtをテキストエディタなどで確認し、不要なパッケージが含まれていれば削除しましょう。
そして以下のコマンドを実行すれば、まとめてパッケージをインストールできます。

sudo dnf install -y `cat lack_packages.txt`