小编spi*_*epf的帖子

如何指定 deb 包应替换为不同名称的包?

我正在创建一个 Debian 软件包foo,它需要替换bar安装它的系统上的现有软件包。

我读了:

https://www.debian.org/doc/debian-policy/ch-relationships.html

并得出结论, 中的正确子句DEBIAN/control应该如下所示:

Provides: foo
Conflicts: bar
Replaces: bar
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试foo在已bar安装的系统上安装该软件包时,系统会因为foobar.

如果我删除该Conflicts: bar条目,则dpkg允许并排安装两个软件包,这是一个问题,因为foo必须替换bar.

control实现此目的的正确文件条款是什么?

我试过Breaks而不是Conflicts

dpkg: regarding foo_DEV-22._i386.deb containing foo:
 foo breaks bar
  bar (version 3.2.2.1-x86NX4.4-x86) is present and installed.
  bar provides bar and is present and installed.
dpkg: error processing foo_DEV-22._i386.deb (--install):
 installing foo would break existing software
Errors …
Run Code Online (Sandbox Code Playgroud)

package-management debian configuration

5
推荐指数
1
解决办法
4062
查看次数

标签 统计

configuration ×1

debian ×1

package-management ×1