Ubuntuデスクトップの構成を、ハードウェアが異なる新しいボックスに移行したい。これを行う最も簡単な方法は何ですか?/ etc /にはマシンとハードウェア固有の設定が含まれているので、盲目的にコピーすることはできません。インストールされたパッケージにも同様の問題が存在します。
編集:これはx86からx86-64への移行です。
Ubuntuデスクトップの構成を、ハードウェアが異なる新しいボックスに移行したい。これを行う最も簡単な方法は何ですか?/ etc /にはマシンとハードウェア固有の設定が含まれているので、盲目的にコピーすることはできません。インストールされたパッケージにも同様の問題が存在します。
編集:これはx86からx86-64への移行です。
回答:
まず、32ビットバイナリを引き続き実行する場合は、実際にはプロセッサアーキテクチャを変更するわけではありません。他の機能も実行できる場合でも、x86プロセッサを実行することになります。その場合は、Linuxインストールを新しいコンピューターに移動するで説明されているように、インストールを複製するか、単にハードディスクを移動することをお勧めします。
一方、64ビットシステム(Ubuntuの用語ではamd64
アーキテクチャ)が必要な場合はamd64
、i386
システムにパッケージをインストールできないため、またはその逆のため、再インストールする必要があります。(これはMultiarchが登場すると変更されます)。
多くのカスタマイズはホームディレクトリにあり、新しいマシンにコピーできます。プロセッサアーキテクチャの変更により、システム設定を簡単にコピーすることはできません。
Ubuntu 10.10以降では、OneConfを試してください。
OneConfは、Ubuntu Oneでソフトウェア情報を記録し、必要に応じて他のコンピューターと同期するためのメカニズムです。Maverickでは、インストールされているソフトウェアのリストが保存されています。これは、一部のアプリケーション設定とアプリケーションの状態を含むように最終的に拡張される可能性があります。以下のような他のツール点描は、より高度な設定/制御を提供することができます。
新規インストールで再現したい主なものの1つは、インストールされたパッケージのセットです。APTベースのディストリビューションでは、aptitude-create-state-bundle
コマンド(aptitude
パッケージの一部)を使用して、インストールされたパッケージとそのdebconf構成のリストを含むアーカイブをaptitude-run-state-bundle
新しいマシン上に作成できます。(おかげで直感についての私に告げるためにaptitude-create-state-bundle
。)も参照してくださいUbuntuのリストが明示的にインストールされたパッケージとスーパーユーザーをとUbuntuの質問をしては、そこに特に引用テレマコスの答えを手動でこの部分を行う方法で、。
で変更したものについては/etc
、それらを確認する必要があります。多くは特定のハードウェアまたはネットワーク設定に関係しているため、コピーしないでください。他のユーザーは個人設定を使用する必要があります—ただし、個人設定は可能な限りユーザーごとに設定して、設定がホームディレクトリに保存されるようにする必要があります。
事前に計画している場合は、etckeeper を使用/etc
してバージョン管理下に置くことができます(etckeeperクイックスタート)。etckeeperを使用するためにバージョン管理について何も知る必要はありません。空想的なことを行うためにそれを利用したい場合にのみ、学習を開始する必要があります。
/home
、/etc
、/var
、/usr
およびすべて)だけを編集でいくつかのファイルetc
そのニーズ編集。すべてのバイナリパッケージを再インストールする必要があるため、別のアーキテクチャに切り替える場合、これはオプションではありません。
/etc
、(自動コミットフックに依存するのではなく)意味のあるコミットメッセージを使用して各変更を個別にコミットし、sysadmin設定またはサイト全体の構成とは異なるブランチでマシン固有の変更をコミットします。ただし、基本的な使用法でも、に加えた変更を追跡するのに役立ち/etc
、新しいマシンでそれらを複製できます。
aptitude-create-state-bundle
ですか?
aptitude-create-state-bundle
。おかげで、これはAPT管理の状態を自動的に再現する方法です(APTソースやdebconf設定を再現しない手動の方法よりも優れています)。関連する質問への 回答を追加することもできます。
手動で構成したもの以外のすべてを取得する方法は次のとおりです。
dpkg --get-selections > packages.txt
debconf-get-selections > debconf.txt
これらのファイルは、archに依存するもの(たとえば、linux-image)に合わせて必要に応じて編集しますが、それほど多くはないと思います。
これらのファイルを新しいシステムにコピーして実行します。
debconf-set-selections < debconf.txt
dpkg --set-selections < packages.txt
apt-get dselect-upgrade
また、(できればrsyncを使用して)/ homeおよびその他のデータディレクトリを新しいシステムにコピーすることもできます。
残っているのは主要なパッケージ(例、apache、bind、cronjobsなど)の構成ファイルだけです。
aptitude search '~i !~M'
手動でインストールしたパッケージのリストを保存するために使用します。詳細については、この回答を参照してください。
ドライバー、レジストリ、およびマザーボードの変更に敏感なWindowsブードゥーの多くは、すべてのドライバーをモジュールとして持つ汎用カーネルを使用している場合、Linuxではそれほど深刻ではありません。これは、Ubuntuの通常の状況です。これらは私が知っているハードウェアに依存する/ etc内の唯一のものです:
GPUが同じで、ドライブコントローラーが同じタイプで、ネットワークインターフェイスの名前に依存する自家製のスクリプトがたくさんない場合は、大きな問題は発生しません。
/etc/default/grub
の値としてに保存GRUB_CMDLINE_LINUX_DEFAULT
)をこのリストに追加する必要があります。
[ この優れた答えに加えて]
インストールされたパッケージに関する懸念について言及しているようです。これにより、あるマシンから別のマシンにディスクを転送することになると思います。2台のマシンがx86アーキテクチャであると想定すると、私が考えられる唯一の問題は、インストールが64ビットで、新しいマシンがそうでない場合です。状況が逆の場合、問題はないはずです。