如何将PPA用户从一种PPA转换为另一种PPA?


8

我需要将现有用户从一个PPA过渡到不同的PPA,因此这是一个如何在不对用户造成尽可能小的影响的情况下自动进行过渡的问题。

更确切地说:

我有适用于PHP 5.5PHP 5.6的 PPA,这些PPA 使用的是Xenial之前使用的旧式PHP封装,并且它们有很多用户。

现在,我制作了一个新的PPA,其中包括PHP 5.5,PHP 5.6和PHP 7.0,我希望旧PPA的用户可以切换到该新PPA。我对如何执行此一般操作有一些想法,但是我想从AskUbuntu社区获得更多意见。

请通过评论发表您的想法,直接编辑下面的答案或添加您自己的建议。


好的答案……
simhumileco

Answers:


3

选项3-自动添加新的PPA

就像2一样,但是php5-common会自动添加新的PPA,因此新的软件包将在下一次apt-get update运行后可用。可选地,可能存在一个Debconf问题,即用户是否要自动添加PPA,或者他们将自己添加。

  • 优点:
    1. 一个单一的存储库来处理
    2. 没有自动过渡
    3. 用户可以准备过渡计划
    4. 软件包已准备就绪,可以立即安装
    5. 从同一个命名空间添加PPA可能会正常工作
  • 缺点:
    1. 无论您如何努力,有些用户都会错过该公告
    2. 自动添加额外的PPA似乎存在安全风险
    3. 从不同的命名空间添加额外的PPA需要插入额外的GPG密钥/etc/apt/trusted.gpg.d/,这似乎也存在安全风险

php-ppa旧的ppa:ondrej/php5和中都有软件包ppa:ondrej/php5-5.6,因此您可以尝试一下。
oerdnj'6

我看不到添加PPA的安全风险(他们要么信任您,并且一切都很好,要么他们不信任,然后就不应该使用您的软件包)?
2016年

@JanC感谢您的反馈。如果这些软件包在没有先询问的情况下添加其他PPA,仍然会让我感到不安,但是我已经为此执行了一个debconf问题,因此我认为应该没问题。
oerdnj

是的,当然,事前和/或何时警告用户,以及将其记录在CHANGES文件等中是一个好主意。
2016年

顺便说一句:也许在某些时候,您还希望在旧的PPA中使用增量的已构建版本号进行常规的无更改重建,以便那些忽略PPA更改的人会收到debconf的定期提醒…:)
JanC '16

2

选项2-制定弃用计划并突出告知用户

  • 优点:
    1. 一个单一的存储库来处理
    2. 没有自动过渡
    3. 用户可以准备过渡计划
  • 缺点:
    1. 无论您如何努力,有些用户都会错过该公告
    2. 会有人怎么说:“请不要那样做”
    3. 没有自动过渡

1

选项1-不执行任何操作

  • 优点:
    1. 用户很开心
  • 缺点:
    1. 每个重复的源程序包都必须具有两个版本的构建脚本
    2. PPA维护者超载且不满意

1

选项4-全自动过渡

这类似于选项3,但添加了虚拟包,这些虚拟包将替换旧包php5*并拉出新包php5.6*

  • 优点(包括选项3的优点):
    1. 如果一切都按预期进行,则可能是最好的选择,因为用户将拥有新软件包而无需任何工作
  • 缺点(包括选项3的缺点):
    1. 该开关将删除人们对旧配置文件所做的更改,否则过渡将需要一些复杂的维护者脚本以将旧配置改组到新位置
    2. 虚拟软件包将至少需要进行一些配置才能设置FPM套接字和旧名称,以免破坏与旧设置的兼容性(使用update-Alternatives进行设置/usr/bin/php5以指向/usr/bin/php5.6
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.