1

我使用 dpkg-deb 工具构建了 2 个 debian 软件包(abc.deb 和 xyz.deb)。它们的目录结构是: pkg1: /opt/pqr/xyz pkg2: /opt/pqr/abc

两者共享一个依赖 pkg (oss.deb),它也安装在 /opt/pqr 下:/opt/pqr/oss

目的是将我所有的包都放在 /opt/pqr 下

我面临的问题是: Step1: install oss.deb 这导致:​​/opt/pqr/oss

步骤2:使用 dpkg -i abc.deb 安装 abc.deb 这将导致:

/opt/pqr/abc/
/opt/pqr/oss/

第三步:安装 xyz.deb 这一步是替换/删除 abc.deb 并安装 xyz 导致:

/opt/pqr/xyz
/opt/pqr/oss

我在第 3 步结束时的期望:

/opt/pqr/abc
/opt/pqr/oss
/opt/pqr/xyz

我认为由于 /opt/pqr 路径是在安装过程中使用这两个软件包创建的,因此 dpkg 也在尝试删除它们。有没有办法解决这个问题,我只能在 dpkg -r abc.deb 期间删除 /opt/pqr/abc 并在 dpkg -r xyz.deb 期间同样只删除 /opt/pqr/xyz ?

4

1 回答 1

1

我得到了这个问题。我在创建问题的 abc.deb 和 xyz.deb DEBIAN/control 文件中的包名称相同。修复包名称解决了这个问题。

于 2021-08-06T08:23:42.790 回答