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