ユーザー設定とデータを新しいマシンに移行する方法は?


52

私はUbuntuが初めてで、最近PCで使用し始めました。そのPCを新しいマシンに交換します。データと設定をネットトップに転送したい。どのような側面を考慮する必要がありますか?

明らかに、データを移動したいです。ホームフォルダー全体をコピーするだけの場合、不足しているものは何ですか?

これはホームPC(企業ではない)であるため、ユーザーの権利やその他のセキュリティの問題は問題になりませんが、新しいマシンでファイルにアクセスできる必要があります。

新しいマシンは光学ドライブを持たないネットトップであり、古いSATAディスクをフックすることができないため、すべてのデータ転送はホームネットワーク経由で処理する必要があることに注意してください(私は両方を持つことができます古いマシンと新しいマシンの電源がオンになり、ホームLANに接続されました)と、容量が制限されたUSBサムドライブ(2GB)があります。
これは、一般的な適用性を制限するように思えますが、実際にはより一般的になります。

回答:


43

ユーザー設定は、設計によりホームフォルダーに保存されます。だから、あなた/home/your-usernameがあなたの新しいコンピュータにコピーするなら、あなたは大丈夫であるはずです...

...しかし、注意点があります:

  • 許可。「プログラム」(シェルスクリプト、カスタムビルドプログラム)はホームフォルダーに配置されるのが一般的です。アクセス許可を保持するには、--preserve=modeスイッチを使用します(を使用cp)または-p(を使用してtar
  • UserID / GroupID。両方のシステムでユーザー名が同じであっても、ユーザーIDは同じである必要はありません。通常、これは問題ではありませんが、UserIDで中継するスクリプト/プログラム/設定がある場合、ユーザーIDとグループIDがターゲットシステムで同じであることを確認する必要があります。
    を実行すると、現在のユーザーIDとグループIDを見つけることができますid。たとえば、ユーザー「your-username」のユーザーIDを変更するには、を実行しsudo usermod --uid 1234 your-usernameます。groupIDを変更するには、を実行する必要がありますsudo groupmod --gid 1234 your-username

設定(Firefoxのプロファイル、外観など)は、多くの場合、隠しフォルダー(またはファイル)に保存されます。非表示のフォルダー/ファイルには.mozilla、Firefox(および他のMozillaアプリケーション)のように、ドットが先頭に付きます。

セキュリティは問題ではなく、コピージョブを可能な限り高速に実行したいので、netcatとtarプログラムの組み合わせをお勧めします。両方のアプリケーションはデフォルトでインストールされます。両方のコンピューターのファイアウォールが、宛先ポート8888(ソースコンピューター)への着信アクセスと宛先ポート8888(ターゲットコンピューター)への発信を許可していることを確認してください。コマンドをすばやく実行できるように、ネットトップをコンピューターの横に置きます。

ソースコンピューターに、従来のnetcatプログラム(別名BSDのスイスアーミーナイフ)をインストールする必要があります。これを行うには、netcat-traditionalパッケージをインストールします。従来のnetcatプログラムをデフォルトとして構成することもできます。netcat-traditionalをインストールしてデフォルトとして使用するコマンド:

sudo apt-get install netcat-traditional 
sudo update-alternatives --set nc /bin/nc.traditional

ソースコンピューターで、ターミナルで次のコマンドを入力します(まだEnterキーを押さないでください)。

 tar cz -C/home $(whoami) | nc -l -p 8888 -w 10

説明:

  • tarはファイルをパックするためのユーティリティです
  • cz cはそのようなパックされたファイル( "tarball")を作成します
  • tarボールは、ファイルサイズを小さくするためにG Z ipアルゴリズムを使用して圧縮されます。
  • -C/home $(whoami)作業ディレクトリを/homeユーザー名フォルダに変更して配置します。または、your-usernametarballにフォルダーを入力できます
  • nc (netcat)は、マシン間の接続を簡単に設定するために使用されます
  • -l:リスニングモード。他のマシンが現在のマシンに接続できます。
  • -p 8888:ポート8888でリッスンします(ランダムに選択された番号です。1024より大きい他の番号でも構いません)
  • -w 10:10秒の無音後にnetcatを終了します。この時間内にこのソースコンピューターに接続する必要があります。

次に、ターゲットコンピューター(nettop)に移動します。ファイルをターゲットマシンに追加するには、次のように入力します(まだ実行しないでください)。

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2ソースコンピューターのIPアドレスです。IPアドレスを取得するifconfigには、ソースマシンで次を実行します。
  • 8888 ソースマシンで入力されたポート番号
  • xzp:e xは、pを許可している間、ipで圧縮されたG Z tarballを抽出します。
  • -C/homeyour-usernameフォルダーを抽出します/home/your-username
  • 必要に応じて、-v詳細な抽出のためにtarコマンドにスイッチを追加して、進行状況を把握できるようにします。すべてのファイルを印刷する必要があるため、これによりコピープロセスが遅くなる可能性があります。

次に、ソースコンピューターに移動し、Enterキーを押してサーバーコマンドを実行します。ネットトップにすばやく切り替えてEnterキーを押し、クライアントコマンドを実行します。

ご質問がある場合は、下のコメント欄を使用してください。


1
絶対に素晴らしい概要!コマンドの詳細な説明もありがとう。モニターが1台しかないので、両方のマシンを隣り合わせにセットアップし、ある種のVNCを使用して古いマシンにアクセスしたいと思います。私はすぐにダミーのための素晴らしいガイドをグーグルで検索できると確信していますが、おそらくあなたはそれを推薦できますか?
トーベンGundtofte・ブルーン

Kubuntuで提供されているアプリケーション(Krdc)以外のVNCを使用していません。GUIが必要ない場合(このコピープロセスなど)、インストールするだけでopenssh-server、を実行してマシンに接続できますssh your-username@192.168.1.2。リモートGUIアクセスの場合、VNCは(ワイヤレス)ネットワーク上であっても非常に遅いため、使用しません。リモートGUIコントロールにはX2goをお勧めしますインストールガイド)。
レーケンシュタイン

