我有两个具有不同名称的 Debian 软件包:configA.deb、configB.deb。两者的控制文件中都有以下几行:
Provides: my-config
Replaces: my-config
Run Code Online (Sandbox Code Playgroud)
并且两者都提供相同的内容 - file: config
当我在已安装 configA.deb 的情况下尝试安装 configB.deb 时,出现以下错误:
dpkg: error processing archive configB.deb (--install):
trying to overwrite '/home/user/configs/config', which is also in package configA.deb
Run Code Online (Sandbox Code Playgroud)
我希望安装 configB.deb 而不先删除/清除 configA.deb 并且不使用 option --force-overwrite。是否可以?
Debian 软件包不能覆盖彼此的文件。使用类似的方法update-alternatives将文件符号链接到一个包或另一个包提供的文件,而不会破坏任何包安装文件的完整性。或者Conflicts:当您尝试安装软件包 B 时使用强制删除软件包 A,反之亦然。作为第三种可能的方法,我不推荐的一种巧妙的解决方法是使用postinst包受保护资源中正确的副本覆盖每个包中的此文件。
| 归档时间: |
|
| 查看次数: |
3637 次 |
| 最近记录: |