我正在尝试将debian包分割成更小的包。
最初的包MyPackage-1.0.deb被拆分成几个较小的包(MyPackage-2.0.deb、MyPackage-config-2.0.deb)。
MyPackage-1.0.deb包含所有文件,在拆分过程中,我将所有文件从目录/etc移到包MyPackage-config-2.0.deb。
dpkg-buildpackage过程无错误。
当我尝试通过apt-get upgrade进行升级时,我会收到以下消息。
Unpacking MyPackage-config (from .../MyPackage-config-2.0.deb) ...
dpkg: error processing /var/cache/apt/archives/MyPackage-config-2.0.deb (--unpack):
trying to overwrite '/etc/MyPackage.conf', which is also in package MyPackage 1.0
dpkg-deb: subprocess paste killed by signal (Broken pipe)这个软件包没有安装统一,直到我用apt-get -o Dpkg::Options::="--force-overwrite" upgrade强迫它。
在文件debian/control中有:
Source: MyPackage
Section: metapackages
Priority: optional
Maintainer: Just Me <me@example.com>
Standards-Version: 3.9.3
Build-Depends: debhelper (>= 4)
Package: MyPackage
Architecture: i386
Conflicts: gnumeric
Pre-depends: MyPackage-config
Depends: libreoffice-common
Description: This package
Package: MyPackage-config
Essential: yes
Architecture: i386
Depends: openssh-server
Description: config files如何拆分包以防止错误?
发布于 2014-02-07 17:27:37
您可能希望将这些行添加到MyPackage-config中:
Breaks: MyPackage (<< 2.0)
Replaces: MyPackage (<< 2.0)这告诉dpkg不允许同时安装MyPackage 1.0和MyPackage 2.0 (显然,它们都希望拥有/etc/MyPackage.conf),而且MyPackage 2.0可以接管以前由MyPackage 1.0拥有的一些文件。
有关深度信息,请参见http://www.debian.org/doc/debian-policy/ch-relationships.html。
撇开关系不谈,在MyPackage上使用“必要的:是的”可能是个坏主意。
https://stackoverflow.com/questions/21598640
复制相似问题