web-dev-qa-db-ja.com

インストールされたパッケージと設定をディストリビューション間で転送するにはどうすればよいですか?

私は、VirtualBoxを介してLinuxシステムの学習と数か月間を調査してきましたが、これをメインのOSにしてハードドライブにインストールすることにしました。 HDDに直接インストールするときに持ち込みたいファイル、パッケージ、設定(.bashrcへの変更など)がいくつかあるので、どうすればいいですか?また、現在、私はUbuntuを実行していますが、同様のDebianまたはRPMに切り替えることにした場合、RHELベースのディストリビューションも同じプロセスですか?もしあれば、どのような考慮事項を考慮する必要がありますか?

18
Tony

パッケージ管理は、ディストリビューション間の主な差別化要因の1つです。無関係なディストリビューションの間では、自動的に何かを行うことはできません。異なるディストリビューションは、ソフトウェアを異なるパッケージのセットに分割し、異なる名前を使用します。

同じディストリビューションの同じバージョンを実行しているマシン間で、インストール済みパッケージのリストを再現することにより、同様のインストールを実現できます。 Debianや派生物(Ubuntu、Mintなど)などのaptを使用するシステムでは、 apt-clone を使用します。正確なコマンドについては、 インストール済みのパッケージ選択を1つのDebianシステムから別のシステムに複製するにはどうすればよいですか?(Debian Wheezy) を参照してください。一言で言えば、古いマシンで:

Sudo apt-get install apt-clone
apt-clone clone foo

foo.apt-clone.tar.gzを新しいマシンにコピーして実行します

Sudo apt-get install apt-clone
Sudo apt-clone restore foo.apt-clone.tar.gz

apt-cloneは、関連するディストリビューション間で機能する場合があります。 DebianとUbuntu。その場合、restoreではなくrestore-new-distroを使用してください。それが失敗する場合は、dpkg --get-selectionsおよびapt-markとともに manual method を使用し、aptが満たされるまでパッケージリストをいじります。

独自の設定の場合は、より簡単です。ホームディレクトリから dot files をコピーするだけです。原則として、システム全体ではなく、アカウントのハードウェアに関連しないものを構成します。これにより、別のマシンに簡単にコピーできます。

Debianファミリーにとどまっている場合は、そうです。非常に簡単に転送できます。現在インストールされているパッケージを一覧表示してファイルに保存し、そのファイルを読んで再インストールするだけです。

  1. インストールされたパッケージをファイルinstalledに保存します。

    dpkg -l | grep ^ii | awk '{print $2}' > installed
    
  2. 新しくインストールしたDebianベースのディストリビューションに、保存したパッケージをインストールします。

    Sudo apt-get install $(cat installed)
    

または、GUIツールを使用することもできます。ミントには mintbackup と呼ばれる非常に素晴らしいものがあります:

mintbackup screenshot

次に、新しいインストールから:

another screenshot of mintbackup

10
terdon

通常、設定は/etc/に保存されます。 etckeeper は便利です。その主な目的は、/etc/をgitリポジトリに変換することですが、よく理解していれば、コピーしたくない部分も除外されます。したがって、gitに精通している場合は、etckeeperを使用して変更を新しいインストールにマージする方がよいでしょう。

1
Rolf