【问题标题】:What method(s) do you use to test a debian/ubuntu package?您使用什么方法来测试 debian/ubuntu 软件包?
【发布时间】:2008-11-30 22:00:28
【问题描述】:

我说的是测试您正在构建的包,尤其是生成守护进程和/或使用 init.d 的包。

您是否登录某种 chroot?您是否创建了虚拟化发行版并将其拆除?如何在下次运行测试时测试您的运行时依赖项和测试套件而不会弄脏您的开发机器?

【问题讨论】:

    标签: testing ubuntu debian packaging chroot


    【解决方案1】:

    在测试后重置为“干净”状态的虚拟机是最简单的。 VMWare 和 Parallels 的“快照”功能非常适合这个..

    您将安装 Debian 或 Ubuntu,然后拍摄快照(VMwareParallels 的操作方法)。 然后你会安装你的包并测试安装、使用和删除它。

    完成后,恢复到您拍摄的快照很简单(比完全重新安装要快得多)

    【讨论】:

    • 不会重置为快照也会恢复您对代码库所做的任何更改吗?
    • 好吧,你只会在虚拟机上测试,你会在你的主机(或者另一个虚拟机,我想)上编写代码并构建 .deb
    【解决方案2】:

    chroots 通常用于包测试。

    【讨论】:

    • 但是 chroot 不会被 init.d 脚本之类的东西搞砸吗? pbuilder 肯定很难用。
    【解决方案3】:

    我个人在开发包时使用自己的机器。如果您要为较旧的发行版打包,这是不可能的,但如果您的打包代码有很多流失,它比使用任何其他解决方案要快得多。

    要测试包构建,您需要使用基于 chroot 的工具,例如 pbuilder、cowbuilder 或 sbuild。这可以确保包将正确依赖于目标分发来构建。

    您可以在 chroot 中测试一些软件,但是诸如网络守护程序之类的东西会与主机上运行的其他守护程序发生冲突。

    如果您的软件包集比较复杂,您可以使用的最佳测试环境是支持快照的 VM 软件。您需要使用您的目标发行版创建一个虚拟化环境并在其上安装软件包。使用快照,您可以将操作环境重置为安装后的状态。

    您只能使用一个快照,但 VirtualBox 支持多个快照,这为复杂测试提供了额外的灵活性。

    【讨论】:

      猜你喜欢
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 2016-04-15
      • 2010-11-23
      • 1970-01-01
      • 2017-12-30
      相关资源
      最近更新 更多