Ubuntuでインストール済みパッケージをバックアップおよび復元する方法
もしあなたが一度でもUbuntuを再インストールしたことがあるなら、アプリを探したり、PPAを追加したり、ソフトウェアを一つずつ再インストールしたりと、すべてを再設定する大変さを知っているでしょう。
昔は、Aptikのようなツールがこれを自動化するのに役立ちましたが、Aptikはもはやメンテナンスされていないため、それに頼る必要はなく、Ubuntuにはすでにdpkgパッケージマネージャーが付属しており、これだけで作業を行うことができます。
このチュートリアルでは、インストール済みのパッケージをバックアップし、後で dpkg コマンドを使って復元する方法を紹介します。
ステップ1:インストール済みパッケージのバックアップ
まず最初に行う必要があるのは、現在あなたのUbuntuシステムにインストールされているすべてのパッケージのリストを作成することです。
dpkg --get-selections > packages.list
コマンドが終了すると、現在のディレクトリに packages.list というファイルが作成されます。
cat packages.list
プロのヒント:このファイルは、USBメモリ、外付けドライブ、またはクラウドストレージにコピーして保管することができます。
ステップ2:ソフトウェアリポジトリをバックアップする(任意)
上で作成したパッケージリストは便利ですが、それは Ubuntu にどのアプリをインストールしたかを教えるだけで、いくつかのアプリがどこから来たのかは記憶しません。
多くの人気アプリ、例えば Google Chrome、VirtualBox、Spotify、または VS Code は、PPA(Personal Package Archives)やサードパーティのリポジトリを通じてインストールされます。
もしこれらのソースをバックアップしないと、Ubuntu はパッケージリストを復元したときにそれらのアプリをどこで見つけるか分からなくなります。
sudo cp -r /etc/apt/sources.list* ~/sources-backup/
sudo cp -r /etc/apt/trusted.gpg* ~/sources-backup/
これらのコマンドは次のようなことを行います:
/etc/apt/sources.list→ Ubuntu のデフォルトリポジトリを含む主要なファイル。/etc/apt/sources.list.d/→ 追加した PPA やサードパーティのソース。/etc/apt/trusted.gpg*→ それらのリポジトリからのパッケージを確認するセキュリティキー。cp -r … ~/sources-backup/→ すべてをホームディレクトリ内の sources-backup という新しいフォルダにコピーします。
ステップ3:インストール済みパッケージを復元する
一度 Ubuntu を再インストールした(または新しいシステムをセットアップした)ら、ステップ 1 で作成したバックアップを使用して、以前にインストールしたすべてのアプリを復元する時です。
新しいシステムで自分のホームディレクトリに packages.list ファイルをコピーして実行します。
sudo dpkg --set-selections < packages.list
sudo apt update
sudo apt dselect-upgrade
ここで何が起こっているか:
dpkg --set-selections < packages.list→ バックアップリストを読み込み、Ubuntu にどのパッケージをインストールするかを伝えます。sudo apt update→ Ubuntuのパッケージインデックスを更新し、リポジトリからどのバージョンが利用可能かを確認できるようにします。sudo apt dselect-upgrade→ 各パッケージを順に処理し、リポジトリから取得することで、リストのすべてをインストールします。
インストールされているアプリの数によっては、このプロセスに数分かかる場合があります。
ステップ4: 必要に応じてリポジトリを復元する
もし ステップ2 に従って PPA とリポジトリのキーをバックアップしていた場合、最後のステップはそれらを復元することです。そうすることで Ubuntu がすべてのサードパーティアプリを認識し、Google Chrome、VirtualBox、Spotify、または VS Code などのプログラムが正しく再インストールされることを保証します。
バックアップフォルダをシステムのソースディレクトリに戻します:
sudo cp -r ~/sources-backup/* /etc/apt/
これらのリポジトリを認識するように、Ubuntuのパッケージインデックスを更新します:
sudo apt update
現在アクティブになっているPPAやサードパーティのソースを確認したい場合は、次のコマンドを実行してください:
ls /etc/apt/sources.list.d/
結論
Ubuntuでインストールしたパッケージのバックアップと復元は、頭痛の種である必要はありません。かつてはAptikのようなツールが人気でしたが、現在はメンテナンスされておらず、dpkgを使えば、Ubuntuはすでに信頼できる組み込みのソリューションを提供しています。
これらの手順に従うことで、再インストール後や新しいシステム上でソフトウェア環境を迅速に再作成でき、時間を節約し、アプリを一つずつ再インストールする手間を避けることができます。サードパーティのPPAに依存している場合は、リポジトリのバックアップも忘れずに行い、何も置き忘れないようにしてください。
