有没有办法我可以使100 %克隆我的Raspberry Pi,然后将其部署到另一个Raspberry Pi?所以我有两个完全相同的副本...还是通过使用内置的dd命令克隆SD卡来完成?
我问的原因是我已经完全配置了Raspberry Pi使用Apache,PHP和其他一些库,现在我只想要它的另一个克隆,它们具有完全相同的配置,等等。
这可能还是我回答了自己的问题?
#1 楼
@naboovalley:假设以下情况:
在您的Raspberry Pi上,转到终端,然后转到/ dev目录。您应该会在其他设备中看到mmcblk0,mmcblk0p1和mmcblk0p2。
mmcblk0是“裸” SD卡设备,而mmcblk0p1是该SD卡的第一个分区,包含内核映像,依此类推,而mmcblk0p2是第二个分区。
以一种体面的方式关闭Raspberry Pi(键入命令“ shutdown”,可能以root身份)。
将SD卡放入另一台Linux机器中。通常,上述目录应自动挂载在/ media /上,并且其中应有2个子目录(一个用于SD卡的分区1,一个用于SD卡的分区2)
您已经创建了一个临时目录目录复制SD卡的内容。说:
~/tmp
您现在位于
~/tmp
现在,您可以通过发出以下rsync命令来复制原始原始SD卡中第一个分区的内容:
rsync -avn /media/<user>/<partition1> .
不要在最后放置
/
!上面的命令将“空运行”,这意味着它将向您显示最终将执行的操作,但不会真正执行它。要真正执行(在您确认试运行),您可以从上述命令中删除
n
(因此,rsync -av /media/<user>/<partition1> .
)。对另一个分区使用相同的命令。
现在,您应该在Linux机器上拥有原始SD卡的确切副本。
删除原始SD卡,将另一张格式正确的SD卡放入Linux机器,然后执行以下rsync命令:
rsync -avn <partition1> /media/<user>
这又是一次空运行,应该向您显示
<partition1>
中/media/<user>
的内容将被复制到SD卡中。 确认一切正常后,您可以再次从
n
命令中删除rsync
。对第二个分区执行相同的操作。
这应该为您提供了一个完全相同的副本。将原始SD卡插入另一张SD卡。
注意:我在Lubuntu机器上检查了所有这些文件。目录和名称在其他Linux发行版上可能会有所不同。
还请注意,
< >
之间的项目是占位符,您必须自己查看它们与环境的匹配方式。评论
完善。谢谢! “ dd”副本的功能是否与您描述的相同,或者rsync更好地按照我想要的方式进行完整的系统副本吗?
– naboovalley
14年4月13日在16:38
我对dd命令没有太多经验,所以我不能告诉你,对不起...
– GeertVc
2014年4月17日下午6:13
我不会完全说出“-正确格式化-SD卡”。我们是否必须使用适当大小的fat32和ext4分区预先格式化SD卡?谢谢
–罗曼·文森特
18年5月20日在17:43
#2 楼
是的,您可以在Windows上使用dd
或Win32 Disk Imager将一张卡上的确切图像拍摄到另一张卡上。但是,目的卡必须大小相同或更大才能使其实用。您也可以将源文件系统上的所有文件复制到目标文件系统。也就是说,将目标卡插入USB读卡器,并将其粘贴在源Raspberry Pi中。然后使用SSH并发出适当的复制命令。
还要记住一件事,即您是否购买了用于MPEG-2或VC-1的硬件解码的许可证密钥。这些与您的硬件绑定在一起,因此您需要确保在副本上编辑/boot/config.txt。
评论
那么SD卡可以保存所有系统特定的文件和已安装的库吗?将SD卡的克隆副本插入R-Pi#2时,我不需要运行任何安装命令吗?
– naboovalley
2014年4月10日上午9:56
这也可能会导致SSH密钥和IP地址出现问题。
–史蒂夫·罗比拉德(Steve Robillard)
2014年4月10日上午9:57
那么在R-Pi#2上,它可能认为ip地址与R-Pi#1相同?我猜我可以刷新一下以获得新的网络ip?
– naboovalley
2014年4月10日在9:58
如果使用DHCP,则RPi将在启动时自动接收新IP,但是如果您打算在同一子网中使用两者,则应更改主机名。如果使用固定IP,则应同时更改IP和主机名
–罗伯托
2014-4-10 11:08
如果我查看我的文件系统(“ df”),我有一个叫做“ rootfs”的2.1GB和/ dev / root 2.1GB的东西-我的/ dev / mmcblk0 SD卡仅需要10M。因此,当我复制“ mmcblk0”时,将包括整个系统吗?多谢你们
– naboovalley
2014年4月10日在11:17
#3 楼
您可以按照@ me--的建议使用dd复制,但这并不是克隆系统时要做的全部。还有一些唯一的系统标识符也应更改。应重设密码,以便使用新的salt。这使人们无法知道您两次使用了相同的密码。以用户(通常是pi)和root用户身份运行
passwd
命令。如果使用SSH,则应重新生成SSH密钥。例如,这很重要,以确保如果有人偷了一个Raspberry Pi,他们就不能解密与另一个人的通信。只需运行以下命令:
sudo rm /etc/ssh/ssh_host_*
最后,最重要的是,您需要更改主机名。如果是默认设置,则为raspberrypi。如果您像我一样,我将使用Raspberry Pi的主机名,因此请执行
ssh raspberrypi
。在网络上有两个“ raspberrypis”会使其停止工作,因此,例如,第二个应重命名为rasberrypi2。您可以使用sudo raspi-config
进行更改,选择Advanced Options
,然后选择Hostname
。评论
raspi-config对Raspbmc不可用。也许应该介绍手动设置主机名的方法?
– Peter Mortensen
2015年1月4日,0:59
例如,如对“当我搜索网络时,所有主机名都是raspberrypi?”的回答中所述。
– Peter Mortensen
2015年1月4日,下午1:26
作为参考,raspberrypi.stackexchange.com / questions / 3926 /…涵盖了在Raspbmc下更改主机名。
–弗雷德
15年1月25日在10:31
#4 楼
至少作为我在NOOBS启动SD上获得的操作系统的版本,内置了一个用于备份或将系统移至另一个RPi3的micro SD克隆附件:转到附件;
点击“复制SD”;
将空白的micro SD放入USB固定器中;
在开放的USB插槽中放置占位器;
选择新的SD;
点击复制。
评论
这应该是正确的答案。太简单。
–乔丹
18年8月15日在23:00
#5 楼
您可以使用树莓派和通过USB连接的新座右铭SD卡来完成此操作。最新版本的Raspberry Pi软件在其附件下具有一个称为SD cardcopier的内置软件。您选择原始卡(从中进行引导的卡)作为源,并选择新格式的空卡(通过读卡器连接到pi上的usb)作为目标。非常简单的用户界面,它对我来说第一次有用。在Mac上使用dd的命令行选项以某种方式最终导致内核崩溃问题。
#6 楼
rsync
是一个非常安全可靠的工具,用于复制诸如根文件系统之类的东西(由于存在于根文件系统中的链接)。该工具将考虑所有必要的内容,例如时间戳,链接,权限...。非常适合复制您想要的内容。评论
但是我仍然只复制sd卡内容以复制完整的系统-还是需要包含其他内容?谢谢
– naboovalley
2014年4月11日,7:35
请参阅我在下面发布的新回复。
– GeertVc
14年4月13日在8:52
评论
令我惊讶的是,到目前为止还没有提到piclone。对我来说,这是在rpi上克隆sd卡的最直接的方法,而nvere却遇到了问题。我过去已经回答了这个问题,因此,这里有更多答案的链接:raspberrypi.stackexchange.com/questions/66824/…希望对您有所帮助。我在任何地方都找不到piclone下载
您无需下载它,因为它已经存在。只需在终端中键入piclone,它将启动GUI。