ソースマシンは「これはnetcat-openbsdパッケージからのncです。代替のncはnetcat-traditionalパッケージで利用可能です。使用法:nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port ] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x proxy_address [:port]] [hostname] [port [s]] "、ターミナルプロンプトが再び表示され、ターゲットマシンは何も取得しません。私は何か間違っていますか?
ダニエル

@ダニエル:あなたが間違っているのは、質問をコメントとして投稿することだけです。新しい質問開いて、この質問にリンクします。
トーベンGundtofte・ブルーン

こんにちは、@ Lekensteyn、「Cannot open」と「Cannot mkdir:no such file or directory」が表示されます... VMで(ゲストとして)実行しようとすると同じことが当てはまりますか?
ジョージKatsanos

16

ソフトウェアパッケージについては、次をお読みください。http : //www.omgubuntu.co.uk/2010/05/transfer-your-packages-to-a-clean-install/

oldmachine$ sudo dpkg --get-selections > installedsoftware
newmachine$ sudo dpkg --set-selections < installedsoftware
newmachine$ sudo apt-get --show-upgraded dselect-upgrade

設定とデータについては、もう少し複雑です:-(設定のほとんどはホームフォルダに保存されているので、HOMEのバックアップを作成するとうまくいくかもしれません...しかし、もちろんこれはシステムをカバーしません/ etcに設定が保存されているアプリ...


newmachine$ sudo apt-get --show-upgraded dselect-upgradeエラーを与えるE: Command line option --show-upgrade is not understood
フレピー

12

アプリケーションのすべての設定の大部分は、デフォルトで非表示のホームフォルダーにあります。Ctrl+hNautilus を押すと、これらのフォルダーが表示されます。最も簡単な方法は、構成に必要なフォルダーを単純に再同期することです。このようなもの:

rsync -avz me@remote:/home/me/.foo me@remote:/home/me/.var me@remote:/home/me/.ack me@remote:/home/me/.bar /home/me/

また、ホームフォルダー全体を新しいコンピューターにrsyncすることもできますが、セットアップによっては問題が発生する可能性があります。



12

Ubuntu開発者が作業中です。OneConfと呼ばれます


そうそう-私はそれを忘れていた。リンクは次のとおり
2010/06

今日上陸しましたが、探索することはあまりありません。
akshatj

1
まだ進行中の作業のように見えます。このパッケージは成熟していますか?
レンザイ

2
最後によると2015を更新code.launchpad.net/oneconfもうそれほどアクティブプロジェクトをいない
グレッグブレイ

8

1台のマシンに好みのインストールがある場合は、単純にクローンを作成できます。同じアーキテクチャ(32ビットまたは64ビット、つまりi386またはamd64または...)を実行している限り、マシンのハードウェアが異なっていてもかまいません。

これを行う方法を次に示します。少し長いですが、かなりローテクです。多くのバリエーションが可能です。

  1. プラグ既存のマシン(またはその逆)に新しいマシンのディスクを。
  2. 既存のインストールから起動します。
  3. 新しいディスクをセットアップします。
    • ディスクのサイズが同じ場合:パーティションツール(システム/管理/ GParted、パッケージgparted)を起動し、古いディスク全体を新しいディスクにコピーします。
      • 後で1つのマシンのディスクを他のマシンにマウントした場合の混乱を避けるために、ファイルシステムのコピーに新しい一意の識別子を与える必要があります。ext2 / ext3 / ext4ファイルシステムの場合、sudo tune2fs -U $(uuidgen) /dev/sdz1where sdzが新しいディスクで1パーティション番号が次のようなコマンドを使用します。
      • ボリュームに名前を割り当てた場合、別の名前を割り当てることができます。
    • それ以外の場合は、GPartedまたはSystem / Administration / Disk Utilityを使用して新しいディスクにパーティションを設定し、フォーマットします。両方のディスクに同じサイズのパーティションがある場合は、GPartedでそれらをコピーできます。
  4. Placesに表示されるはずの新しいインストールのルートパーティションをマウントします。
  5. (ディスク全体をコピーした場合は、この手順をスキップしてください。)古いインストールのルートパーティションから新しいパーティションにデータをコピーします。このステップで権限とファイル所有権を保持することが重要であり、これはスーパーユーザー(root)としてそれを行う必要があることに注意してください。Ubuntu GUIのやり方はわかりません。コマンドラインで実行します(新しいルートパーティションがマウントされている場所に置き換えます)。sudo cp -ax / /media/disk9/media/disk9
  6. 手順3でそのパーティション(またはディスク)を全体としてコピーした場合を除き、所有している可能性のある他のパーティション(別のホームパーティションなど)に対して、前の2つのステップを繰り返します。
  7. 新しいインストールを微調整します(にマウントされていると仮定します/media/disk9; adjust as needed):
    • 編集して、新しいマシンの名前を設定します。下のファイルをチェックし、ホスト名の他の発生のために-それはで表示されることがあります、など/media/disk9/etc/hostname/media/disk9/etc//media/disk9/etc/hosts/media/disk9/etc/mailname
    • sshサーバーを実行している場合は、削除し/media/disk9/etc/ssh/ssh_host_*_key*ます。新しいインストールを起動すると、サーバーは新しいキーを生成します。
    • を編集してネットワークを構成した場合、新規インストール用/etc/network/interfacesに編集/media/disk9/etc/network/interfacesします。
    • 必要に応じて、ファイルを削除/etc/udev/rules.d/70-persistent-*.rules存在する場合、あなたのディスクやネットワークインターフェイスが同じ名前(再利用するように、sdaeth0新しいマシン上での、...)。
    • あなたが使用している場合は、独自のビデオドライバ(ATIやNvidiaのを)して、新しいマシンは同じドライバ、移動使用してはならない/media/disk9/etc/X11/xorg.confとし/media/disk9/etc/X11/xorg.conf.old-machine、そうでなければ、新しいマシンでGUIに起動することができない場合があります。
  8. 移動その正当なマシンに新しいインストール戻ってディスクを。
  9. ディスク全体を複製しなかった場合は、ライブCD / USBを挿入してブートローダーを修復します
  10. 新しいインストールから起動し、必要な残りの移行手順を実行します。
    • 新しい専用ドライバー(システム/管理/ハードウェアドライバー)をインストールする必要がある場合があります。
    • Network Managerを使用し静的IPアドレスを設定した場合は、新しいマシンのネットワークを設定します。
    • sshサーバーを実行する場合は、実行dpkg-reconfigure openssh-serverして新しいホストキーを生成します。

こんにちは2013年から:)異なるハードウェアは重要ではないと確信していますか?いくつかの中国のラップトップからMac Airに移動しても?
シタール

