我不确定所有“如何备份SD卡”主题是否都是我所要的...但是这里我们开始:)
有没有办法我可以100%克隆我的Raspberry Pi并将其部署到另一个Raspberry Pi?因此,我有两个完全相同的副本...还是通过使用内置的dd命令克隆SD卡来完成?
我问的原因是我已经用Apache,PHP和其他一些库完全配置了Raspberry Pi ,现在我只想要它的另一个克隆,它们具有完全相同的配置,等等。
这可能吗?还是我回答了自己的问题?
我不确定所有“如何备份SD卡”主题是否都是我所要的...但是这里我们开始:)
有没有办法我可以100%克隆我的Raspberry Pi并将其部署到另一个Raspberry Pi?因此,我有两个完全相同的副本...还是通过使用内置的dd命令克隆SD卡来完成?
我问的原因是我已经用Apache,PHP和其他一些库完全配置了Raspberry Pi ,现在我只想要它的另一个克隆,它们具有完全相同的配置,等等。
这可能吗?还是我回答了自己的问题?
Answers:
@naboovalley:
假设以下情况:
~/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>
in 的内容/media/<user>
将被复制到SD卡。
确认一切正常后,您可以再次n
从rsync
命令中删除。
对第二个分区执行相同的操作。
这样可以为您提供原始SD卡到另一张SD卡的精确副本。
注意:我在Lubuntu机器上检查了所有这些。目录和名称在其他Linux发行版上可能有所不同。
还请注意,之间< >
的项目是占位符,您必须亲自查看它们与环境的匹配情况。
dd
命令没有太多的经验,所以我不能告诉你,对不起...
是的,您可以在Windows上使用dd
或Win32 Disk Imager将一张卡上的确切图像拍摄到另一张卡上。但是,目标卡的大小必须相同或更大才能使其实用。
您也可以只将源文件系统上的所有文件复制到目标文件系统。也就是说,将目标卡插入USB读卡器,并将其粘贴在源Raspberry Pi中。然后SSH输入并发出适当的复制命令。
同样要记住的一件事是,如果您购买了用于MPEG-2或VC-1的硬件解码的许可证密钥。这些与您的硬件相关,因此您需要确保编辑副本上的/boot/config.txt。
您可以按照@ me--的建议使用dd复制,但这并不是克隆系统时要做的全部。有些特定的系统标识符也应更改。
应该重设密码,以便使用新的盐。这使人们无法知道您两次使用了相同的密码。以passwd
用户(通常是pi)和root 用户身份运行命令。
如果使用SSH,则应重新生成SSH密钥。例如,这很重要,以确保如果有人偷了一个Raspberry Pi,则他们不能解密与另一人的通信。只需运行以下命令:
sudo rm /etc/ssh/ssh_host_*
最后也是最重要的是,您需要更改主机名。如果默认情况下为raspberrypi。如果您像我一样,我会使用Raspberry Pi的主机名,所以我这样做ssh raspberrypi
。在网络上有两个“ raspberrypis”会使其停止工作,因此,例如,第二个应重命名为rasberrypi2。您可以通过sudo raspi-config
选择Advanced Options
,然后选择进行更改Hostname
。
一个非常安全可靠的工具,用于复制诸如根文件系统之类的东西(由于存在于根文件系统中的链接)rsync
。该工具将考虑所有必要的内容,例如时间戳,链接,权限等。非常适合复制您想要的内容。