我正在从我的FreeBSD系统的前一个备份运行一个恢复,并且在恢复/时遇到了麻烦(不包括挂载点)。问题是,/rescue通过占用比原来更多的位置来填充/分区(在某种程度上我无法恢复整个/分区)。
我认为这是因为/rescue包含链接而不是文件,并且将文件而不是链接还原到我的/分区中。我尝试过用tar和rsync进行还原:
( cd /mybak/ ; tar --one-file-system -cvf - . ) | ( cd /newroot/ ; tar -xpf - . )和
/usr/local/bin/rsync -va --delete --one-file-system /mybak/ /newroot/这两种方法都导致了我的问题。如何正确地恢复(或最初备份) /分区(包括/rescue ),使恢复不会占用比原始分区更多的磁盘空间?
发布于 2012-12-01 14:03:51
正如您所推测的,这里的问题是/rescue不包含很多文件--它包含一个文件(inode),其中包含多个名称(硬链接)。因此,当备份或恢复/rescue时,您需要使用知道硬链接的软件。
对于rsync,这意味着-H标志。
对于tar来说,这不需要任何特殊的魔法: BSD (和GNU )足够聪明,能够知道什么是硬链接。对于其他备份程序,您需要检查文档。
如果使用常规Unix工具对系统进行备份(并获取整个文件系统),则最好使用dump和restore。除了能够使用UFS快照之外,更传统的实用程序还有其他优点。
https://serverfault.com/questions/454137
复制相似问题