我有一个即将更新的软件包,但我知道一些用户会更喜欢使用旧的。这就是为什么我使用了更新替代方案程序包中的例行程序。问题还在于较新的软件包依赖于较新的软件包单元文件。
总结,
dpkg -L mypackage-1.0
/opt/mypackage-1.0/binary
dpkg -L mypackage-service-1.0
/opt/mypackage-1.0/mypackage.service
安装后将dpkg -i mypackage-1.0
提供单一替代方案我的包并dpkg -i myservice-service-1.0
我的服务服务
这些是相互依存的。
dpkg -L mypackage-2.0
/opt/mypackage-2.0/binary
dpkg -L mypackage-service-2.0
/opt/mypackage-2.0/mypackage.service
安装后将dpkg -i mypackage-2.0
提供一个新的替代方案 ( /lib/systemd/system/mypackage.service -> /etc/alternatives/mypackage.service
)我的包并dpkg -i myservice-service-2.0
mypackage-服务
背后的想法是允许使用update-alternatives --config mypackage
和轻松而明确地在版本之间进行切换update-alternatives --config mypackage-service
第一部分效果很好,但第二部分却出现了问题。它似乎就像我不能使用符号链接来单元文件一样(确切地说是update-alternatives --install
做什么)。
我用系统控制215在Debian 杰西。
我想整个事情可以从头开始以不同的方式安排。
答案1
在升级到解决问题的新版本之前,除了复制和移动文件之外,systemd
您还必须使用另一种机制来代替它们,因为当前版本的行为无法更改。update-alternatives
symlink
systemd