已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
十小时前关门了。
Improve this question
我正在寻找一个很好的格式存档整个文件系统的旧Linux计算机。
tar.gz格式非常适合归档具有UNIX风格属性的文件,但由于压缩应用于整个归档,因此设计排除了随机访问。相反,如果您想在归档的末尾访问文件,则必须从开头开始并解压缩整个文件(可能有几百GB),直到找到要查找的条目。
ZIP
相反,ZIP格式的一个卖点是它存储了存档的索引:文件名是单独存储的,并带有指向存档中要查找数据的位置的指针。如果我想在最后提取文件,我会按名称查找该文件的位置,查找位置并提取数据。但是,它不存储文件属性,如所有权,权限,符号链接等。
其他选项?
我试过使用squashfs,但它并不是真正为此目的而设计的,不同版本的文件格式不一致,构建归档文件需要大量的时间和空间。
还有哪些其他选择可能更适合这一目的?
3条答案
按热度按时间bvhaajcl1#
您可以检查
duplicty
。它允许您进行压缩和加密备份,并允许随机访问文件。在这里,您可以找到有关这些项目的更多信息:http://duplicity.nongnu.org/new_format.html .如果你想使用它,你也可以检查脚本
duply
。是duplicty
的shell前端。更多信息:http://sourceforge.net/projects/ftplicity/r7xajy2e2#
zip(您可以使用http://www.info-zip.org/)存储文件属性-请参阅Wiki
每个条目由具有关于文件的信息(诸如注解、文件大小和文件名)的本地头引入,随后是可选的“额外”数据字段,然后是可能压缩的、可能加密的文件数据。“额外”数据字段是ZIP格式的可扩展性的关键。以及更高分辨率的NTFS或Unix文件时间戳。其他扩展名可以通过“Extra”字段来实现。规范要求ZIP工具忽略它们无法识别的Extra字段。
dffbzjpn3#
支持随机访问的文件级归档格式
DAR(Disk ARchive)是一种随机访问的归档格式,压缩是按文件进行的,它不是特定于文件系统的,但支持许多特定于fs的功能,如xattrs,稀疏文件等。我用它来代替tar。它是用C++编写的,非常可移植。缺点:文档很难导航,命令输出非常冗长。
http://dar.linux.free.fr/doc/presentation.html
http://dar.linux.free.fr/doc/Features.html
FS级归档格式
FSAchiver来自网站:
'FSAchiver是一个系统工具,允许您将文件系统的内容保存到压缩存档文件。文件系统可以在具有不同大小的分区上恢复,并且可以在不同的文件系统上恢复。与tar/dar不同,FSAchiver在将数据提取到分区时也会创建文件系统。为了保护数据,归档中的所有内容都进行了校验和。如果存档已损坏,您只会丢失当前文件,而不是整个存档。
https://www.fsarchiver.org/
FS专用工具一些文件系统自带了转储数据的实用程序,例如
xfs
文件系统的xfsdump
。磁盘克隆软件
FileZilla是一款磁盘克隆软件,但它克隆文件系统的方式非常聪明,在可能的情况下,它会选择特定于fs的dump,而不是块级副本。您可以使用CloneZilla克隆磁盘并将其还原到较小的磁盘,或者只还原磁盘备份中的特定文件系统。
备份被安排在一个目录结构中,其中包含来自几个不同备份工具的输出和一些协调元数据。使用单独的实用程序可以轻松操作它。
https://filezilla-project.org/
什么时候不使用这些工具
备份整个旧系统是上述工具的一个很好的用途,但是如果你使用的是现代的linux系统,大多数软件都来自于repo,那么通过重新安装或使用配置管理来重新生成系统级数据是很容易的。
就我个人而言,我已经改变了我的方法,只备份可以轻松重新安装的系统的用户和配置数据。
在我管理的Linux计算机上,我在btrfs上使用snapper设置~/Projects的每小时快照,并使用borgbackup对www.example.com进行长期备份rsync.net。系统设置脚本在Ansible(或其他IaC工具)中,dotfiles存储在稀疏的git repo中。
由于这种方法,现在在云存储服务中存储备份更加经济。