如何安装测试包?

如何安装测试包?

我在 Ubuntu 16.04 LTS 服务器上,需要修复https://launchpad.net/ubuntu/+source/vagrant在为 Yakkety 发布的版本中1.8.1+dfsg-2,但不适用于 Xenial。

那么如何1.8.1+dfsg-2为 Xenial 安装它以便在其发布后用官方软件包替换它?

更新:请注意,我不想要pin这个包。我希望它在稳定版本发布后更新到后续稳定版本。

答案1

如果您只是想要这一次更新的软件包,并且您还希望在为您当前的 Ubuntu 版本发布正确的版本后替换它,您可以:

  1. 安装构建工具和依赖项:

    sudo apt-get install build-essential devscripts
    sudo apt-get build-dep vagrant
    
  2. 下载包源并解压:

    dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc
    cd vagrant-1.8.1
    
  3. 添加带有精心制作的本地版本后缀的变更日志条目(anatoly用您想要的任何内容替换日志消息):

    debchange --local=~anatoly 'Backport to Xenial'
    

    这会将软件包版本升级为1.8.1+dfsg-2~anatoly1。波浪符号后缀具有以下属性:它实际上被视为低于 的版本1.8.1+dfsg-2

    $ dpkg --compare-versions 1.8.1+dfsg-2~anatoly1 '<' 1.8.1+dfsg-2; echo $?
    0
    

    1.8.1+dfsg-2这意味着一旦配置的存储库中有新版本(或更新版本)可用,包管理器就会建议“升级”本地包。

  4. 构建二进制包:

    debuild -b -j"`getconf _NPROCESSORS_ONLN`"
    
  5. 使用 安装构建的包sudo dpkg -i <DEBFILE>...

PS:我没有尝试自己构建包,因此您可能会遇到问题。例如,Yakkety 的源包可能依赖于 Xenial 中没有的包(版本)(目前可能性较小,因为它是相同的上游版本)。在这种情况下,我们可以寻找解决方法。

相关内容