インストールされているパッケージのリストを作成し、後でリストからインストールする
数日前、Arch Linux および Antergos、Manjaro Linux などの派生パッケージでインストールされているパッケージのリストを作成し、 後でそのリストからそれらをインストールする方法を説明したガイドを公開しました。このガイドでは、CentOS や Ubuntu などの他の一般的な Linux ディストリビューションでも同じことを行います。これは、Linux システムを再インストールする場合に役立ちます。 Linux ボックスを再インストールした後、パッケージを 1 つずつ手動でインストールする必要はありません。システムをフォーマットする前に、インストールされているパッケージのバックアップ リストを取得し、リストからすべてを一度にインストールするだけです。これは、同様の OS を実行している複数のシステムに同じソフトウェア セットをインストールする場合にも役立ちます。
CentOS にインストールされているパッケージのリストを作成し、後でインストールする
まず、CentOS システムでそれを行う方法を見てみましょう。このガイドは CentOS 7 サーバー エディションでテストしました。
次のコマンドをroot ユーザーとして実行して、インストールされているパッケージのリストを作成します。
rpm -qa | sort > pkglist.txt
ここ、
- rpm - RPM パッケージ マネージャー
- -qa - インストールされているすべてのパッケージをクエリします
- 並べ替え - テキスト ファイルの行を並べ替えます。
- pkglist.txt - インストールされているパッケージのリストを保存するファイル。
上記のコマンドは、CentOS 7 マシンにインストールされているすべてのパッケージの一覧を表示し、それらを現在の作業ディレクトリの pkglist.txt というファイルに保存します。
推奨読書:
- ExplainShell – Linux コマンドの各部分の機能を確認する
これで、インストールされているパッケージのリストが作成されました。このリストは安全に保管してください。後で必要になります。システムをフォーマットしてください。
Linux ボックスを再インストールした後、pkglist.txt ファイルをシステムにコピーします。 scp コマンドを使用して、このファイルを任意のリモート システムにコピーすることもできます。リモート システムに同じバージョンの OS がインストールされていることを確認してください。
scp pkglist user@remotesystem:/path/
元 :
scp pkglist.txt root@192.168.43.150:/root/
最後に、root ユーザーとして次のコマンドを使用して、pkglist.txt ファイルからパッケージをインストールします。
yum install $(cat /root/pkglist.txt|xargs)
/root/pkglist.txt ファイルのパスを独自のパスに置き換えます。
終わり!パッケージ マネージャーは、pkglist.txt ファイルにリストされているすべてのパッケージを CentOS ボックスにインストールします。
この pkglist.txt ファイルをネットワーク上のすべてのシステムに使用できます。パッケージ マネージャーは、デフォルトの公式リポジトリからのみパッケージをインストールすることに注意してください。古いシステムで他の追加リポジトリを有効にしている場合は、ソフトウェアをインストールする前に、まずそれらを追加する必要があります。
Ubuntu にインストールされているパッケージのリストを作成し、後でインストールする
インストールされているすべてのパッケージのリストを作成し、DEB ベースのシステムで pkglist.txt というファイルに保存し、次を実行します。
dpkg-query -f '${binary:Package}\n' -W > pkglist.txt
または、
dpkg --get-selections > pkglist.txt
これで、インストールされているソフトウェアのバックアップ リストが作成されました。このファイルは安全な場所に保管してください。 Ubuntu マシンをフォーマットして再インストールします。
Ubuntu を再インストールした後、次のコマンドを 1 つずつ実行して、バックアップ リストにあるすべてのソフトウェアを再インストールします。
sudo apt-get install dselect
sudo dpkg --set-selections < pkglist.txt
sudo apt-get dselect-upgrade
または、以下に示すように、上記のすべてのコマンドを 1 行のコマンドと pkglist.txt ファイルのすべてのソフトウェアに結合します。
sudo apt-get install $(cat /home/sk/pkglist.txt | awk '{print $1}')
パス /home/sk/pkglist.txt ファイルを独自のものに置き換えます。
古いシステムで外部リポジトリまたは PPA を使用していた場合は、バックアップ リストからソフトウェアを再インストールする前に、それらを追加する必要があることに注意してください。
推奨読書:
- インストールされたパッケージをバックアップし、新しくインストールした Ubuntu システムに復元する
- 古いシステムから新しくインストールされた Ubuntu システムにシステム設定とデータを移行する方法