ハードウェアが異なるコンピューター間で構成を移行するにはどうすればよいですか?


9

Ubuntuデスクトップの構成を、ハードウェアが異なる新しいボックスに移行したい。これを行う最も簡単な方法は何ですか?/ etc /にはマシンとハードウェア固有の設定が含まれているので、盲目的にコピーすることはできません。インストールされたパッケージにも同様の問題が存在します。

編集:これはx86から​​x86-64への移行です。


@ギレス「別のハードウェア」、特にx86から​​x86-64への移行については、別の質問に値すると思います。
phunehehe

プロセッサアーキテクチャが同じ場合の単純なケースについては、「Linuxインストールを新しいコンピュータに移動する」を参照してください。@phunehehe:質問は当初、アーキテクチャの違いについて言及していませんでした。
Gilles 'SO-悪をやめ

回答:


7

まず、32ビットバイナリを引き続き実行する場合は、実際にはプロセッサアーキテクチャを変更するわけではありません。他の機能も実行できる場合でも、x86プロセッサを実行することになります。その場合は、Linuxインストールを新しいコンピューター移動するで説明されているように、インストールを複製するか、単にハードディスクを移動することをお勧めします。

一方、64ビットシステム(Ubuntuの用語ではamd64アーキテクチャ)が必要な場合はamd64i386システムにパッケージをインストールできないため、またはその逆のため、再インストールする必要があります。(これは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 etckeeperをインストールするを使用/etcしてバージョン管理下に置くことができます(etckeeperクイックスタート)。etckeeperを使用するためにバージョン管理について何も知る必要はありません。空想的なことを行うためにそれを利用したい場合にのみ、学習を開始する必要があります。


プロセッサアーチの問題について説明してください。彼はx86-32からx86-64に移行しているので、問題はないはずです。
tshepang

1
@Tshepang:限り、あなたはアーキテクチャを変更していないとして、それは(インストール全体をコピーする方が簡単です/home/etc/var/usrおよびすべて)だけを編集でいくつかのファイルetcそのニーズ編集。すべてのバイナリパッケージを再インストールする必要があるため、別のアーキテクチャに切り替える場合、これはオプションではありません。
Gilles 'SO-悪をやめる'

1
@ user4745:理想的には/etc、(自動コミットフックに依存するのではなく)意味のあるコミットメッセージを使用して各変更を個別にコミットし、sysadmin設定またはサイト全体の構成とは異なるブランチでマシン固有の変更をコミットします。ただし、基本的な使用法でも、に加えた変更を追跡するのに役立ち/etc、新しいマシンでそれらを複製できます。
Gilles「SO-邪悪なことをやめなさい」

1
これは使用と比べてどうaptitude-create-state-bundleですか?
2011

1
@intuited:について知りませんでしたaptitude-create-state-bundle。おかげで、これはAPT管理の状態を自動的に再現する方法です(APTソースやdebconf設定を再現しない手動の方法よりも優れています)。関連する質問 回答を追加することもできます。
Gilles「SO-邪悪なことをやめなさい」

3

手動で構成したもの以外のすべてを取得する方法は次のとおりです。

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など)の構成ファイルだけです。


2
debconfについて言及する場合は+ 1、dpkgの選択を復元する場合は-1。これにより、すべてのパッケージが新しいマシンに手動でインストールされたものとしてマークされます。aptitude search '~i !~M'手動でインストールしたパッケージのリストを保存するために使用します。詳細については、この回答を参照してください。
Gilles「SO-邪悪なことをやめなさい」

1

ドライバー、レジストリ、およびマザーボードの変更に敏感なWindowsブードゥーの多くは、すべてのドライバーをモジュールとして持つ汎用カーネルを使用している場合、Linuxではそれほど深刻ではありません。これは、Ubuntuの通常の状況です。これらは私が知っているハードウェアに依存する/ etc内の唯一のものです:

  • 独自のグラフィックスドライバーがインストールされている場合は、これらが問題になる可能性があります。
  • 古いHPパビリオン(500Mhz cpu、かなり古い)から少しだけ新しいMSI KT4VボードにDebianがインストールされているハードドライブを交換しました。私が持っていた唯一の問題は、ネットワークインターフェイス名がめちゃくちゃだったことです。しかし、これは通常のユーザーよりも私に影響を与えました。このインストールは明示的にルーターとして使用するためでした。
  • 影響を受ける可能性があるもう1つは、lmセンサーです(使用する場合)。これはマザーボード固有ですが、sensors-detectを実行するだけで修正できます。
  • Linuxがそのルートパーティションを想定しているデバイスを変更した場合、または/ etc / fstabで指定されているデバイス/パーティションのいずれかが変更された場合、つまりPATAドライブからSATAに移動している場合は、これを更新する必要があります。問題があります。

GPUが同じで、ドライブコントローラーが同じタイプで、ネットワークインターフェイスの名前に依存する自家製のスクリプトがたくさんない場合は、大きな問題は発生しません。


ハードウェアは非常に類似しておらず、ディスクが大きく、パーティショニングが異なり、GPUも異なります。x86-> x64への移行となるため、ファイル階層のコピーは大幅な介入なしでは機能しないと思います。
user4745

ブートオプション(/etc/default/grubの値としてに保存GRUB_CMDLINE_LINUX_DEFAULT)をこのリストに追加する必要があります。
2011

0

[ この優れた答えに加えて]

インストールされたパッケージに関する懸念について言及しているようです。これにより、あるマシンから別のマシンにディスクを転送することになると思います。2台のマシンがx86アーキテクチャであると想定すると、私が考えられる唯一の問題は、インストールが64ビットで、新しいマシンがそうでない場合です。状況が逆の場合、問題はないはずです。


私はディスクを転送していませんが、それが簡単であればドライブ全体をコピーできます。私がクリーンインストールを行ったと仮定すると、ハードウェアやシステムに依存するパッケージを省略して、同じパッケージを再インストールしたいと思いました。
user4745

また、x86-> x64への移行となります。
user4745
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.