如何在不合并我的系统的情况下更换我的主目录?

时间:2017-04-18 10:16:38

标签: linux backup

在设置我的Raspberry Pi之后,我制作了一个图像,以便更容易恢复到较旧的软件状态。最近我想这样做,所以我保存了我的/ home / pi文件夹的内容,格式化了SD卡并将图像写到了它上面。

到目前为止一切正常。然后我尝试简单地删除完整的/ home / pi文件夹,并将其替换为我之前保存的旧图像文件夹。现在好像所有文件都存在。但它没有正确启动。

在某些时候它只是停止启动。然后我可以像终端一样使用它,但桌面没有启动。

那么,如何以正确的方式替换我的主目录,以免对系统造成任何损害?

修改 我只是想再次这样做。

  1. sudo cp -a /home/pi/fileserver/backup /home/backup (我在文件服务器中安装了一个网络驱动器。由于网络在Windows上,我假设所有权限都已经消失了)
  2. cp -a /home/pi/. /home/original
  3. sudo umount /home/pi/fileserver
  4. rm -r /home/pi/
  5. mv /home/backup /home/pi
  6. sudo chmod -R 755 /home/pi(到目前为止一切仍然有效)
  7. sudo reboot
  8. 重新启动后,它不再正确启动。当我等待足够长时间时,我会看到X Server的错误。

1 个答案:

答案 0 :(得分:1)

归档数据的方法非常令人怀疑。首先,正如您所提到的,Windows将删除权限位。之后运行chmod -R 755会产生非常糟糕的后果,因为某些程序为了工作需要在某些文件上使用非常特定的访问位(例如ssh键)。更不用说让一切可执行都不利于安全。

考虑到您的情况,您也可以 a)将所有内容备份到Tar或Zip档案中 - 这样权限就完好无损 b)制作虚拟磁盘文件,该文件将存储在共享的Windows驱动器上并挂载到/ home / pi

如何执行方案A:

cd /home/pi
tar cvpzf backup.tar.gz .

将backup.tar.gz复制到共享驱动器

解压缩:

cd /home/pi
tar xpvzf backup.tar.gz

优点:

  • 单行备份
  • 占用少量空间

缺点:

  • 包装/拆包需要时间

如何执行方案B:

1)创建一个新文件来保存虚拟驱动器卷:

cd /mnt/YourNetworkDriveMountPoint
fallocate -l 500M HomePi.img
dd if=/dev/zero of=HomePi.img bs=1M count=500
mkfs -t ext3 HomePi.img

2)将它安装到家庭目录

mount -t auto -o loop HomePi.img /home/pi/

500表示磁盘大小为500兆字节 这样你的整个pi将被保存为Windows共享驱动器上的文件,但所有内容都将在ext3中,因此所有权限都将被保留。 我建议您保留Pi设备本身的当前版本映像文件和共享驱动器上的旧版本。如果需要切换,只需复制文件,否则如果所有图像都在共享驱动器上,则读/写性能将100%取决于网络速度。

然后,您可以轻松制作此文件的副本,并通过卸载现有图像并安装新文件立即进行交换

优点:

  • 备份版本之间的轻松交换
  • 完全透明的流程

缺点:

  • 如果当前图像文件位于共享驱动器上,性能将会降低
  • 它会占用更多空间,因为所有500兆都将被预先分配。
  • Pi用户必须在图像交换期间因显而易见的原因而被注销

现在,对于未显示Desktop的问题,您需要检查/var/log/Xorg.0.log以获取详细消息。可能这是由混乱的权限引起的。我会尝试重命名/删除位于/home/Pi/.config/中的当前Xorg设置和缓存(取决于您使用的内容 - XFCE,Gnome等)并让X服务器重新创建它们。但是,在执行此操作之前,请检查Xorg.0.log以获取确切的消息 - 可能还有另一个错误。如果您需要任何进一步的帮助,请对此答案发表评论