DAR(Disk Archive)是一款强大且功能丰富的归档与备份软件。它主要由两部分组成:一个称为libdar的库以及一个使用libdar所有特性的命令行程序dar。libdar不仅提供了C++和Python的API接口,还有越来越多的工具作为独立的项目依赖于它。虽然libdar提供了许多功能,但很难简单列举,因为这些功能极其丰富,用户可能不会同时使用到所有功能。

maxresdefault-266

DAR的核心在于其持续增长的功能集,它通过一套系统化的特性组合进行测试,确保每一个版本的稳定性。每当进行主要版本更新(版本号的第三位为零,如2.7.0)时,软件会经过数周的测试期,随后进入预发布阶段,在这阶段中,软件会提供给DAR的忠实用户群体进行测试,以保证软件能在不同的生产环境中稳定运行。在维护版本更新(如2.7.1, 2.7.2等)中,软件仅接受错误修复,不添加新功能,同样经过严格的测试程序验证。

DAR和libdar的可移植性是其另一个亮点。它们在多种操作系统中都经过测试或报告可正常运行,包括Linux(所有发行版)、Windows、MacOS X、Android、FreeBSD、Solaris、NetBSD、Raspberry Pi(arm64)。从2022年起,DAR/libdar已经累积了20年的新特性,发布了11个主要版本和104个主要及维护版本,其C++源代码超过430万个字符,Python绑定约95000个字符,全部基于GNU通用公共许可证(GPL)自由发布。

在迁移到 dar/libdar 之前,您可以考虑基准测试,看看它的优点和缺点,以及它与其他软件(例如 tar 和 rsync)的比较。

如果持续集成/持续部署具有一些优势,那么在发布灾难时您必须依赖的软件时,它可能不太适合。出于这个原因,dar 和 libdar 在经过一个漫长的验证阶段后一起发布:

  • 对于主要版本(第三个数字是零,如 2.7.0),需要进行数周的测试,测试程序在 dar/libdar 上运行系统功能组合。然后是预发布阶段,在这个阶段,软件可供支持 dar 的忠实用户使用,以便使用生产数据(与实际生产系统并行)以及非生产数据在非常多样化的环境中验证未来的发布行为。
  • 维护版本(如 2.7.1、2.7.2 等)仅接收更改最少的错误修复,没有添加任何新功能。维护版本也使用相同的测试程序进行验证,如上所述的主要版本。
  • 最后,临时版本或“候选版本”(如 2.7.1.RC1)暂时可供那些迫不及待地等待下一个维护版本的人使用。

从数字上看,dar/libdar 是或即将是:

  • 20 年推出 2022 年新功能
  • 已经有 11 个主要版本
  • 104 个主要版本和维护版本
  • 大约 188 个记录在案的 C++ 类
  • 超过 4,300,000 个字符的 C++ 源代码
  • 大约 95,000 个字符的 Python 绑定
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。