Raspberry Pi全体を別のRaspberry Piに展開するために複製できますか?


12

「SDカードをバックアップする方法」のトピックがすべて私が求めているものであるかどうかはわかりません...しかし、ここに行きます:)

Raspberry Piの100%クローンを作成し、それを別のRaspberry Piに展開する方法はありますか?だから私は2つのまったく同じコピーを持っています...またはこれは組み込みのddコマンドを使用してSDカードを複製することによって行われますか?

私が尋ねている理由は、Raspberry PiがApachePHP、およびその他のいくつかのライブラリで完全に構成されており、まったく同じ構成の別のクローンが必要なためです。

これは可能ですか、それとも私自身の質問に答えましたか?


これまでにpicloneについて言及されていないことに驚いています。私にとっては、これがsdカードをrpiに複製する最も簡単な方法であり、nvereで問題が発生しました。:私はすでにいくつかの詳細と答えへのリンクであるので、ここでは、過去にこの質問に答えましたraspberrypi.stackexchange.com/questions/66824/...・ホープ、このことができますが。
LecauseAndThePi 2017年

私はどこにもpicloneのダウンロードを見つけることができませんでした
エリアワイス

ダウンロードする必要はありません。すでにそこにあります。ターミナルでpicloneと入力するだけで、GUIが起動します。
LecauseAndThePi

回答:


9

@naboovalley:

次のシナリオを想定します。

  • Raspberry Piで、ターミナルに移動してから、/ devディレクトリに移動します。他のデバイスの中でも、mmcblk0、mmcblk0p1、およびmmcblk0p2が表示されます。
  • mmcblk0は「ベア」SDカードデバイスであり、mmcblk0p1はカーネルイメージなどを含むSDカードの最初のパーティションで、mmcblk0p2はルートファイルシステムを含むSDカードの2番目のパーティションです。
  • Raspberry Piを適切な方法でシャットダウンします(「shutdown」コマンドを入力します(おそらくrootとして))。
  • SDカードを別のLinuxマシンに挿入します。通常、上記のディレクトリは自動的に/ media /にマウントされ、そこに2つのサブディレクトリが必要です(1つはSDカードのパーティション1用、1つはSDカードのパーティション2用)。
  • SDカードのコンテンツをコピーする一時ディレクトリを作成しました。いう:~/tmp
  • あなたは ~/tmp

次のrsyncコマンドを発行して、元の元のSDカードの最初のパーティションの内容をコピーできます。

rsync -avn /media/<user>/<partition1> .

最後にa を付けないでください/。上記のコマンドは「ドライラン」します。つまり、最終的に何をするかを示しますが、実際には実行しません。

実際に実行するには(予行演習が実行すべきことを確認した後)、n上記のコマンドからを削除できます(so、rsync -av /media/<user>/<partition1> .)。

他のパーティションにも同じコマンドを使用します。

これで、Linuxマシンに元のSDカードの正確なコピーができるはずです。

元のSDカードを取り外し、別の- 正しくフォーマットされた -SDカードをLinuxマシンに挿入して、次のrsyncコマンドを実行します。

rsync -avn <partition1> /media/<user>

これも予行演習であり、<partition1>in のコンテンツが/media/<user>SDカードにコピーされることが示されます。

すべて問題ないことを確認したら、もう一度コマンドnからを削除できますrsync

2番目のパーティションについても同じようにします。

これにより、元のSDカードの正確なコピーが他のSDカードにコピーされます。

注:私はこれらすべてをLubuntuマシンでチェックしました。ディレクトリと名前は、他のLinuxディストリビューションによって異なる場合があります。

間のアイテム< >はプレースホルダーであり、環境とどのように一致するかを自分で確認する必要があることにも注意してください。


パーフェクト。ありがとうございました!「dd」コピーはあなたが説明したのと同じことをするのでしょうか、それともrsyncは私が望む方法でシステム全体のコピーを行う方がずっと良いのでしょうか?
naboovalley 14

ddコマンドに関する経験があまりないので、
わかり

「- 正しくフォーマットされた -SDカード」と言う部分は完全にはわかりません。適切なサイズのfat32およびext4パーティションでSDカードを事前にフォーマットする必要がありますか?ありがとう
Romain Vincent

7

はい、あなたは使用することができますddWin32のディスクイメージャ別のカードからの正確な画像を撮影するには、Windows上で。ただし、これを実用的にするには、宛先カードは同じサイズ以上である必要があります。

また、ソースファイルシステム上のすべてのファイルを宛先ファイルシステムにコピーすることもできます。つまり、宛先カードをUSBカードリーダーに差し込み、それをソースRaspberry Piに貼り付けます。次にSSHで接続し、適切なコピーコマンドを発行します。

