我需要将我的 Linux 安装文件备份/复制到外部驱动器,以便我可以将它们恢复到新的更大的磁盘上。
用于恢复的目标磁盘是原来的两倍,并且会有更大的分区,ext4
并且linux-swap
. 对整个磁盘或其第一个分区进行映像并不是一个好的选择,因为两者都需要稍后重新分区,我想避免。
我正在备份到 exFAT 格式的驱动器,但是将 ext4 Linux 安装复制到 exFAT 存在一些问题
可能会破坏文件系统中的重要硬链接和快速*符号链接
ext4
(会破坏 Linux)不会保留文件所有权/权限和
setuid
位(会破坏 Linux)不会保留功能(会破坏 Linux)
也不会保留文件扩展属性(xattrs),因为我相信许多文件都有重要信息(我不关心 Unix ACL,因为我认为我没有任何文件使用它们)
如果我将文件直接复制到 NTFS、FAT32、exFAT 等,那么大部分元数据都会被破坏。
我不关心压缩,因为原始磁盘比我的备份驱动器小,但是(GNU)tar
似乎只保留权限/所有权(使用-p
和提取--same-owner
)、链接和 xattrs,但需要文件功能支持来备份现代 Linux .
其他主要选项似乎是 CloneZilla Live 系统,cpio
它似乎可以创建tar
档案。
所以主要的选择是
- CloneZilla 或仅对分区进行映像
tar
本身,这可能会破坏事物cpio
,这可能会受到tar
存档格式的限制?
* 83,000 个符号链接中有 80,000 个是快速符号链接,如果可能,我想保持它们的快速性
根据@cat 的评论,发布我的评论作为答案 -
您是否考虑过制作一个与旧安装大小相同的稀疏文件,将其格式化为 ext4 文件系统,并安装在环回上,然后复制到那个位置?将解决所有权限丢失等问题。exFAT 的文件大小限制是 16EiB,当然足够大了。
根据@cat 对我的评论,显然一个足够大的文件不会成为问题......