web-dev-qa-db-ja.com

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

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

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

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

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

ユーザー設定は、設計によりホームフォルダーに保存されます。したがって、/home/your-usernameを新しいコンピューターにコピーすれば、大丈夫です...

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

  • 許可。 「プログラム」(シェルスクリプト、カスタムビルドプログラム)はホームフォルダーに配置されるのが一般的です。許可を保持するには、--preserve=modeスイッチ(cpを使用)または-ptarを使用)を使用します
  • 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のプロファイル、外観など)は、多くの場合、隠しフォルダー(またはファイル)に保存されます。非表示のフォルダー/ファイルには、Firefox(およびその他のMozillaアプリケーション)の.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")を作成します
  • TarballはGを使用して圧縮されますZファイルサイズを小さくするipアルゴリズム。
  • -C/home $(whoami)は作業ディレクトリを/homeに変更し、ユーザー名フォルダを配置します。別の方法として、your-usernameフォルダーをtarballに入力することもできます
  • 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バツgを牽引ZiP圧縮されたtarballながら p権限を予約します。
  • -C/homeyour-usernameフォルダーを/home/your-usernameに抽出します
  • 必要に応じて、-vスイッチをtarコマンドに追加して詳細な抽出を行うと、進行状況を把握できます。すべてのファイルを印刷する必要があるため、これによりコピープロセスが遅くなる可能性があります。

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

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

42
Lekensteyn

ソフトウェアパッケージについては、以下をお読みください。 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に設定が保存されているアプリ.

16
Little Jawa

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

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
Marco Ceppi

Ubuntuの開発者はそれに取り組んでいます、それは OneConf と呼ばれています。

12
akshatj

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

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

  1. プラグ新しいマシンのディスクを既存のマシンに挿入(またはその逆)。
  2. Boot既存のインストールから。
  3. 新しいディスク:をセットアップします
    • ディスクのサイズが同じ場合:パーティションツール(システム/管理/ GParted、パッケージgparted)を起動し、古いディスク全体を新しいディスクにコピーします。
      • 後で1つのマシンのディスクを他のマシンにマウントした場合の混乱を避けるために、ファイルシステムのコピーに新しい一意の識別子を与える必要があります。 ext2/ext3/ext4ファイルシステムの場合、Sudo tune2fs -U $(uuidgen) /dev/sdz1などのコマンドを使用します。ここで、sdzは新しいディスクで、1はパーティション番号です。
      • ボリュームに名前を割り当てた場合、別の名前を割り当てることができます。
    • それ以外の場合は、GPartedまたはSystem/Administration/Disk Utilityを使用して新しいディスクにパーティションを設定し、フォーマットします。両方のディスクに同じサイズのパーティションがある場合、それらをGPartedでコピーできます。
  4. Mount 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をポップして、bootloaderを修復します。
  10. 新しいインストールから起動し、必要な残りの移行手順を実行します。
    • 新しい独自のドライバ(システム/管理/ハードウェアドライバ)をインストールする必要があるかもしれません。
    • Network Managerで静的IPアドレスを設定した場合は、新しいマシンのネットワークを設定します。
    • ssh serverを実行する場合は、dpkg-reconfigure openssh-serverを実行して新しいホストキーを生成します。
8
Gilles

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

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

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

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

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

enter image description here

6
Javier Rivera

ドロップボックス

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

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で同期されたフォルダーからホームディレクトリにリンクをコピーします。

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

4
emf

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

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

https://launchpad.net/stipple

2
Sabacon

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

0
ivotron