また、MPEG-2またはVC-1のハードウェアデコード用のライセンスキーを購入した場合にも注意してください。これらはハードウェアに関連付けられているため、コピーの/boot/config.txtを編集する必要があります。


それで、SDカードはすべてのシステム固有のファイルとインストールされたライブラリを保持しますか?SDカードのクローンコピーをR-Pi#2に差し込むときに、インストールコマンドを実行する必要はありませんか?
naboovalley 14

2
これは、SSHキーとIPアドレスの問題を引き起こす可能性もあります。
Steve Robillard 14

したがって、R-Pi#2では、IPアドレスはR-Pi#1と同じであると考えられますか?更新して新しいネットワークIPを取得できると思いますか?
naboovalley 14

DHCPを使用している場合、RPiは起動時に新しいIPを自動的に受信しますが、同じサブネットで両方を使用する場合は、ホスト名を変更する必要があります。固定IPを使用する場合は、IPとホスト名の両方を変更する必要があります
Roberto

私のファイルシステム( "df")を見ると、 "rootfs" 2.1GBおよび/ dev / root 2.1GBと呼ばれるものがあり、/ dev / mmcblk0 sd-cardは10Mしかかかりません。「mmcblk0」をコピーすると、システム全体が含まれるようになりますか?みんなありがとう
naboovalley 14

6

@ me--が示唆するように、ddを使用してコピーすることもできますが、システムのクローンを作成するときに必要なことはそれだけではありません。同様に変更する必要がある特定の一意のシステム識別子があります。

新しいソルトが使用されるように、パスワードをリセットする必要があります。これにより、同じパスワードを2回使用したことを他の人に知られないようにします。passwdユーザー(通常はpi)とrootの両方としてコマンドを実行します。

SSHを使用する場合は、SSHキーを再生成する必要があります。これは、たとえば、誰かが1つのRaspberry Piを盗んだ場合、他のRaspberry Piとの通信を解読できないようにするために重要です。次のコマンドを実行してください:

sudo rm /etc/ssh/ssh_host_*

最後に、そして最も重要なこととして、ホスト名を変更する必要があります。デフォルトの場合はraspberrypiです。私のような人なら、Raspberry Piのホスト名にSSHで接続するので、そうしますssh raspberrypi。ネットワーク上に2つの「raspberrypis」があると、機能なくなります。たとえば、2番目の名前をrasberrypi2に変更する必要があります。この変更sudo raspi-configは、、、Advanced Optionsおよびの順に選択して実行できHostnameます。


raspi-configRaspbmcでは使用できません。おそらく、手動でホスト名を設定する方法を説明する必要がありますか?
Peter Mortensen、2015年


参考までに、raspberrypi.stackexchange.com / questions / 3926 /…は、Raspbmcでのホスト名の変更について説明しています。
Fred

4

バックアップ用またはシステムを別のRPi3に移動するためのマイクロSDのクローン作成は、少なくともNOOBSスタートアップSDで入手したオペレーティングシステムのバージョンでは、アクセサリーとして組み込まれています。

  • アクセサリーに行く;
  • ヒットコピーSDを
  • 空のマイクロSDをUSBホルダーに入れます。
  • 開いているUSBスロットにホルダーを置きます。
  • 新しいSDを選択します。
  • コピーをヒットします。

これが正解です。とても簡単。
ジョーダン

1

ラズベリーパイとUSB経由で接続された新しいモットーSDカードを使用して、まさにそれを行うことができます。Raspberry Piソフトウェアの最新バージョンには、これを正確に行うアクセサリの下に、SDカードコピーと呼ばれるソフトウェアが組み込まれています。

元のカード(起動元のカード)をソースとして選択し、フォーマット済みの新しい空のカード(カードリーダーを介してpiのUSBに接続)を宛先として選択します。かなりシンプルなUIで、初めて動作しました。Macでddを使用するコマンドラインオプションは、どういうわけかカーネルパニックの問題を抱えてしまいました。


0

ルートファイルシステムのようなものをコピーするための非常に安全で信頼性の高いツールは(ルートファイルシステムに存在するリンクのため)ですrsync。このツールは、タイムスタンプ、リンク、アクセス許可などの必要なものすべてを考慮に入れます...やりたいことをコピーするのに最適です。


しかし、私はまだ完全なシステム複製のSDカードのコンテンツのみをコピーします-または何か他のものを含める必要がありますか?ありがとう
naboovalley 14

以下に投稿した新しい返信をご覧ください。
GeertVc 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.