Makefile 试图覆盖`/var/backups/infodir.bak';,也在x包中

Makefile 试图覆盖`/var/backups/infodir.bak';,也在x包中,makefile,debian,configure,checkinstall,Makefile,Debian,Configure,Checkinstall,编译软件时,我总是/配置和&生成和&检查安装-D生成安装以生成软件 现在我在使用checkinstall时遇到了一个问题,即我得到了错误 正在尝试覆盖`/var/backups/infodir.bak',它也在 文件包libtasn1-3.2” 我还创建了libtasn1-3.2,使用/configure和make&检查安装-D make安装 我试图删除文件/var/backups/infodir.bak,但仍然出现错误。 有人知道我如何解决这个问题吗 Building Debian packa

编译软件时,我总是
/配置
和&
生成
和&
检查安装-D生成安装
以生成软件

现在我在使用checkinstall时遇到了一个问题,即我得到了错误

正在尝试覆盖`/var/backups/infodir.bak',它也在 文件包libtasn1-3.2”

我还创建了libtasn1-3.2,使用
/configure
make
&
检查安装-D make安装

我试图删除文件/var/backups/infodir.bak,但仍然出现错误。 有人知道我如何解决这个问题吗

Building Debian package...OK 
Installing Debian package... FAILED! 
Failed to install the package

Do you want to see the log file?  [y]: y (Reading database ... dpkg:
serious warning: files list file for package `squeezecenter-readynas'
missing, assuming package has no files currently installed. 30739
files and directories currently installed.) Unpacking libgcrypt-1.5.1
(from .../libgcrypt-1.5.1_1.5.1-1_sparc.deb) ... dpkg: error
processing
/c/backup/zarafa/libgcrypt-1.5.1/libgcrypt-1.5.1_1.5.1-1_sparc.deb
(--install):  trying to overwrite `/var/backups/infodir.bak', which is
also in package libtasn1-3.2 dpkg-deb: subprocess paste killed by
signal (Broken pipe) Errors were encountered while processing: 
/c/backup/zarafa/libgcrypt-1.5.1/libgcrypt-1.5.1_1.5.1-1_sparc.deb
在debian中,禁止两个软件包安装同一个文件

因此,每当您尝试安装一个包含文件“/path/to/foo”的包,而另一个已经安装的包包含文件“/path/to/foo”时,就会出现冲突,从而出现错误

维护人员的一部分工作是确保此类事件不会发生

  • 或者通过设置两个包之间的显式冲突(因此您甚至不能同时标记两个包进行安装)

  • 或者在一个包(或两个包)中重命名文件并相应地调整软件

  • 或者通过阻止一个(或两个)软件包安装此类文件(例如,在实际不需要安装文件的情况下)

维护debian软件包通常需要大量的工作

现在,工具
checkinstall
是一个“穷人”的包维护工具,因为它使从“makeinstall”创建包变得非常容易。 由于它是一种自动化工具,它无法取代维护人员的工作和复杂性。(否则我们将不再需要任何debian维护人员;只需将源代码包上载到某个构建服务器并在其上运行“checkinstall”)

因此,出现问题的原因是,您安装的软件包维护不当(或者更确切地说,是自动创建的,因此根本没有维护)。 删除有问题的文件不起作用的原因是,包管理不仅仅是下载并提取归档文件。除此之外,它还维护数据库中已安装文件的列表,该列表表示您已经安装了
/var/backups/infodir.bak
(无论文件是否实际位于硬盘上)。。。导致你看到的冲突

因此,解决问题的办法是,在维护上投入更多的时间

在任何情况下,您都应该调查为什么这两个“包”都需要
/var/backups/infodir.bak
(以及它们是否需要它)

您可以通过以下方式从
checkinstall
中省略某些文件

 checkinstall --exclude /var/backups/infodir.bak -D make install
我不能说这是否会破坏你们的包裹