別のハードウェアに移行する場合、Linux環境を複製するにはどうすればよいですか?


10

現在、Eclipse、MySQL、Python、Firefoxなどのパッケージ、モジュール、設定などをKubuntuにセットアップしています。また、自分のニーズに合わせてKubuntuを最適に構成しました。別のプロセッサを搭載した別のマシンに環境を複製したいと思います(現在Intel Q9450では、新しいプロセッサはi7です)。私が理解しているように、私のアプリケーションは特定のプロセッサで使用するためにコンパイルされているので、まっすぐなパーティションのコピーを作成することは問題外です。

すべてを再インストールして再構成する以外に、この他のマシンに環境を複製する方法はありますか?


この質問は私にとって信じられないほどです...私は同じことを尋ねていました!
dag729

「私が理解しているように、私のアプリケーションは特定のプロセッサーで使用するためにコンパイルされています」:そのアイデアはどこで得たのですか?私はそれを行うディストリビューション(もちろんGentooを除く)を知りません。
sleske

@sleske:Debianのppcバージョンにamd64パッケージをインストールしようとしたことがありますか?;)
dag729

1
@ dag729:もちろん、プロセッサアーキテクチャを変更する場合は、新しいパッケージが必要になります。しかし、Intel Q9450とi7は両方ともx86プロセッサーです。
sleske

1
私のi7はx86_64だと思いました。このマシンで64ビットアプリケーションを実行しています。私は間違っていますか?
好奇心が強い

回答:


3

私が理解しているように、私のアプリケーションは特定のプロセッサで使用するためにコンパイルされているので、まっすぐなパーティションのコピーを作成することは問題外です。

この結論に至った理由は何ですか?少なくともx86の場合、Kubuntuによってインストールされたパッケージは、事実上すべての先史時代以外のCPUで実行されるようにコンパイルされます。486より新しいもので実行されると思いますが、おそらくあなたの場合は問題になりません:-)。

したがって、ストレートパーティションコピーは問題なく機能するはずです。

  • パーティションをコピーします(またはcp -a、パーティションレイアウトが変更された場合、単にを使用してファイルをコピーします)
  • / etc / fstabを新しいパーティションレイアウトに適合させる
  • 新しいパーティションのブートローダーを再構成し、ブートローダーを再インストールします
  • 起動して楽しむ

問題が発生するのは次の場合のみです。

  • 自己コンパイルパッケージですが、コンパイラオプションを使用しない限り、ほとんどの場合、デフォルトで最新のすべてのCPU向けにコンパイルされます。
  • デバイスドライバ

最新のカーネルのほとんどは起動時にhwを自動検出するため、通常はドライバーでも問題ありませんが、問題が発生した場合は通常シングルユーザーモードで起動してドライバーの問題を修正できます。


これがうまくいけば、私の人生はずっと楽になります。ありがとう!最初にこれを試してみます。
好奇心が強い

7

ホームディレクトリを変更せずに使用できます。ホームディレクトリに入るほとんどすべてのものは、NFSのようなものを介して共有できるように設計されているので、あなたは良いです。

また、選択したパッケージを保存します

sudo dpkg --get-selections '*' >file.txt

そして他のマシンでそれを復元します

sudo dpkg --set-selections <file.txt

同様に、debconf設定を保存します

sudo debconf-get-selections >file2.txt

そして復元

sudo debconf-set-selections <file2.txt

/etcdebconfによって管理されていない残りの設定については、etckeeper(おそらく将来のアイデア)のようなものを使用していない限り、手動で変更されたものを追跡するのは困難です。そのため、ほとんどの構成をホームディレクトリに保持する傾向があります。ただし、どのプログラムに関心があるかはわかっているので、関連するファイルを簡単に見つけて、/etc手動でチェックしてコピーする必要があります。


1
はい、別のアーキテクチャに移行する場合、これが方法です。サイドノートとして:/ etc /のコピーを安全な場所に作成するだけで、新しいシステムで必要なときに設定ファイルを選択的に復元できます。
-sleske

1

あなたの家をバックアップし、他のマシンに復元することができます。これではニーズを完全に満たすことはできませんが、すべての構成が復元されます。ただし、パッケージを自分で再インストールする必要があります。


1

カスタム構成の大部分は/ home /にあり、残りのほとんどは/ etc /にあります。一部の/ etcファイルには、マシンまたはハードウェア固有の情報(/etc/X11/xorg.conf、/etc/hostname、/etc/fstabが私の頭上にあります)がありますが、その多くは、同じOSバージョンを使用する予定です。


リストしたもののうち、MySQLが/ etc /に設定を持っている可能性が高い唯一のものであり、残りは/ home /にあります
ジャスティンスミス

1

次に、get、setの選択項目を選択します。

どのconffileが変更されたかを正確に知るには、これを実行します:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

dlocateをまだインストールしていない場合は、dlocateを置き換えるか、dpkg -Sその部分をスキップできます。

すべてのconffileをバックアップするには:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -

1

うーん 新しいHDDをボックスに接続し、それをマウントしてからddを使用してもかまいません。たとえば、現在のルートが/ dev / sda3に設定されており、新しいHDDを/ dev / sdb2にマウントした場合は、

dd if=/dev/sda3 of=/dev/sdb2

もちろん、これをルートとして行う必要があります。その後、Grubをインストールする必要があるため、Ubuntu LiveCDを挿入して使用する必要があります。

:それとも、このリンクを見てとることができhttp://www.ehow.com/how_4924091_clone-hard-drive-linux.htmlを私は持っていないけれども、それはLinuxのハードドライブのクローンを作成するための貫通かなり良い散歩のように見えます-自分でそのサイトをテストしました。

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