如何将 PPA 用户从一个 PPA 转换到另一个 PPA?

如何将 PPA 用户从一个 PPA 转换到另一个 PPA?

我需要将现有用户从一个或多个 PPA 转换到不同的 PPA,因此问题是如何以尽可能小的影响用户的方式实现转换自动化。

更确切地说:

我有以下 PPA:PHP 5.5PHP 5.6它使用 Xenial 之前使用的旧式 PHP 打包,并且拥有相当多的用户。

现在我制作了一个新的 PPA,其中包括PHP 5.5、PHP 5.6 和 PHP 7.0我希望旧 PPA 的用户能够切换到这个新 PPA。我有一些关于如何实现这一目标的想法,但我希望从 Ask Ubuntu 社区获得更多意见。

请通过评论、直接编辑以下答案来贡献您的想法或添加您自己的建议。

答案1

选项 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/,这似乎也存在安全风险

答案2

选项 2——制定弃用计划并明确告知用户

  • 优点:
    1. 只需一个存储库即可处理
    2. 无自动转换
    3. 用户可以准备过渡计划
  • 缺点:
    1. 无论你如何努力,有些用户还是会错过公告
    2. 有人会说:“请不要这样做”
    3. 无自动转换

答案3

选项 1——不采取任何行动

  • 优点:
    1. 用户很高兴
  • 缺点:
    1. 每个重复的源包都必须有两个版本的构建脚本
    2. 负担过重且不快乐的 PPA 维护者

答案4

选项 4——全自动过渡

这类似于选项 3,但添加了虚拟包来替换旧包php5*并提取新包php5.6*

  • 优点(包括选项 3 的优点):
    1. 如果一切按预期进行,这可能是最好的选择,因为用户无需做任何工作即可获得新的软件包
  • 缺点(包括选项 3 的缺点):
    1. 切换将删除人们对旧配置文件所做的更改,或者转换将需要一些复杂的维护脚本来将旧配置移动到新位置
    2. 虚拟包将需要至少携带一些配置来设置 FPM 套接字和旧名称,以免破坏与旧设置的兼容性(使用 update-alternatives 来设置/usr/bin/php5指向/usr/bin/php5.6

相关内容