我正在设置大量的Ubuntu 12.04设备。我有一个编写的自定义.deb,它将安装在每个设备上。作为该.deb的一部分,我需要覆盖多个系统文件,例如:
/etc/update-manager/release-upgrades
/etc/apt/apt.conf.d/10periodic
/etc/apt/apt.conf.d/50unattended-upgrades
但是,当然,Ubuntu抱怨这些文件归其他软件包所有。当我尝试运行时,dpkg -i testing.deb
出现以下错误:
dpkg: error processing testing.deb (--install):
trying to overwrite '/etc/update-manager/release-upgrades', which is also in package update-manager-core 1:0.156.14
trying to overwrite '/etc/apt/apt.conf.d/50unattended-upgrades', which is also in package unattended-upgrades 0.76
我知道--force-overwrite之类的dpkg选项,可以用来强制安装它,但是我希望在没有其他命令行选项的情况下,保持.deb文件的安装非常容易,我不禁会觉得Debian框架中可能还有另一种解决方案。
什么是正确的方法来修复它,以便我的.deb可以与这些更新的/较新的文件一起安装?
转移其他软件包的文件,作为preinst的一部分。这正是dpkg-divert
目的。不要忘记删除您的后备箱中的转移。有关示例,请参见手册页和Debian Wiki。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句