@scythargon同じCPUタイプ(両方の場合でx86)である限り、大きな違いはありません。おそらくインストールするドライバーと設定ファイルだけです。Windowsとは異なり、Linuxはハードウェアの依存関係をいくつかのわかりやすいファイルにまとめています。
ジル 'SO-悪であるのをやめる'

1
私が書いたこの(類似の)ガイドをご覧
M

まとめてくれてありがとう。/etc/udev/rules.d/70-persistent-net.rulesudevによって自動生成されたファイルの削除を追加できれば、新しいネットワークデバイスが以前にインストールされたものと同じ名前にならないことを保証するために使用されます。
テレビ:14年

@tvn実際にそのファイルを削除する必要はありません。同じインターフェイス/ディスク名が再利用されるのを防ぎますが、それは必ずしも悪いことではありません。
ジル 'SO-悪である停止'

6

すべてのデータと設定は自宅に住んでいます。

コピーするだけの場合、次のものが失われます。

  • インストールされたプログラム。しかし、この質問に対するサバコンの回答をご覧ください。
  • 家庭用コンピュータのシステム全体の構成は、通常、単なる追加のPPAです。
  • システム全体のプログラム(通常はデーモン)データ(MySQLデータベースなど)。

ネットワークコピーを作成する最も簡単な方法は次のとおりです。

  • 古いコンピューターにOpenSSHサーバー Gwibberをダウンロードするをインストールします。
  • 両方のコンピューターがネットに接続されていることを確認してください。
  • 新しいコンピューターでNautilus(ファイルブラウザー)を開きます。
  • [表示]メニューで、[隠しファイルを表示]をオンにします。
  • アドレスバーの種類で、Ctrl + Lキーを押します ssh://ip-of-old-computer/home/
  • 古いコンピューターでユーザー名とパスワードの入力を求められるはずです。
  • GUIを使用して必要なものをすべてコピーします。

