首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试图覆盖‘/var/backups/infodir.bak’,这也在包x中

试图覆盖‘/var/backups/infodir.bak’,这也在包x中
EN

Stack Overflow用户
提问于 2013-03-21 11:20:15
回答 1查看 978关注 0票数 3

在编译软件时,我总是使用. ./configure & make && checkinstall -D make install来构建软件。

现在我遇到了问题,当我使用检查时,我得到了错误。

“试图覆盖‘/var/backups/infodir.bak’,这也在包libtasn1-3.2中”。

我还创建了libtasn1-3.2./configure & make && checkinstall -D make install

我试图删除文件/var/backups/infodir.bak,,但仍然得到了错误。有人知道我怎么能解决这个问题吗?

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-21 19:13:42

在debian中,禁止两个包安装相同的文件。

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

维护人员的工作之一就是确保这类事情不会发生,

  • 通过设置两个包之间的显式冲突(因此您甚至不能同时标记这两个包以进行安装)
  • 或将文件重命名为一个包(或两者都重命名),并相应地调整软件。
  • 或者阻止一个(或两个)包安装这样的文件(例如,如果安装的文件是不必要的)。

维护debian包通常是一项很大的工作。

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

因此,您遇到问题的原因,是因为您正在安装维护不善的软件包(或者更确切地说,是自动创建的,因此不是全部维护的)。删除违规文件不起作用的原因是,包管理不仅仅是下载和提取档案。除其他外,它在数据库中维护一个已安装文件列表,此列表表明您已经安装了/var/backups/infodir.bak (无论该文件是否实际位于硬盘上).导致你看到的冲突。

所以解决你的问题的方法是,在维护上投入更多的时间。

无论如何,您应该研究为什么这两个“包”都需要/var/backups/infodir.bak (以及它们是否需要它)。

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

代码语言:javascript
运行
复制
 checkinstall --exclude /var/backups/infodir.bak -D make install

这是否会破坏你的任何包裹,我不能说。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15546064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档