ここに画像の説明を入力してください


4

ドロップボックス。

これは、あるマシンから別のマシンに設定をバックアップする方法であり、ハードディスクを完全に失っても問題ではありません。

Dropboxはオンラインのバックアップ/同期サービスであり、大きな力を発揮し、無料で入手できます。これは、ubuntu Karmicおよびパートナーリポジトリで利用できます。nautilus-dropboxというパッケージを探しています。または、次のサイトからダウンロードすることもできます:https : //www.dropbox.com/downloading?os=lnx

上記のように、関連する設定のほとんどは下に保存されます /home/yourname/.whatever

たとえば、gnome構成設定は下に保存されます

/home/username/.gnome2

したがって、同期を行うには:

パート1:構成設定をDropboxにバックアップします。(これはすべて「古い」マシン上にあり、設定/構成を希望どおりに設定できます。)

  1. ホームディレクトリに移動し、できるだけ多くの「ドットファイル」とディレクトリを見つけます。これらのほとんどすべては、個人の構成設定に関連します(隠しファイルを表示するには、NautilusでControl + Hを押します)。
  2. これらの構成ファイルファイルをDropboxフォルダーにコピーします。紛失する恐れがある場合は、バックアップを作成してください。
  3. ホームディレクトリから元のファイルを削除し、その新しいホーム(ドロップボックスフォルダーの下)のファイルからホームディレクトリへのリンクを作成します。これを行うには、「Alt」キーを押しながらファイル/フォルダーをホームディレクトリ名にドラッグアンドドロップし、「リンクを作成」を選択します。

パート2:(新しいマシン上)Dropboxで同期された構成設定からリンクを作成します。

  1. 「新しい」マシン上、つまり Ubuntuの新規インストール、古いホームディレクトリ設定ファイルの削除(および必要に応じてバックアップ)。新しいマシンにDropboxをインストールします。同期を許可します。つまり、古いマシン設定をダウンロードします。
  2. 新しいマシンで上記の手順3を繰り返します-Dropboxで同期されたフォルダーからホームディレクトリにリンクをコピーします。

出来上がり。これで、インターネットベースの設定のバックアップと移行ができました。


2

Stippleを見てください、私にとっては面白そうです:

「インストールされたアプリケーション、.configファイル、およびその他の設定のリストをcouchDBに保存します。このDBをUbuntu Oneで他のコンピューターに同期します。このアプリケーションは、これらのパッケージおよび.configファイルを他のコンピューターにインストールするのにも役立ちます」

https://launchpad.net/stipple


サービスがシャットダウンされたため、Ubuntu Oneはオプションではなくなりました。
トミスラフナキクアルファレビッチ

0

Mackupは、多くのアプリをクラウドまたはバージョン管理にバックアップできます。拡張は簡単です。たとえば、これはsshプラグインがどのように見えるかです

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